day15
SCSS
1.scss:强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级功能 , 这些拓展令 CSS 更加强大与优雅。
2.创建.scss后缀名的文件即可,编写css代码,保存后可以看到文件架中自动创建两个独立的后缀名为css的文件。带min的为压缩过的文件。
3.嵌套语句:scss允许将一套css样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器
#main {
width: 200px;
height: 200px;
background-color: orange;
>p {
width: 50px;
height: 50px;
background-color: purple;
}
}
//生成的css
#main {
width: 200px;
height: 200px;
background-color: orange;
}
#main > p {
width: 50px;
height: 50px;
background-color: purple;
}
4.父选择器:当给某个元素设定 hover 样式时,可以用 & 代表嵌套规则外层的父选择器。
.contain {
width: 200px;
height: 200px;
background-color: blue;
p {
width: 100px;
height: 100px;
background-color: yellow;
}
&:hover>p {
width: 100px;
height: 100px;
background-color: aqua;
}
}
//生成的css代码
.contain {
width: 200px;
height: 200px;
background-color: blue;
}
.contain p {
width: 100px;
height: 100px;
background-color: yellow;
}
.contain:hover > p {
width: 100px;
height: 100px;
background-color: aqua;
}
5.变量:变量以美元符号开头,赋值方法与 CSS 属性的写法一样:全局命名的变量为全局变量, 再局部 ( 也就是{} 里面定义的变量被称之为局部变量。
$width_1: 250px;
$height_1: 200px;
#main {
width: $width_1;
height: $height_1;
background-color: red;
}
.main {
$width_2: 150px !global;
$height_2: 150px;
width: $width_2;
height: $height_2;
background-color: yellow;}
6.继承:class 使用 @extend , 在设计网页的时候常常遇到这种情况:一个元素使用的样式与另一个元素完全相同,但又添加了额外的样式。通常会在 HTML 中给元素定义两个 class,一个通用样式,一个特殊样式。
#main {
width: 300px;
height: 300px;
background-color: blue;
}
.box {
@extend #main;
background-color: yellow;
}
//生成的css代码
/* 拥有相同的样式,继承前面的元素 */
#main, .box {
width: 300px;
height: 300px;
background-color: blue;
}
.box {
background-color: yellow;
}
7.导入:使用@import