欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Sass的学习

Sass的学习

2025/4/29 3:14:25 来源:https://blog.csdn.net/weixin_65450681/article/details/147440568  浏览:    关键词:Sass的学习

一、Sass介绍

Sass是强化css的一个工具,变量、判断、函数、循环等都有可以在scss中实现。Sass源文件不能被浏览器解析,只有css文件才可以。Sass转成css需要借助工具Esay Sass。
Sass有两种编码格式一种是sass编码方式(省略大括号的编码格式),另一种是scss编码格式(使用大括号的编码格式)。

1.安装vs code插件

安装了Easy Sass此插件以后,会自动编译sass文件
在这里插入图片描述

2.创建scss文件

创建一个后缀名为Scss的sass文件
在这里插入图片描述
在sass文件当中写入代码以后会自动编译出两个文件一个是后缀名为.css的后缀,一个是后缀为.main.css的文件,关于这两个文件他们之间的区别是,以.css结尾的文件是未压缩的文件,以.main.css结尾的是经过压缩以后的css文件。
在这里插入图片描述
以.css为后缀css文件内容

body{margin:0;padding:0;
}

以.main.css结尾的css文件

body{margin:0;padding:0;}

3.变量

语法:$变量名:属性值

$bg:#ccc;
.main{background:$bg;
}

解析完成以后的代码:

.main {background: #ccc;
}

4.选择器嵌套

.container{width: 100vw;height: 100vh;.list{width: 200px;height: 200px;li{width: 100%;height: 200px;&:nth-child(1){background-color: red;}}}.nav{width: 200px;}
}

解析以后的css文件,注意这里解析后的文件都是后代选择器。

.container {width: 100vw;height: 100vh;
}.container .list {width: 200px;height: 200px;
}.container .list li {width: 100%;height: 200px;
}.container .list li:nth-child(1) {background-color: red;
}.container .nav {width: 200px;
}

如果你想要子代选择器那么就需要在嵌套的子代选择器前加一个“>”,如下代码中的nav选择器前加上了一个“>”

.container{width: 100vw;height: 100vh;.list{width: 200px;height: 200px;li{width: 100%;height: 200px;&:nth-child(1){background-color: red;}}}>.nav{width: 200px;}
}

那么解析出来的就是子代选择器了,其余还是后代选择器。

.container {width: 100vw;height: 100vh;
}.container .list {width: 200px;height: 200px;
}.container .list li {width: 100%;height: 200px;
}.container .list li:nth-child(1) {background-color: red;
}.container > .nav {width: 200px;
}

5.属性嵌套

main{font: 14px{weight:600;  family:"宋体";  }
}

6.占位符

语法:%名字{} 使用@extend导入 占位符
占位符就是重复使用的代码块

%wh {width: 200px;height: 200px;background-color: red;font-size: 22px;
}
li{@extend %wh;
}
.item{@extend %wh;
}

解析完成以后的代码

li, .item {width: 200px;height: 200px;background-color: red;font-size: 22px;
}

7.混合宏

混合宏与占位符类似都可以将相同代码进行提取,写成一个代码块,但不同的是混合宏是可以进行传参的。
语法:@mixin 混合器的名字(传入的参数){ 代码块 }

@mixin center($w,$h){width: $w;height: $h;background: red;
}
.item{@include center(200PX,200PX)
}

解析后的代码:


.item {width: 200PX;height: 200PX;background: red;
}

8.函数

语法:
@function 名字(){
@return 表达式;
}
可以配合flexible.js来实现移动端的自适应

@function rem($px){@return $px/37.5px * 1rem;
}
.list{width: rem(365px);
}

解析之后的代码

.list {width: 9.73333rem;
}

本节内容就到此结束了,希望可以帮到大家。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词