赞
踩
兼容CSS:Sass完全兼容所有版本的CSS。我们对此严格把控,所以你可以无缝地使用任何可用的CSS库。
特性丰富:Sass拥有比其他任何CSS扩展语言更多的功能和特性。Sass核心团队不懈努力,一直使其保持领先地位。
成熟:Sass已经经过其核心团队超过13年的精心打造。
行业认可:一次又一次地,行业把Sass作为首选CSS扩展语言。
社区庞大:数家科技企业和成百上千名开发者为Sass提供支持。
框架:有无数的框架使用Sass构建。比如Compass,Bourbon,和Susy。
sass是对css的一个扩展。通过其提供的变量、嵌套、混合、条件、循环等特性能够极大的提高编写css代码的效率。
sass本质上是一个脚本(编程)语言。有自己的编写语法。编写的代码通过编译后能够转为被浏览器识别的css代码。即sass代码需要转为css代码才能够使用。
作用:能够极大的提高编写css代码的效率。
特点:
支持了很多特性。变量、嵌套、混合、条件等。
社区活跃、资料齐全,学习成本较低。
兼容所有版本的css。即sass文件里可以直接写原生的css代码。
sass
基于Ruby
语言开发而成,因此安装sass
前需要安装Ruby。(注:mac下自带Ruby无需在安装Ruby!)
1、安装ruby(sass的底层实现)
ruby下载地址:
Downloads
安装过程中请注意勾选Add Ruby executables to your PATH
添加到系统环境变量。
运行cmd,输入 ruby -v 查看ruby版本命令,可测试是否安装成功。
- ruby -v
- //如安装成功会打印
- ruby 2.6.4p104 (2019-08-28 revision 67798) [x64-mingw32]
安装成功后,因为国内网络的问题导致gem
源间歇性中断因此我们需要更换gem
源。
- gem update --system //该命令请翻墙一下
- gem -v
- 3.0.3
- //删除替换原gem源
- gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
- //打印是否替换成功
- gem sources -l
- https://gems.ruby-china.com
- # 确保只有 gems.ruby-china.com
如果你使用 Gemfile 和 Bundler (例如:Rails 项目)
你可以用 Bundler 的 Downloads。
bundle config mirror.https://rubygems.org https://gems.ruby-china.com
2、安装sass
Ruby
自带一个叫做RubyGems
的系统,用来安装基于Ruby
的软件。我们可以使用这个系统来 轻松地安装Sass
和Compass
。要安装最新版本的Sass
和Compass
,你需要输入下面的命令:
- //安装如下(如mac安装遇到权限问题需加 sudo gem install sass)
- gem install sass
- gem install compass
可通过 sass-v 和 compass -v 测试是否安装成功
- sass -v
- compass -v
sass常用更新、查看版本、sass命令帮助等命令:
- //更新sass
- gem update sass
-
- //查看sass版本
- sass -v
-
- //查看sass帮助
- sass -h
1、安装easy sass插件
2、新建以.sass或.scss为后缀的文件,在里面书写sass代码。
3、easy sass插件会自动将sass文件转为css文件。在页面上引入转换之后的css文件。
4、手动指定转换的css文件保存路径
- //保存scss代码后自动转为css代码
- "easysass.comileAfterSave":ture,
- //指定转为什么格式的css代码
- "easysass.formats":[
- //neated:嵌套缩进的css代码
- expanded:没有缩进的、扩展的css代码
- compact:简洁格式的css代码
- compressed:压缩后的css代码
- {"format":"expanded",
- "extension":".css"
- },
- {"format":"compressed",
- "extension":".min.css"
- }
- ],
- "easysass.targetDir":".css/"
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
转换后的css代码会放在工作区目录下的css文件夹下,当然可以更改
概念:变量可以理解为可以保存一个数据的容器,可以在代码里重复使用
语法:
变量名规范:
变量分类:
注意:
应用场景:
概念:sass可以支持在css选择器里直接嵌套书写子标签的css代码
作用:让css代码层次结构清晰明了,不会出现父子标签之间的权重问题
语法:
- 父选择器{
- css属性:css属性值;
- 子标签选择器{
- css属性:css属性值;
- }
- }
如果要给父标签设置伪类或伪元素怎么处理?兄弟标签选择器怎么处理?
&:当前选择器
概念:sass额外提供的一种注释,俗称单行注释
语法://单行注释,而且,在转为css之后会忽略该注释
概念:可以使用数学中的基本运算(加减乘除取余)
注意:
sass提供的常用快捷数学操作代码(数学函数):
背景:页面上在处理一些常见操作的时候(比如水平垂直居中,或修改默认样式)时,会出现重复的代码块。
解决:利用sass提供的混合来减少代码块的重复编写
概念:混合即一段代码的容器,当页面需要使用到该段代码时,直接引用该混合即可。可以重复使用,而无需重复编写。
基础语法:
1、定义混合:
- @mixin 混合名{
- 包含的一段scss代码
- }
2、使用混合:
@include 混合名;
例:文字溢出
- @mixin text-overflow{
- overflow:hidden;
- display:-webkit-box;
- -webkit-box-orient:vertical;
- -webkit-line-clamp:3;
- }
在引用混合的地方会自动将混合里的scss代码放入到引用的位置。即使用了一次混合里的scss代码。
混合需先定义再使用,不能在定义之前使用。
混合名规范:
见词达义:尽量混合名能够表达该混合的作用
混合参数:指我们可以给混合提供数据,在混合中使用。这样可以达到定制混合的目的。混合参数是指混合定义时圆括号里的变量
1、定义混合,添加参数:
- @mixin 混合名($变量名:默认值){
- $变量的数据来自于使用混合时用户传入的数据,如果没有传入数据,则使用默认值
- $变量只能在混合里使用
- }
2、使用混合时,传入数据:
@include 混合名(数据);//该数据会自动赋给混合里的$变量
应用场景:
scss代码中有重复的代码块。
概念:scss可以对某个数据进行判断,根据判断的结果不同可以使用不同的样式
语法:
- @if 判断条件1{
- 判断条件1成立时会使用的样式
- }@else if 判断条件2{
- 判断条件1不成立同时判断条件2不成立时会使用的样式
- }@else {
- 判断条件都不成立时会使用的样式
- }
scss中常用的判断符号(关系运算符):
注意:无论有多少个else if,最终if、else if、else只会执行其中一个
概念:循环本身是指重复的做某件事情。
在程序中,循环指的是某些代码在重复的使用。我们可以利用sass所提供的的for循环来帮助我们减少一段代码重复的编写。
语法:
for循环的两种使用方式:
1、不包含结束数字
- @for $变量 form 开始数字 to 结束数字{
- //需要重复编写的代码
- }
例:
- @for $i form 1 to 10{
- .item-#{$i}{
- width:20px;
- }
- }
2、不包含结束数字
- @for $变量 form 开始数字 through 结束数字{
- //需要重复编写的代码
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。