Sass的分享

                                                                                             Sass的分享

                                                                                                              写于2020年8月7日   下午苏州宜家餐厅

        Sass 是什么? 官网:https://www.sass.hk/guide/

        Sass是成熟、稳定、强大的CSS预处理器,而SCSS是Sass3版本当中引入的新语法特性,完全兼容CSS3的同时继承了Sass强大的动态功能。

        特性概览 :

        CSS书写代码规模较大的Web应用时,容易造成选择器、层叠的复杂度过高,因此推荐通过SASS预处理器进行CSS的开发,SASS提供的变量、嵌套、混合、继承等特性,让CSS的书写更加有趣与程式化。

        Scss 与 Sass的区别

        Sass 和 Scss 其实就是同一种东西,我们平时都称之为 Sass,两者之间不同之处主要有以下两点: 1、文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 Scss 是以“.scss”后缀为扩展名。 2、语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),而 Scss 的语法书写和我们的CSS 语法书写方式非常类似。

        安装 指令:

                npm install node-sass --save-dev

                npm install sass-loader@^7.3.1 --save-dev    版本不低于7不高于8

                npm install style-loader --save-dev

        --save -dev与--save的区别 :

        --save:将保存配置信息到pacjage.json的dependencies节点中。 --save-dev:将保存配置信息到pacjage.json的devDependencies节点中。 dependencies:运行时的依赖,发布后,即生产环境下还需要用的模块 devDependencies:开发时的依赖。里面的模块是开发时用的,发布时用不到它。

        变量声明 $highlight-color: #F90; $lightColor: #ffffff; $darkColor: #000000; $redColor : #f00; $blue-color: blue;

$highlight-color 这是变量的写法,相当于js中的 var highlight-color  他用$+变量名称组合。

        变量引用:    border:1px solid $darkColor;

        嵌套CSS 规则:

        css中重复写选择器是非常恼人的。如果要写一大串指向页面中同一块的样式时,往往需要 一遍又一遍地写同一个ID:           #content article h1 { color: #333 }

#content article p { margin-bottom: 1.4em }

#content aside { background-color: #EEE }

像这种情况,sass可以让你只写一遍,且使样式可读性更高。sass在输出css时会帮你把这些嵌套规则处理好,避免你的重复书写。

#content {  

article {    

h1 { color: #333 }    

p { margin-bottom: 1.4em }  

}  

aside { background-color: #EEE }

}

父选择器的标识符&

article a { color: blue }

article a:hover { color: red }

article a {   color: blue;   &:hover { color: red } }

群组选择器的嵌套

.container h1, .container h2, .container h3  { margin-bottom: .8em }

.container {   h1, h2, h3 {margin-bottom: .8em} }

子组合选择器和同层组合选择器: >、+和~ 选择器> 选择一个元素的直接子元素。 article section { margin: 5px } article > section { border: 1px solid #ccc } 同层相邻组合选择器+选择header元素后紧跟的p元素 header + p { font-size: 1.1em } 同层全体组合选择器~,选择所有跟在article后的同层article元素,不管它们之间隔了多少其他元素: article ~ article { border-top: 1px dashed #ccc }

.div1 {   color:$blue-color;   .div2 {     border:1px solid $darkColor;     .div3{       font-size:14px;       color:lighten($darkColor,70%);       &>a {         color:lighten($darkColor,70%);       }     }   } }

lighten($darkColor,70%); 是颜色透明度70% ,$darkColor的70%就是深灰色

article {   ~ article { border-top: 1px dashed #ccc }   > section { background: #eee }   dl > {     dt { color: #333 }     dd { color: #555 }   }   nav + & { margin-top: 0 } }

嵌套属性

nav {   border-style: solid;   border-width: 1px;   border-color: #ccc; } nav {   border: 1px solid #ccc {   left: 0px;   right: 0px;   } }

混合器

        混合器使用@mixin标识符定义 @mixin rounded-corners {   -moz-border-radius: 5px;   -webkit-border-radius: 5px;   border-radius: 5px; } 通过@include来使用这个混合器,放在你希望的任何地方 notice {   background-color: green;   border: 2px solid #00aa00;   @include rounded-corners; }

以下是博主的使用截图:

样式截图:

需要注意的是我们安装的是sass,但是实际项目中用的是scss,原因:scss是sass的一种,可以理解是一样的

通常这样写css定义

不过这样比较冗余,代码重复多,使用嵌套属性的做法:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值