【腾讯前端面试】纯css画图形

之前参加腾讯面试,第一轮是笔试,面试官发的试卷里有一题手写css画一个扇形、一个平行四边形......笔试时间还是比较充裕的,但是我对这题完全没有思路😭于是就空着了,最后也没过。

今天偶然翻到廖雪峰大佬的博客里提到了关于css画图形的内容:纯CSS气泡效果,瞬间唤起了我尘封的记忆,看了大佬的解法后,我觉得自己又行了👍于是准备接一下这两个还记得的题,在此记录一下。

一. 扇形

画了一个如图的扇形:

由两个元素组成,一个负责画扇形的圆边,一个负责画直线部分。

感觉直线和圆边的衔接处有一条缝,可以稍微调整一下元素尺寸:

二. 平行四边形

画了一个如图的平行四边形:

这个形状需要的线条就比较多了,大概分为下面6条:

我总共用了5个div,每个负责画1~2条线,然后用绝对定位确定每条线的位置,拼成一个完整的平行四边形。代码如下:

html 复制代码
<div style="position: relative;">
	<div style="height: 1px; width: 140px; border-color: #000 transparent transparent transparent; border-style: solid; border-width: 1px; transform: rotate(-45deg); position: absolute; top: 50px; left: -20px;">
</div>
	<div style="border-color: transparent transparent #000 transparent; border-width: 1px; height: 100px; width: 100px; position: absolute; border-style: solid;"></div>
	<div style="height: 1px; width: 140px; border-color: #000 transparent transparent transparent; border-style: solid; border-width: 1px; transform: rotate(-45deg); position: absolute; top: 50px; left: 141px;">
</div>
	<div style="border-color: #000 transparent; border-width: 1px; height: 100px; width: 60px; position: absolute; border-style: solid; left: 100px;"></div>
	<div style="border-color: #000 transparent transparent transparent; border-width: 1px; height: 100px; width: 100px; position: absolute; border-style: solid; left: 159px;"></div>
</div>

可以自己在浏览器里试一下,比如谷歌浏览器可以右键编辑html,替换成上面的代码:

当然这些图形也有其他更简单或者更复杂的形状,我只是选择了我比较喜欢的一种。

动手尝试后感觉还是比较简单的,以后如果再遇到css画简单图形的需求就可以自己做了。

不过在电脑上画可以随时看效果,手写的话,我可能也不能准确无误写出来完全正确的css,只能说写一下拆成几条线,每条线大概的样式设置,比交白卷强。以后面试后还是要把还记得的题多学习一下,也是一个进步的机会💪

相关推荐
wo_jack10 小时前
C++ 入门笔记(十六):第16课 vector 模拟实现十问十答 —— 从三指针到迭代器失效
c++·后端·面试·stl·vector
FRing0312 小时前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))
开发语言·前端·vue.js·vue2
聪明的笨猪猪12 小时前
AI应用架构选型:架构师的核心决策困境与权衡
经验分享·面试·架构
疯华整猫14 小时前
被杀掉之后:我把 Android 的「唤起 + 常驻」重做了一遍
前端·面试·架构
nice_lcj52015 小时前
Java 并发容器入门:ConcurrentHashMap、CopyOnWriteArrayList、阻塞队列
java·面试·并发编程·阻塞队列·concurrenthashmap·copyonwritearraylist
IT_陈寒16 小时前
Java开发实战:从入门到精通
前端·人工智能·后端
风骏时光牛马17 小时前
生成一个AI转岗经历标题,只需要一个标题,不需要其他的任何文本。
前端
Csvn1 天前
Monorepo
前端
Csvn1 天前
流水线
前端
Csvn1 天前
微前端架构
前端