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把不需要编译的属性值给编译了。如   width:~"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的其他的特性,碰到需要的时候在学吧。

Less 和 Sass的更多相关文章

  1. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  2. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  3. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  4. 前端CSS预处理器Sass

    前面的话   "CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工 ...

  5. SASS教程sass超详细教程

    SASS安装及使用(sass教程.详细教程) 采用SASS开发CSS,可以提高开发效率. SASS建立在Ruby的基础之上,所以得先安装Ruby. Ruby的安装: 安装 rubyinstaller- ...

  6. Sass之坑Compass编译报错

    前段时间在使用Compass时遇到了其为难处理的一个坑,现记录到博客希望能帮助到各位. 一.问题: 利用Koala或者是gulp编译提示如下,截图为koala编译提示错误: 二.解决办法 从问题截图上 ...

  7. emmet,jade,haml, slim,less,sass,coffeescript等的实战优缺点

    摘要: 文章背景,来自于群内周五晚上的一次头脑风暴式的思维碰撞交流活动. 随着前端技术的蓬勃发展, 各种新技术随着生产力的需要不断的涌入我们的视野, 那今天探讨的话题是这些新时代的前端兵器谱: 一. ...

  8. Sass用法指南

    写在前面的话:随着CSS文件越来越大,内容越来越复杂,对其进行很好的维护将变的很困难.这时CSS预处理器就能够帮上大忙了,它们往往拥有变量.嵌套.继承等许多CSS不具备的特性.有很多CSS预处理器,这 ...

  9. PostCSS深入学习: PostCSS和Sass、Stylus或LESS一起使用

    如果你喜欢使用PostCSS,但又不想抛弃你最喜欢的预处理器.不用担心,你不需要作出二选一的选择,你可以把PostCSS和预处理器(Sass.Stylus或LESS)结合起来使用. 有几个PostCS ...

  10. Sass:初识Sass与Koala工具的使用

    一.下载Koala(找到合适的系统版本)并安装 二.先新建一个css文件夹,并在里面新建一个文本文档(.txt),将其命名为demo.scss 三.打开Koala,将css文件夹拽进来,可以修改一下输 ...

随机推荐

  1. ofbiz:找不到org.ofbiz.widget.ContentWorkerInterface的类文件

    ofbiz编译报错: 找不到org.ofbiz.widget.DataResourceWorkerInterface的类文件 找不到org.ofbiz.widget.ContentWorkerInte ...

  2. vue的proxy和defineProperty区别

    Object.defineProperty(obj,"name",{ set:function(val){ if(var==='lisi'){ console.log(" ...

  3. LR快捷键

    record optioning:录制选项——ctrl+f7 runtime setting  : 运行时设置——F4 运行脚本——F5 参数列表:ctrl+L 注释:ctrl+shift+c 选中后 ...

  4. 远程桌面发生身份验证错误,要求的函数不受支持【WIN10家庭】或【专业版】--解决办法

    10号更新后,远程出现如下报错 一.[家庭中文版]解决办法[亲自试验] 开启WIN家庭中文版的本地组策略 1.打开tet复制以下代码:@echo off pushd "%~dp0" ...

  5. 2018icpc南京/gym101981 I Magic Potion

    题意: 若干个勇士,每个勇士只能杀特定的怪物.每个勇士只能杀1个怪,但是有一些药,喝了药之后能再杀一个,每个勇士只能喝一瓶药.问你最多杀多少怪. 题解: 按照如下建图套网络流板即可. 网上有题解说套D ...

  6. share memory cache across multi web application

    Single instance of a MemoryCache across multiple application pools on the same server [duplicate] Yo ...

  7. linux与Windows下的heap

    Windows提供Heap相关的API,可以创建多个Heap. 但是Linux下只有一个意义上的Heap,就是Data Segment,由brk/sbrk系统调用来调整其大小. 参考:http://m ...

  8. Example of dynamic programmatic description

    - Suppose there are some itineraries in the Itinerary page, and you want to check on all of them. Se ...

  9. Tika教程

    Apache Tika 是什么? Apache Tika用于文件类型检测和从各种格式的文件内容提取的库. 在内部,Tika使用现有的各种文件解析器和文档类型的检测技术来检测和提取数据. 使用Tika, ...

  10. GCD 与XOR

    题目:UVA12716 题意:  问 gcd(i,j) = i ^ j  的对数(j <=i <= N ) N的范围为30000000,有10000组样例 分析: 有几个结论:(1)若 a ...