目录

CSS预处理器简介

# CSS编写的痛点

  • CSS作为一种样式语言, 本身用来给HTML元素添加样式是没有问题的,

  • 目前前端项目已经越来越复杂, 不再是简简单单的几行CSS就可以搞定的, 我们需要几千行甚至上万行的CSS来完成页面的美化工作

  • 随着代码量的增加, 必然会造成很多的编写不便

    • 比如大量的重复代码, 虽然可以用类来勉强管理和抽取, 但是使用起来依然不方便
    • 比如无法定义变量(当然目前已经支持), 如果一个值被修改, 那么需要修改大量代码, 可维护性很差; (比如主题颜色)
    • 比如没有专门的作用域和嵌套, 需要定义大量的id/class来保证选择器的准确性, 避免样式混淆;
    • ...
  • 所以有一种对CSS称呼是 “面向命名编程”;

  • 社区为了解决CSS面临的大量问题, 出现了一系列的CSS预处理器(CSS_preprocessor)

    • CSS 预处理器是一个能让你通过预处理器自己独有的语法来生成CSS的程序;
    • 市面上有很多CSS预处理器可供选择,且绝大多数CSS预处理器会增加一些原生CSS不具备的特性;
    • 代码最终会转化为CSS来运行, 因为对于浏览器来说只识别CSS;

# 常见的CSS预处理器

  • 常见的预处理器目前使用较多的是三种预处理器:
  • Sass/Scss
    • 受LESS影响,已经进化到了全面兼容CSS的SCSS
  • Less
    • 受SASS的影响较大,但又使用CSS的语法,让大部分开发者更容易上手
    • 比起SASS来,可编程功能不够,不过优点是使用方式简单、便捷,兼容CSS,并且已经足够使用
    • 另外反过来也影响了SASS演变到了SCSS的时代
    • Bootstrap就是采用LESS做底层语言的,也包括React的UI框架AntDesign
  • Stylus
    • 主要用来给Node项目进行CSS预处理支持
    • 语法偏向于Python, 使用率相对于Sass/Less少很多
上次更新: 2022/08/04, 08:34:46
最近更新
01
防抖和节流
02-06
02
正则表达式
01-29
03
async_await函数
12-30
更多文章>