Skip to content

预处理器介绍

CSS预处理器是一种特殊的编程语言或工具,它可以增强CSS的功能,允许开发者使用类似于编程的语法编写更抽象、模块化、可维护和具有丰富逻辑的样式表。 CSS预处理器提供诸如变量、嵌套规则、混合宏(mixin)、函数运算、循环、条件语句等高级功能,这些都是原生CSS所不具备的。 使用CSS预处理器时,开发者会用预处理器特有的语法编写源文件,如Sass、Less、Stylus 或 PostCSS 等, 然后再通过相应的编译器将这些源文件转换成常规的CSS代码, 以便浏览器可以识别并应用到实际的网页上。 这样的处理方式极大地提高了CSS代码的组织效率和复用性, 降低了大型项目中的样式管理复杂度, 增强了团队协作的一致性。 同时,尽管CSS预处理器引入了额外的抽象层次和编译步骤, 但因为它们输出的是标准的CSS代码,所以无需担心浏览器兼容性问题。

为什么使用预处理器?

简而言之就是原生的 css 还不够强大, 比如选择器和属性值只能平铺的写, 无法做到层级分明等一些比较实用且易于维护的功能, 所以我们需要一些更强大的工具来实现这写功能, 但是注意无论是哪个预处理器的代码都无法直接呗浏览器解析运行, 最后都需要编译为 css 才可以被浏览器识别解析运行

scss
.header {
  width: 100%;
  height: 50px;
  border: 1px solid #eee;
  /* 层次分明,与html结构可以保持一致, 让代码更易于阅读 */
  .links {
    width: 1200px;
    height: 100%;
    margin: 0 auto;
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    .link-item {
      padding: 0 20px;
      a {
        color: #555;
        text-decoration: none;
        a:hover {
          color: #333;
        }
      }
    }
  }
}
css
.header {
  width: 100%;
  height: 50px;
  border: 1px solid #eee;
}

.header .links {
  width: 1200px;
  height: 100%;
  margin: 0 auto;
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header .links .link-item {
  padding: 0 20px;
}

.header .links .link-item a {
  color: #555;
  text-decoration: none;
}

.header .links .link-item a:hover {
  color: #333;
}

预处理器种类

转译工具

和预处理器不同的是, 不会扩展css的语法, 只对源码做转译的操作

Released under the MIT License.