转载的~CSS预处理

Sass入门

2016-12-14  本文已影响54人  haoxilu

学习Sass(官网:Sass)之前需要了解什么是Sass,Sass全称:Syntactically Awesome StyleSheets,中文的大概意思是“语法样式表”。从字面意思来讲,就是把css样式增加了一些语法。其实其功能也是差不多的。css本身是有自身的语法,但是并没有变量、条件判断、循环、函数等编程语言的基本语法,Sass就是提供了css缺失的功能。一般将Sass等称为“Css预处理器”。

“Css预处理器”:
    CSS 预处理器是一种语言用来为 CSS 增加一些编程的的特性,无需考虑浏览器的兼容
性问题,例如你可以在 CSS 中使用变量、简单的程序逻辑、函数等等在编程语言中的一些
基本技巧,可以让你的 CSS 更见简洁,适应性更强,代码更直观等诸多好处

作为css预处理器,不仅仅只有Sass一种,还包括LESS(官网:LESS)、Stylus(官网:Stylus),它们之间的异同这里不再赘述,如果感兴趣的朋友可以查看这篇文章,本文主要介绍Sass。如果你对为什么选择Sass有疑问,请查看视频《How I use SASS》(自备梯子

环境安装

预处理

语法

p {
   border: {
     color: red;
   }
  }
```
预处理后css代码:

```css
p {
    border-color: red;
}
```
引用父类元素。使用符号`&`

    Sass代码:

```scss
a {

&:hover { color: blue; }
}
```
预处理后的css代码:

```css
a : hover {
    color: blue;
}
```

高级用法

@for $i from 1 to 10 {
    .border-#{$i} {
      border: #{$i}px solid blue;
    }
  }
```
  
也支持while循环:

```scss
    $i: 6;
  @while $i > 0 {
    .item-#{$i} { width: 2em * $i; }
    $i: $i - 2;
  }
```
each命令,作用与for类似:

```scss
@each $member in a, b, c, d {

.#{$member} {
      background-image: url("/image/#{$member}.jpg");
    }
  }
```

@function double($n) {
    @return $n * 2;
  }
  #sidebar {
    width: double(5px);
  }
```

总结

Sass的基本用法,上文中都有介绍到,如果还有其它问题,或本文没有介绍到的地方,请查看官方文档

上一篇下一篇

猜你喜欢

热点阅读