color: #F90;
}
如果一个作用域中存在两个或多个同名变量,那么引用时使用最后定义的那个变量的值。
2.变量引用
其实在上面的例子中已经引用了变量了。直接通过变量名即可引用。
原生 CSS
与预编译语言相比,原生的语法最让人懊恼的是选择器以及元素之间的关系。
在预编译语言中,可以很直观的将元素之间的关系表达出来。
比如,原生的一段 CSS
:
#content article h1 { color: #333 }
#content article p { margin-bottom: 1.4em }
#content aside { background-color: #EEE }
显然,我们是在控制 #content
里面的样式,然而这样一层层的复杂关系在预编译语言中就可以很简洁的表达了:
/一个元素的所有后代元素都可以直接写在这个元素的内部,结构非常清晰/
#content {
article {
h1 { color: #333 }
p { margin-bottom: 1.4em }
}
aside { background-color: #EEE }
}
另外,如果选中一个元素的伪类,那么可以在代码块中通过 &
来表示当前元素。
比如:
$highlight-color: #f90
.box1
width: 200px
height: 200px
border: 1px solid $highlight_color
/&选中的是 .box1/
&:hover
cursor: pointer
除此以外,还可以通过 >
表示直接子元素,~
表示同层元素,+
表示紧跟后面的元素。
在 Sass
中,可以通过 @import
来引入 sass
或 css
文件。需要注意的是,一旦引入 sass
文件,就会在加载该文件前加载引入的文件。
在 sass
中,可以使用 //
来注释内容,而且该内容不会被同步到编译后的 css
文件中。然而,如果需要同步注释,可以使用 /**/
来实现。
我们知道如果需要重复使用的数据可以通过一个变量来保存,在需要使用的地方直接引用这个变量就行了。然而,如果需要复用的是一段代码,那么变量就不能满足这个需求了。取而代之的是混合器。
混合器使用 @mixin
标识符定义,在需要使用的地方通过 @include
来引入。
$highlight-color: #f90
@mixin rounded-corners
border-radius: 5px
-webkit-border-radius: 5px
-moz-border-radius: 5px
.box1
@include rounded-corners
width: 200px
height: 200px
border: 1px solid $highlight_color
&:hover
cursor: pointer
除了复用代码以外,混合器还可以让代码更加灵活,因为它还支持参数。
@mixin link-colors($normal, $hover, $visited) {
color: $normal;
&:hover { color: $hover; }
&:visited { color: $visited; }
}
当引入这个混合的时候就可以通过 @include()
来指定实参,就像函数一样。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
ndroid开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!