2024-02-09
831次浏览 发布时间:2023-12-16 18:34:10 编辑: 粤嵌教育
CSS预处理器的概念首次成为前端web开发工作流程的主流并改变了我们编写CSS的方式,这已经有一段时间了。如果说它在推动CSS所能达到的极限方面所产生的影响是革命性的,那将是一种严重的轻描淡写。
CSS预处理器是一种工具,用于通过自己的脚本语言扩展默认普通CSS的基本功能。它可以帮助我们使用复杂的逻辑语法,比如变量、函数、混合、代码嵌套和继承等等,使普通的CSS更加强大。通过使用CSS预处理器,您可以无缝地自动化日常任务,构建可重用的代码段,避免代码重复和膨胀,并编写组织良好且易于阅读的嵌套代码块。
在本文中,我们将进一步了解目前世界各地开发人员使用的3种最流行的CSS预处理器,即Sass、LESS和Stylus。
1. Sass–语法上非常棒的样式表
Sass是 “Syntactically Awesome Style Sheets”的首字母缩写。尽管Sass是用Ruby语言编写的,但预编译器LibSass允许用其他语言解析Sass,并将其与Ruby解耦。Sass有一个庞大的活跃社区和广泛的网络学习资源,可供初学者使用。由于其成熟性、稳定性和强大的逻辑能力,Sass已经在CSS预处理器领域领先于其竞争对手。
可以说,最流行的前端框架引导是用Sass编写的。在版本3之前,Bootstrap的编写语言较少,但Bootstrap4采用了Sass,提高了它的受欢迎程度。
2. LESS–更精简的样式表
LESS是 “Leaner Stylesheets”的首字母缩写。LESS是用JavaScript编写的,事实上,LESS是一个JavaScript库,它通过混合、变量、嵌套和规则设置循环扩展了原生普通CSS的功能。LESS的少数缺点之一是它不支持函数。与Sass不同,LESS使用@来声明变量,这可能会导致与@media和@keyframes混淆。然而,与其他预处理器相比,LESS的一个关键优势是易于将其添加到项目中。您可以通过使用NPM或合并LESS.js文件来实现这一点。
LESS的语法与SCSS非常相似,只是在声明变量时,LESS使用@而不是$sign。
在版本4发布之前,流行的Bootstrap框架是用LESS编写的。而且,另一个叫SEMANTIC UI的流行框架也是用LESS编写的。
3. Stylus
Stylus由Node.JS编写,与JS堆栈完美匹配。Stylus深受Sass的逻辑能力和LESS的简单性的影响。与Sass或LESS版本相比,Stylus的一个优点是它具有极其强大的内置功能,并且能够处理繁重的计算。
Stylus在编写语法方面提供了很大的灵活性,支持本机CSS,并且允许省略括号、冒号和分号。另外,请注意,Stylus不使用@或$符号来定义变量。相反,Stylus使用赋值运算符来指示变量声明。
每个CSS预处理器都以自己独特的方式完成给定的任务,使开发人员能够使用极其强大的工具以极快的速度编写干净的代码。虽然Sass拥有最大的用户群和活跃社区,但LESS最容易编译和集成。另一方面,Stylus仍然是Node.JS开发人员的流行选择,因为它结合了Sass的广泛逻辑能力和LESS的简单性。最后,CSS预处理器的选择在很大程度上取决于开发人员的偏好和项目需求。