前端开发中三个常用的CSS预处理器

开发 前端
CSS预处理器的概念首次成为前端web开发工作流程的主流并改变了我们编写CSS的方式,这已经有一段时间了。如果说它在推动CSS所能达到的极限方面所产生的影响是革命性的,那将是一种严重的轻描淡写。

 CSS预处理器是一种工具,用于通过自己的脚本语言扩展默认普通CSS的基本功能。它可以帮助我们使用复杂的逻辑语法,比如变量、函数、混合、代码嵌套和继承等等,使普通的CSS更加强大。通过使用CSS预处理器,您可以无缝地自动化日常任务,构建可重用的代码段,避免代码重复和膨胀,并编写组织良好且易于阅读的嵌套代码块。

[[440871]]

在本文中,我们将进一步了解目前世界各地开发人员使用的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预处理器的选择在很大程度上取决于开发人员的偏好和项目需求。

责任编辑:华轩 来源: 今日头条
相关推荐

2024-09-23 00:00:05

CSS进化项目

2024-01-31 08:09:53

预处理器代码C++

2024-09-05 12:16:35

2024-11-22 08:00:00

编程语言软件开发

2010-04-19 09:31:44

KDE

2011-05-23 13:05:25

重载重写隐藏

2010-03-24 10:32:05

Python多线程

2022-05-27 12:40:25

前端测试项目

2010-03-24 10:32:05

Python多线程

2021-08-23 16:07:29

人工智能智慧城市安防

2010-03-30 19:04:25

Oracle 10g

2021-08-12 06:38:23

CSS SASSLESS

2023-03-08 07:34:23

响应式更新细粒度更新

2013-03-04 09:34:48

CSSWeb

2011-05-16 16:26:14

EJB

2009-06-26 14:10:24

EJB开发

2016-12-14 14:50:26

CSS预处理语言模块化实践

2017-03-13 15:27:55

CSS新特性

2010-04-09 15:29:10

无线信号故障

2011-03-18 09:37:40

spring
点赞
收藏

51CTO技术栈公众号