云服务器

sass学习笔记——常用语法

2017-12-26 16:41:37 0

下面是sass一般的常用语法,本文对此作个总结,方便日后回顾。

1. @import 导入文件

被导入的文件将合并编译到同一个 CSS 文件中,另外,被导入的文件中所包含的变量或者混合指令 (mixin) 都可以在导入的文件中使用。

@import "variables.css";

注:若在文件名前添加下划线,酱紫 Sass 就不编译这些文件,这个一般用于导入专门存放混合指令的scss文件。例子,将文件命名为 _colors.scss,便不会编译 _colours.css 文件。

@import "colors";

2. @media 媒体查询

Sass 中 @media 指令与 CSS 中用法一样,不多说。

3. @extend继承

@extend主要用于让子类共用父类的样式。

话不多说直接上例子:

.title {

color: #555;

}

.title strong {

font-weight: 400;

}

.title-s {

@extend .title;

font-size: 20px;

}

.head-title {

@extend .title-s;

color: black;

}

编译为

.title, .title-s, .head-title {

color: #555; }

.title strong, .title-s strong, .head-title strong {

font-weight: 400; }

.title-s, .head-title {

font-size: 20px; }

.head-title {

color: black; }

注:一定要明确的知道父类的作用范围(特别是后代选择器的编写),否则很可能会出现编译出来的样式不符合预期效果的情况。

另:有时,需要定义一套专门通过@extend指令使用的样式,不需要把相对应的父类进行编译,则可以利用sass的“占位符选择器”。

当使用占位符选择器——%时,对应样式不会被编译到 CSS 文件中。

#context a%extreme {

color: blue;

font-weight: bold;

font-size: 2em;

}

.notice {

@extend %extreme;

}

编译为

#context a.notice {

color: blue;

font-weight: bold;

font-size: 2em; }

4. @debug 调试输出

@debug 10em + 12em;

编译为

Line 1 DEBUG: 22em

5. @mixin混合指令

@mixin混合指令(Mixin)用于定义可重复使用的样式,避免了使用无语意的 class。

话不多说直接上例子:

@mixin sexy-border($color, $width: 1px) {

border: {

color: $color;

width: $width;

style: dashed;

}

}

p { @include sexy-border(blue); }

h1 { @include sexy-border(blue, 2in); }

编译为

p {

border-color: blue;

border-width: 1in;

border-style: dashed; }

h1 {

border-color: blue;

border-width: 2in;

border-style: dashed; }

上面这个例子是一个带有默认值的参数的混合指令,@mixin为打包好的样式块,后面的使用@include来引用这个样式块。

这个功能,个人感觉是在开发中使用最多的,把公用的样式包裹在一起,这大大简化了样式部分的书写,也使的公用的样式更容易管理。

6. 函数

Sass里面是有不少自带的函数的,可到官网文档上查询,下面这是自定义函数的使用:

$grid-width: 40px;

$gutter-width: 10px;

@function grid-width($n) {

@return $n * $grid-width + ($n - 1) * $gutter-width;

}

#sidebar { width: grid-width(5); }

编译为

#sidebar {

width: 240px; }

对于自定义函数,我自己也没怎么用过,暂时只知道其用法,至于如果更好的利用这个功能,还需进一步学习。

总结:

Sass常用的语法总结起来内容不多,这工具适用与编写较大的样式库,充分利用其语法可以很好的对样式库进行分模块管理,对于如何使用其建立一个样式库,bootsrtap可以作为一个很好的参考。

上一篇: 无

微信关注

获取更多技术咨询