什么是 CSS 预处理器?

就CSS本身而言,对于大多数Web前端从业人员来说就不是问题。学过CSS的人都知道,它不是一种编程语言。你可以用它开发网页样式,但是没法用它编程。换句话说,CSS基本上是设计师的工具,不是程序员的工具。在程序员的眼里,CSS是很头痛的事情,它并不像其它程序语言,比如说PHP、Javascript等等,有自己的变量、常量、条件语句以及一些编程语法,只是一行行单纯的属性描述,写起来相当的费事,而且代码难易组织和维护。

很自然的,有人就开始在想,能不能给CSS像其他程序语言一样,加入一些编程元素,让CSS能像其他程序语言一样可以做一些预定的处理。这样一来,就有了“CSS预处器(CSS Preprocessor)”。

CSS 预处理器

定义:

CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。

通俗的说,“CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,然后再编译成正常的 CSS 文件,以供项目使用。CSS 预处理器为 CSS 增加一些编程的特性,无需考虑浏览器的兼容性问题”,例如你可以在 CSS 中使用变量、简单的逻辑程序、函数(如右侧代码编辑器中就使用了变量$color)等等在编程语言中的一些基本特性,可以让你的 CSS 更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。

其它 CSS 预处理器语言:

CSS 预处理器技术已经非常的成熟,而且也涌现出了很多种不同的 CSS 预处理器语言,比如说:

  • Sass(SCSS)
  • LESS
  • Stylus
  • Turbine
  • Swithch CSS
  • CSS Cacheer
  • DT CSS

如此之多的 CSS 预处理器,那么“我应该选择哪种 CSS 预处理器?”也相应成了最近网上的一大热门话题,在 Linkedin、Twitter、CSS-Trick、知呼以及各大技术论坛上,很多人为此争论不休。相比过去我们对是否应该使用 CSS 预处理器的话题而言,这已经是很大的进步了。

到目前为止,在众多优秀的 CSS 预处理器语言中就属 Sass、LESS 和 Stylus 最优秀,讨论的也多,对比的也多。
 

  1. $color: red; 
  2.  
  3. .test { 
  4.     color: $color; 

执行结果:
 

  1. .test { 
  2.  
  3.   color: red; 
时间: 2024-11-03 12:31:01

什么是 CSS 预处理器?的相关文章

CSS预处理器语言sass语法:学习sass语法

文章简介:其实现在的Sass已经有了两套语法规则:一个依旧是用缩进作为分隔符来区分代码块的:另一套规则和CSS一样采用了大括号({})作为分隔符.后一种语法规则又名SCSS,在Sass3之后的版本都支持这种语法规则.我们这里讨论的如无特殊说明,全指scss. 什么是sass? Sass是是一种基于ruby编写的CSS预处理器,诞生于2007年,是最早也是最成熟的一款CSS预处理器语言,它可以使用变量.嵌套.混入.继承,运算,函数等功能,使得CSS的开发,变得简单清晰可维护,同时也大大节省了设计者

学习CSS预处理器:Sass和less进行对比

文章简介:使用Css预处理器唯一真正需要学习的只有语法,SASS是Ruby语言写的,但是两者的语法没有关系.不懂Ruby,照样可以使用.你需要的只是一个像CudeKit的应用来观察和编译你所撰写的文件. Less就更不用了,只需要调用一个js即可(在客户端运行),或者借助Node.js(服务器运行 什么是CSS预处理器? Css可以让你做很多事情,但它毕竟是给浏览器认的东西,对开发者来说,Css缺乏很多特性,例如变量.常量以及一些编程语法,代码难易组织和维护.这时Css预处理器就应运而生了.Cs

CSS 和 CSS 预处理器简介

CSS 和 CSS 预处理器简介 我已经想了很多关于自己编写的CSS,其当前的状态和这么多年来是如何改变的. 我通常在开始做一个新项目的时候都会使用自己的框架Motherplate.它使用了Sass和Compass.大部分的类名最初都没有基于任何其他的框架.也不是故意这么做的. 现在,我认识的大多数开发人员都在使用Bootstrap.如果一个朋友要启动一个新项目,得到一些应用程序上的帮助,我通常会建议他们使用Bootstrap框架.这样做是有一定道理的,特别是他们的原型和版本都还是0的时候,使用

简介C/C++预处理器的一些工作_C 语言

多么令人愉快的一个问题啊 就在被带到编译器那里之前,预处理器都会对你的源代码瞧上一瞧, 做一些格式化的工作,并执行任何你在源代码里面留给它来执行的指令. 像什么? 好吧,预处理器的指令就被叫做预处理器指令,而他们都以一个#开头. 像 #include 这样? 正确. 每一个被预处理器遇到的 # 命令都会导致在某种方式上对源代码的修改. 让我们来简单的研究研究它们,然后我们就会之后这背后都是怎么运转的了. #include 包含其他库.类.接口等的头文件.预处理器实际上就只是把整个头文件复制到你的

C#预处理器指令和字符串处理

一.C# 预处理器指令 在C#编程过程中,如果文件中的代码太长那么就不便于阅读,为此,采用C# 预处理器指令#region来处理代码.#region 是 C# 预处理器指令.#region 是一个分块预处理命令,它主要是用于编辑器代码的分块,在编译时会被自动删除. #region 使程序员可以在使用 Visual Studio 代码编辑器的大纲显示功能时指定可展开或折叠的代码.使用#region和#endregion,将代码写在两者之间就可以了.   public void Insert(str

C#预处理器指令

C#有许多名为预处理器指令的命令.这些命令从来不会被翻译为可执行代码中的命令,但会影响编译过程的各个方面.例如,预处理器可禁止编译器编译代码的某一部分.如果计划发布两个版本的代码,比如基本版本和企业版本,或者针对不同的.NET Framework版本进行编码,就可以使用这些指令.在Anthem.NET的代码中我们经常可以看到这种用法. 预处理器指令的开头都有符号#. 注意: C#中并没有一个像C++那样的独立预处理器,所谓的预处理器指令仍由编译器处理. 下面将对这些指令逐一介绍. 1. #def

nasm预处理器(3)

nasm提供一个限定符.nolist,可以包含它到一个宏定义中,这样该宏就不会在列表文件中被展开:限定符 .nolist直接放到参数后面: %macro foo 1.nolist 条件汇编 和C预处理器类似,nasm允许对一段源代码只在某特定条件满足时进行汇编: %if<condition> %elif<condition2> %else %endif %ifdef和 %ifndef 测试单行宏是否存在,在分支测试中也有类似的%elifdef和%elifndef %ifmacro测

using-asp.net 错误 CS1028: 意外的预处理器指令

问题描述 asp.net 错误 CS1028: 意外的预处理器指令 using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI

nasm预处理器(4)

nasm定义了一套标准宏,当开始处理源文件时,这些宏都已经被定义了,如果希望程序在执行前没有预定义的宏存在,可以使用%clear清空预处理器的一切宏. __NASM_MAJOR__ 主版本号 __NASM_MINOR__ 次版本号 __NASM_SUBMINOR__ 子次版本号 __NASM_PATCHLEVEL__ 补丁号 __NASM_VERSION_ID__ nasm版本id __NASM_VER__ nasm版本字符串 __FILE__ 文件名 __LINE__ 行号 STRUC 和 E