好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

CSS 预处理器

CSS 预处理器

CSS 预处理器是 一个 能让你通过预处理器自己独有的语法来 生成 CSS 的程序。

CSS 预处理器有许多种,如 less 、 SCSS 、 styles 、 PostCSS ,这四个是目前用的最多的。

预处理器有一套自己的语法,最终能编译出 CSS 。

主流的几个预处理器语法类似,基础语法很容易掌握。

以下篇幅围绕预处理器 less 展开,主要是为了了解什么是预处理器。

SCSS 安装过程中经常会碰到 node-scss 依赖安装缓慢,可以考虑使用 dart-scss 。

1. 安装 less

less 也可以通过 npm 进行安装。

先在 一个 空目录初始化项目,然后安装 less 。

 npm init -y

npm i less -D
 

2. 使用 less

修改 package.json 中的 scripts 配置项。

  // package.json 
 "scripts"  :   { 
   "compile"  :   "lessc style.less style.css" 
 }  , 
 

完成后再新建几个测试用的 文件 。

一个 是 index.html ,另 一个 是 style.less 。

  <!-- index.html --> 
 <!DOCTYPE html> 
   < html   lang   =  " en "   >  
   < head  >  
     <  Meta    charset   =  " UTF-8 "   >  
     <  Meta    name   =  " viewport "    content   =  " width=device-width, initial-scale=1.0 "   >  
     < title  >  less   </ title  >  
     < link   rel   =  " stylesheet "    href   =  " style.css "   >  
   </ head  >  
   < body  >  
     < div   class   =  " container "   >  
    我是 一个 文本节点

       < p  >  我是 一个 段落    < a   href   =  " //immoc.com "   >  我是个超 链接 啦   </ a  >     </ p  >  
     </ div  >  
   </ body  >  
   </ html  >  
 

  // style.less 
 .container   { 
   color  :  red ; 

   p   { 
     color  :  blue ; 

     a   { 
       color  :  green ; 
     } 
   } 
 } 
 

index.html 中要引入 .css 文件 ,而不是 .less 文件 。

观察 compile 命令,意思就是 用less编译器将将 style.less 进行编译,然后 输出 到 style.css ,所以 index.html 要引入 style.css 。

一切就绪后就 npm run compile !。

执行后目录下就会多 一个 style.css 文件 。

   .container    { 
   color  :  red ; 
 } 
  .container  p   { 
   color  :  blue ; 
 } 
  .container  p a   { 
   color  :  green ; 
 } 
 

打开 index.html 就可以发现样式生效了。

其实 style.less 的 内容 不解释,自己摸索也很容看出是什么意思,这是一种嵌套语法,通过嵌套的关系来对应节点的关系。

嵌套 是最常用的特性,个人认为也是预处理器中最重要的特性,其实许多前端开发者也只会用到变量、嵌套两个特性。

3. 小结

less 还提供了如变量、循环、条件分支等特性,利用这些特性可以少很多冗余的 CSS 代码 ,这些特性可以去官方文档进一步挖掘。

代码规范 ? ?Babel

查看更多关于CSS 预处理器的详细内容...

  阅读:38次

上一篇

下一篇

第1节:什么是 JavaScript    第2节:学习环境准备    第3节:调试方案    第4节:JavaScript 变量    第5节:JavaScript 数据类型    第6节:JavaScript if 语句    第7节:for 语句    第8节:JavaScript 算数运算符    第9节:JavaScript 比较运算符    第10节:JavaScript 逻辑运算符    第11节:JavaScript 函数    第12节:JavaScript 表达式    第13节:JavaScript 对象    第14节:JavaScript 字符串    第15节:JavaScript 数字    第16节:JavaScript 数组    第17节:JavaScript switch 语句    第18节:JavaScript while 语句    第19节:JavaScript 的 break 与 continue    第20节:JavaScript with    第21节:document.cookie    第22节:JavaScript Function    第23节:JavaScript Math    第24节:JavaScript Date    第25节:JavaScript RegExp    第26节:JavaScript JSON    第27节:什么是 DOM    第28节:DOM 和 JavaScript 的关系    第29节:获取和操作 DOM 节点    第30节:DOM 与事件    第31节:DOM 事件绑定    第32节:DOM 事件对象    第33节:DOM 事件流    第34节:事件相关的优化    第35节:自定义事件    第36节:表单校验    第37节:什么是 BOM    第38节:常用的 BOM 相关对象    第39节:BOM 常用属性和方法    第40节:AJAX    第41节:异常处理    第42节:三元运算符    第43节:逗号操作符    第44节:void    第45节:typeof    第46节:delete 操作符    第47节:debugger    第48节:getter & setter    第49节:new 运算符与构造函数    第50节:JavaScript 原型    第51节:JavaScript instanceof    第52节:JavaScript this    第53节:严格模式    第54节:作用域    第55节:闭包    第56节:变量提升    第57节:对象包装器    第58节:Lodash    第59节:moment    第60节:swiper    第61节:ECMAScript 6    第62节:Node.js    第63节:Babel    第64节:CSS 预处理器    第65节:代码规范    第66节:TypeScript    第67节:WebComponents    第68节:Vue、React、Angular    第69节:小程序    第70节:JavaScript 关键字    第71节:分号导致的问题    第72节:对象属性访问问题    第73节:this 使用问题    第74节:浮点数精度问题    第75节:独一无二的 NaN    第76节:避免全局污染    第77节:控制台观察对象问题    第78节:根据环境选择语言特性    第79节:相关资源