前端面试第一天

7 阅读1分钟

1.如何让一个东西居中 display:flex 左右 justify-content: center 上下 align-items: center

2.如何隐藏一个物体 ①display:none(会引起重排) ②visibility:hidden(只会引起重绘) ③opacity(透明度):0(只是看不见,但用户能点击到)

3.如何给方形加圆弧 border-radius:100%(数值越大,角越圆)

4.重排和重绘的区别 重排一定会引起重绘,但重绘不一定引起重排. ①重排:增加或删除元素、改变盒子宽度高度边距、改变浏览器窗口的大小、display:none ②重绘:改变文字的颜色和背景色、visibility:hidde “既然重排很消耗性能,所以我们在开发前端项目时要尽量避免它。 比如: 如果要改变元素的样式,不要一行一行地改(会引发多次重排),而是提前写好一个 CSS 的 class 类名,一次性给元素加上去。 如果要做复杂的动画,尽量使用 transformopacity,因为现代浏览器对它们有‘特殊通道’(GPU 硬件加速),可以完美避开重排和重绘,让动画极其流畅!”

5.position有哪些状态 ①static ②relative(相对于原来自己的位置) ③absolute(相对于外层大盒子或者浏览器) ④fix(参照浏览器窗口) ⑤sticky(很灵活,可以用来做悬浮导航)

6.html元素分类 ①结构标签:div、header、footer、nav ②文本标签:h1~h6、p、span、a ③多媒体标签:img、video、audio ④表单标签:input、button ⑤列表元素:ul、ol、li ⑥表格元素:table、tr、td、th