发表于: 2018-12-06 23:30:44
1 731
今天完成的事情:完成了任务11,了解了sass关键的几个命令
明天计划的事情:继续下一个任务,
遇到的问题:
1.安装sass前发现淘宝镜像时无效的,后来知道了它转给了ruby-china,所以gem源码换成了https://gems.ruby-china.com/。
2.在项目的sass文件夹下无法监听单个文件,后来发现,是我多加了一级文件夹如图:
上图中由于本来就在sass文件夹中了,但自己的命令却多敲了一个sass层级。
上图中我把sass去掉后路径就变正常了,开始监听
收获:
1.由于用的是webstorm,可以用相关插件实现自动化编译,所以GUI编译工具就无所谓了,毕竟上手也简单,再不济用基本编译命令来使唤也可以。
webstorm上自动化编译的设置步骤如下:
确定后
点击应用就可以了。然后用webstorm,在项目内创建sass文件夹并在内创建scss文件,打开它就可以编辑,就可以在项目内自动生成css文件夹并在内创建css及map了,如图
还有个用命令行的如图:
2.sass编译后在相应的css文件里生成css代码,这个生成的css代码有四种不同的格式,如题如下图:
3.
常用基本语法
1.变量
变量是Sass中最基本的语法。凡是css属性的标准值(比如说1px或者bold)可存在的地方,都可以替换为变量。之后,如果你需要一个不同的值,只需要改变这个变量的值,则所有引用此变量的地方生成的值都会随之改变。
通过 $ 符号来定义,通过变量名称实现多处重复引用。
2.嵌套
Sass支持选择器及属性嵌套,可以避免代码的重复书写。
2.1选择器嵌套
大多数情况下上面那种简单的嵌套都没问题。但如果你想要在嵌套的选择器里边应用一个类似于:hover的伪类,就需要用到 & 这个连接父选择器的标识符。
2.2属性嵌套
示例1:
示例2:
3.代码重用之继承
sass中,选择器继承可以让选择器继承另一个选择器的所有样式,并联合声明。
使用选择器的继承,要使用关键词@extend,后面紧跟需要继承的选择器。
如上示例,.class2
不仅会继承.class1
自身的所有样式,也会继承任何跟.class1
有关的组合选择器样式,如下:
4.代码重用之Mixin混合器
sass中使用@mixin声明混合,可以传递参数,参数名以$符号开始,多个参数以逗号分开,也可以给参数设置默认值。声明的@mixin通过@include+minxin名称
来调用。
无参数mixin声明及调用:
带参数mixin声明及调用
可以不给参数值直接写参数,如果给了值的话,就是参数的默认值,在调用的时候传入其他值就会把默认值覆盖掉。带多组数值参数的mixin声明及调用
如果一个参数可以有多组值,如box-shadow、transition等,那么参数则需要在变量后加三个点表示,如$variables...。
下面是一个实际应用中关于CSS3浏览器兼容的mixin使用示例:
5.颜色函数
Sass中集成了大量的颜色函数,让变换颜色更加简单直接。
其他颜色函数
- lighten(#cc3, 10%) // #d6d65c
- grayscale(#cc3) // #808080
- complement(#cc3) // #33c
6.@import引入
CSS中原本就有不常用的@import
语法,但是有两个弊端:
- 引入语句一定要卸载代码最前面才会生效;
- 影响性能。如果A文件要引入B文件,当浏览器读到A文件时会再去下载B,阻塞进程。
而Sass中的@import
会在生成CSS文件时就把引入的所有文件先导入进来,也就是所有相关的样式会被编译到同一个CSS文件中,无需发起额外的请求。
当然,Sass的@import
也支持导入远程的CSS文件。那效果跟普通CSS导入样式文件一样,导入的css文件不会合并到编译后的文件中,而是以@import方式存在。
一般来说基础的文件命名需要以'_' 开头,如 _partial.scss
。这种文件在导入的时候可以不写下划线及后缀,可写成@import "partial"。但是倒入CSS文件的话,就需要“文件名+后缀”了。
原生的CSS导入
下列三种情况下会生成原生的CSS@import:
- 被导入文件的名字以.css结尾;
- 被导入文件的名字是一个URL地址(例如http://www.sass.hk/css/css.css ),由此可用谷歌字体API提供的相应服务;
- 被导入文件的名字是CSS的url()值。
也就是说,你不能用Sass的@import直接导入一个原始的CSS文件,因为sass会认为你想用CSS原生的@import。但是,因为sass的语法完全兼容css,所以你可以把原始的css文件改名为.scss后缀,即可直接导入了。
链接:https://www.jianshu.com/p/bd1a152f3ca1
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
评论