包虫病

首页 » 常识 » 诊断 » sass学习笔记
TUhjnbcbe - 2021/2/13 23:25:00

#css功能扩展

##嵌套规则

sass允许将一套css样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器,嵌套功能避免了重复输入父选择器

```

#mainp{

color:#00ff00;

width:97%;

.redbox{

background-color:#ff;

color:#00;

}

}

```

##父选择器

可以用代表嵌套规则外层的父选择器

```

a{

font-weight:bold;

text-decoration:none;

:hover{

text-decoration:underline;

}

}

```

必须作为选择器的第一个字符,其后可以跟随后缀生成复合的选择器

```

#main{

color:black;

-sidebar{

border:1pxsolid;

}

}

```

##属性嵌套

有些css属性遵循相同的命名空间,比如font-size,font-family等,为了便于管理这样的属性,sass允许将属性嵌套在命名空间

#sassScript

##变量

sassScript最普遍的用法就是变量,变量以美元符号开头,赋值方法与css属性的写法一样:

```

$width:5em;

#main{

width:$width;

}

```

变量支持块级作用域,嵌套规则内定义的变量只能在嵌套规则内使用(局部变量),不在嵌套规则内定义的变量则可在任何地方使用(全局变量)。将局部变量转换为全局变量可以添加!global声明:

```

#main{

$width:5em!global;

width:$width;

}

#sidebar{

width:$width;

}

```

##数据类型

SassScript支持以下的数据类型:

-数字,1,2,10

-字符串,有引号字符串与无引号字符串,"foo","bar","baz"

-颜色,blue,#04a3f9

-布尔型,true,false

-空值,null

-数组(list),用空格或逗号作分隔符,1.5em1em02em,Helcetica,Arial,sans-serif

-maps,相当于js中的object,(key1:value1,key2:value2)

###字符串

sassscript支持有引号字符串和无引号字符串,编译css文件不会改变其类型,只有一种情况例外,使用#{}时,有引号字符串将被编译为无引号字符串,这样便于mixin中引用选择器名

```

mixinfirefox-message($selector){

body.firefox#{$selector}:before{

content:"Hi,Firefoxusers!";

}

}

includefirefox-message(".header");

```

编译成

```

body.firefox.header:before{

content:"Hi,Firefoxusers!";

}

```

##插值语句

通过#{}插值语句可以在选择器或属性名中使用变量:

```

$name:foo;

$attr:border;

p.#{$name}{

#{$attr}-color:blue;

}

```

##变量定义!default

可以在变量的结尾添加!default给一个未通过!default声明赋值的变量赋值,此时,如果变量已经被赋值,不会再被重新赋值,但是如果变量还没有被赋值,则会被赋予新的值

```

$content:"Firstcontent";

$content:"Secondcontent?"!default;

$new_content:"Firsttimereference"!default;

#main{

content:$content;

new-content:$new_content;

}

```

编译为

```

#main{

content:"Firstcontent";

new-content:"Firsttimereference";

}

```

**变量是null空值时将视为未被!default赋值**

```

$content:null;

$content:"Non-nullcontent"!default;

#main{

content:$content;

}

```

编译为

```

#main{

content:"Non-nullcontent";}

```

##

import

通常

import寻找sass文件并将其导入,在以下情况下,

import仅作为普通的css语句,不会导入任何sass文件。

-文件扩展名是.css

-文件名以

1
查看完整版本: sass学习笔记