Less 和 Sass
- 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把不需要编译的属性值给编译了。如 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的更多相关文章
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- 前端CSS预处理器Sass
前面的话 "CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工 ...
- SASS教程sass超详细教程
SASS安装及使用(sass教程.详细教程) 采用SASS开发CSS,可以提高开发效率. SASS建立在Ruby的基础之上,所以得先安装Ruby. Ruby的安装: 安装 rubyinstaller- ...
- Sass之坑Compass编译报错
前段时间在使用Compass时遇到了其为难处理的一个坑,现记录到博客希望能帮助到各位. 一.问题: 利用Koala或者是gulp编译提示如下,截图为koala编译提示错误: 二.解决办法 从问题截图上 ...
- emmet,jade,haml, slim,less,sass,coffeescript等的实战优缺点
摘要: 文章背景,来自于群内周五晚上的一次头脑风暴式的思维碰撞交流活动. 随着前端技术的蓬勃发展, 各种新技术随着生产力的需要不断的涌入我们的视野, 那今天探讨的话题是这些新时代的前端兵器谱: 一. ...
- Sass用法指南
写在前面的话:随着CSS文件越来越大,内容越来越复杂,对其进行很好的维护将变的很困难.这时CSS预处理器就能够帮上大忙了,它们往往拥有变量.嵌套.继承等许多CSS不具备的特性.有很多CSS预处理器,这 ...
- PostCSS深入学习: PostCSS和Sass、Stylus或LESS一起使用
如果你喜欢使用PostCSS,但又不想抛弃你最喜欢的预处理器.不用担心,你不需要作出二选一的选择,你可以把PostCSS和预处理器(Sass.Stylus或LESS)结合起来使用. 有几个PostCS ...
- Sass:初识Sass与Koala工具的使用
一.下载Koala(找到合适的系统版本)并安装 二.先新建一个css文件夹,并在里面新建一个文本文档(.txt),将其命名为demo.scss 三.打开Koala,将css文件夹拽进来,可以修改一下输 ...
随机推荐
- 基于CentOS 7.3 安装Ceph Jewel 10.2.9
https://www.lijiawang.org/posts/intsall-ceph.html 配置说明: 采用了4台centos7.3系统的虚拟机,1台Ceph-Master作为安装节点,NTP ...
- SPI驱动程序设计
一.SPI驱动子系统架构 m25p80.c: static int __devinit m25p_probe(struct spi_device *spi) { struct flash_platfo ...
- python selenium自动化测试报告
先记录一下,后续继续更新. 首先:HTMLTestRunner的下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 选中后单击右键,在弹出 ...
- 没有找到MSVCR110.dll,因此这个应用程序未能启动.重新安装应用程序可能会修复此问题
问题: 在win7下用vs2012编译了一个exe放到xp上运行,弹出错误框"没有找到MSVCR110.dll,因此这个应用程序未能启动.重新安装应用程序可能会修复此问题" 解决办 ...
- 导入csv 到mysql数据库
1.查询导入数据存放位置 show variables like '%secure%'; +--------------------------+-----------------------+ | ...
- jsp+js完成用户一定时间未操作就跳到登录页面
<% String path = request.getContextPath(); String basePath = request.getScheme() + "://" ...
- 数据访问层的接口IBaseDAL
using System; using System.Collections; using System.Data; using System.Data.Common; using System.Co ...
- 查看mysql慢日志,进行优化
MySQL 慢查询的相关参数解释:slow_query_log :是否开启慢查询日志,1表示开启,0表示关闭. slow_query_log :是否开启慢查询日志,1表示开启,0表示关闭. lo ...
- png图片使用opacity在ie中出现黑边情况
JQuery动画的淡入淡出效果,用在PNG24的图片上,在IE7.IE8下会出现黑边框. 有些人觉得很奇怪,为什么?潘?E6正常,反而在IE7.8下却有黑边呢. 其实问题出在filter属性上.IE6 ...
- Spring Boot集成Mybatis双数据源
这里用到了Spring Boot + Mybatis + DynamicDataSource配置动态双数据源,可以动态切换数据源实现数据库的读写分离. 添加依赖 加入Mybatis启动器,这里添加了D ...