前端面试题二十二

一、请问为何要使用 translate() 而非 absolute positioning,或反之的理由?为什么?

使用 transform 或 position 实现动画效果时是有很大差别。

使用 transform 时,可以让 GPU 参与运算,动画的 FPS 更高。

使用 position 时,最小的动画变化的单位是 1px,而使用 transform 参与时,可以做到更小(动画效果更加平滑)

功能都一样。但是translate不会引起浏览器的重绘和重排,这就相当nice了。

二、你在开发或生产环境中使用过哪些 CSS 框架?你觉得应该如何改善他们?

以前用过ligerui、easyui现在用的就是bootstrap了,这些虽然不是纯css框架,我确实没用过什么纯css框架,也基本没有去改善他们了。

三、请问你有尝试过 CSS Flexbox 或者 Grid 标准规格吗?

Flex对于常见的横纵布局很有用

四、使用 CSS 预处理器的优缺点有哪些?
缺点:简单来说CSS预处理器语言较CSS玩法变得更高级了,但同时降低了自己对最终代码的控制力。更致命的是提高了门槛,首先是上手门槛,其次是维护门槛,再来是团队整体水平和规范的门槛。这也造成了初学学习成本的昂贵。
优点:用一种专门的编程语言,为CSS增加了一些编程的特性,将CSS作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。通俗的说,CSS预处理器用一种专门的编程语言,进行Web页面样式设计,然后再编译成正常的CSS文件,以供项目使用。CSS预处理器为CSS增加一些编程的特性,无需考虑浏览器的兼容性问题,例如你可以在CSS中使用变量、简单的逻辑程序、函数等等在编程语言中的一些基本特性,可以让你的CSS更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。

作者:Arno_z
链接:https://www.jianshu.com/p/1c314dd0ba1f
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文地址:https://www.cnblogs.com/jian138/p/8525253.html