- LESS
- SASS
sass 与 less 的区别与学习 : https://www.cnblogs.com/roashley/p/7731865.html 或
https://www.cnblogs.com/feng-wu/p/6040387.html(less教程,变量,混合,匹配,运算,嵌套...)
使用css预处理器的好处:
1、css有很多的兼容性问题,使用 预处理器可以把某个兼容的属性写在一个函数里面。其它的地方需要用到这个属性,直接调用这个方法就可以了。
就不需要对应浏览器做兼容处理了(比如对应不同浏览器加不同的前缀)。
.box-shadow (@string) { -webkit-box-shadow: @string; -moz-box-shadow: @string; box-shadow: @string; }
2、less中 变量和函数 都是不编译的,只有在使用它们的地方才会编译它们。这样的一组会用到属性,放在less文件上,编译后,没有一点的存储占用。
LESS
1、注释(css中注释只有 /* */ 这一种):
less中注释有两中,/* */注释编译后保留;// 注释编译后消失。
2、@import " "; 可以导入其它的less文件。
3、避免编译: ~“ ” 或 ~‘ ’ 可以避免less把不需要编译的属性值给编译了。如 ~"calc(300px - 30px)" ;这个不能让less计算,CSS3中是有这个运算功能的。这个表达式是给浏览器解析的,不是less。https://www.imooc.com/video/4839
4、伪类写法: : https://www.cnblogs.com/ranzige/p/3654296.html
5、less语法详解 : https://blog.csdn.net/iamcgt/article/details/73028435
其它参考:https://blog.csdn.net/lidysun/article/details/52537770
6、混合
参考:https://blog.csdn.net/iamcgt/article/details/73028435?utm_source=itdadao&utm_medium=referral
—— 继承其它的选择器属性。(只是继承哪个选择器的属性,选择器名没有影响)
.bordered { border-top: dotted 1px black; border-bottom: solid 2px black; } #menu a { color: #111; .bordered; }
—— 函数 (带参数)
.border-radius (@radius) { border-radius: @radius; -moz-border-radius: @radius; -webkit-border-radius: @radius; } #header { .border-radius(4px); }
—— 函数 (参数设置默认值)
.border-radius (@radius: 5px) { border-radius: @radius; -moz-border-radius: @radius; -webkit-border-radius: @radius; } #header { .border-radius; }
—— 函数 (不带参数), 用于隐藏这个属性集合,不让它暴露到CSS中去。
.wrap () { text-wrap: wrap; white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word; } pre { .wrap }
—— 函数 (@arguments包含了所有传递进来的参数.。不必单独处理每一个参数)
.box-shadow (@x: 0, @y: 0, @blur: 1px, @color: #000) { box-shadow: @arguments; -moz-box-shadow: @arguments; -webkit-box-shadow: @arguments; } .box-shadow(2px, 5px);
sass
1、less有两种注释,/* */是会被编译到css文件中的。//不会
2、scss中的变量(Variables)在SASS中你也可以声明变量,并在整个样式表中使用。
3、scss中选择器嵌套特性,我们可以在父元素的大括号{}里写这些元素。同时可以使用&符号来引用元素的父选择器(这个主要是伪类的和组合选择器有用)。
4、scss中属性嵌套,
5、scss中Mixins 简单的说Mixins可以将一部分样式抽出,作为单独定义的模块,被很多选择器重复使用。
6、scss中选择器继承 ,这个的一个明显的优点是,就是在有相同类名或标签名的选择器中,出现耦合的可能性比较少,因为前面已经有选择器给它限制了。可以很方便。
7、.css.map文件的作用是让浏览器显示的css在地几行代码会对应到scss文件的第几行。这样我们要通过修改sass文件来修改css代码就会很方便,如果直接在css中改就不用这个东西了。
总结:scss是sass新的语法,scss(sass)中的四个基本特性:变量、嵌套、Mixins和继承的基本使用规则。还有@function函数方法
sass的其他的特性,碰到需要的时候在学吧。