博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
十分钟掌握sass
阅读量:6656 次
发布时间:2019-06-25

本文共 1986 字,大约阅读时间需要 6 分钟。

变量、嵌套(选择器、属性)、混合器、继承、函数指令 sass (sass编写清晰、无冗余、语义化的css)

1. 变量

  • 变量声明 使用 $
  • 变量名用中划线分隔,(实际中划线和下划线互通)

2. 嵌套(避免css中重复写选择器,且使样式可读性更高)

  • 父选择器的标识符&
article a {  color: blue;  &:hover { color: red }}复制代码
  • 群组选择器的嵌套: ,
  • 子组合选择器和同层组合选择器:>、+和~

2.1. 属性嵌套(嵌套属性的规则:把属性名从中划线-的地方断开,在根属性后边添加一个冒号:,紧跟一个{ }块,把子属性部分写在这个{ }块中。)

nav {  border: {  style: solid;  width: 1px;  color: #ccc;  }}复制代码
  • 指明例外规则:
nav {  border: 1px solid #ccc {
left: 0px; right: 0px; }}复制代码

3. 导入SASS文件

  • sass的@import规则在生成css文件时就把相关文件导入进来。这意味着所有相关的样式被归纳到了同一个css文件中,而无需发起额外的下载请求。另外,所有在被导入文件中定义的变量和混合器,均可在导入文件中使用
  • sass局部文件的文件名以下划线开头

## 4. 混合器 (例如一致的颜色和字体使用变量来统一处理,大段大段的重用样式的代码,通过sass的混合器实现大段样式的重用)

  • @mixin标识符定义
  • @include来使用这个混合器
  • 何时使用混合器
  • 一段样式不停地重复写,那就应该把这段样式构造成优良的混合器,起个合适的混合器名字
  • 给混合器传参
  • 格式
@mixin 混合器名(参数) { 属性:参数}复制代码
  • example
@mixin link-colors($normal, $hover, $visited) {  color: $normal;  &:hover { color: $hover; }  &:visited { color: $visited; }}a {  @include link-colors(blue, red, green);}复制代码

5. 使用选择器继承来精简CSS //通过选择器继承继承样式

  • 格式:@extend 类名
  • 混合器主要用于展示性样式的重用,而类名用于语义化样式的重用
  • example
.error {  border: 1px solid red;  background-color: #fdd;}.seriousError {  @extend .error;  border-width: 3px;}复制代码

6. 函数指令

  • 格式
@function 函数名(形参){    @return ***;}复制代码
  • example
$grid-width: 40px;$gutter-width: 10px;@function grid-width($n) {  @return $n * $grid-width + ($n - 1) * $gutter-width;}#sidebar { width: grid-width(5); }复制代码

7. @for

@for $i from 1 through 1000 {    .#{unique-id()}-#{$i} {
... }}复制代码

8. keyframes 给keyframes定义一个混合宏(mixins)

@mixin keyframes($animationName) {    @-webkit-keyframes #{$animationName} {
@content; } @-moz-keyframes #{$animationName} {
@content; } @-o-keyframes #{$animationName} {
@content; } @keyframes #{$animationName} {
@content; }}
@include keyframes(move-the-object) { 0% { transform: translateX(0); } 100% { transform: translateX(200px); }}复制代码

转载于:https://juejin.im/post/5c934aadf265da60d1081de4

你可能感兴趣的文章
"101"比"1203"大的时候.java中的比较办法和Oracle中的比较办法!!
查看>>
马云经典语录--你最喜欢哪一句
查看>>
Scenario 6 –HP C7000 Virtual Connect FlexFabric SUS with A/A Uplinks, 8
查看>>
Java 框架新贵入驻 TechEmpower Framework Benchmark
查看>>
CentOS6.3 64位安装wine出错,牛人帮帮忙
查看>>
js获取textarea标签中的换行符和空格。
查看>>
国内的Maven服务器
查看>>
C# winform DataGridView 的18种常见属性
查看>>
Cygwin的安装、配置与调整
查看>>
MySQL存储过程
查看>>
做有中国特色的程序员
查看>>
JVM【第九回】:【OutOfMemoryError异常之本机直接内存溢出】
查看>>
Angular
查看>>
ANTLR Reference书摘
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
《Effective C++第三版》读书笔记——构造/析构/赋值运算
查看>>
Redhat 5.3 Linux内核的升级!
查看>>
Ubuntu Mate:扩展存储到整张SD卡
查看>>
学习使用clojure(1)
查看>>