>웹 프론트엔드 >HTML 튜토리얼 >sass的学习_html/css_WEB-ITnose

sass的学习_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-21 09:08:421177검색


以前都没有怎么接触过sass,之后看到一个大牛写的前端知识系统结构图中看到了css预编译处理器中看到了这个神奇的东西.
其实虽然之前没有怎么听说它,但是用过,你还真别不信,之前在网易实习的一个学长在和我一起写的一个github pages项目中,推荐我
使用mcss(这是由网易大神编写的另一种css预编译器,当然了,当时并不知道这是一个什么东西,百度上也没有),mcss和sass的原理都是一样的,
而且有着及其相同的语法规则:

1.sass 和 scss的联系和区别
最初,Sass是另一个预处理器Haml的一部分[译注1],而Haml是使用Ruby设计和开发的,它的语法是一种类似ruby的语法,没有大括号和双引号,更为重要的是,他有严格的缩进规则,只要有一处写错了缩进,就不会让你编译通过,例子:
$font-stack: Helvetica, sans-serif  //定义变量
$primary-color: #333 //定义变量

body
  font: 100% $font-stack
  color: $primary-color

而scss是从第三版开始引进的,全名为Sassy Css,简写为scss,它的语法十分接近于我们使用的css,例如:
$font-stack: Helvetica, sans-serif;
$primary-color: #333;

body {
  font: 100% $font-stack;
  color: $primary-color;
}

2.也就是说scss是sass的改进版和高级版.那么我们为什么要使用scss呢,原因有如下几点:
(1)css一直是作为一种美化页面的语言出现,sass在css中加入了变成的元素,使css成为了一种具有编程思想的语言
(2)能很清楚地知道父元素和子元素之间的关系,也就是减少了css中为了限制子元素,在子元素前面加上一大堆的父元素的前置限制,例如下的scss代码:
#button{
    width:400px;
    text-align: center;
    background: purple;
    
      a{
        text-decoration: none;
        color:red;
        font-size: 14px;
        font-weight: bold;
      }
}
通过sass编译之后,变成如下:
#button{
    width:400px;
    text-align: center;
    background: purple;
    
      a{
        text-decoration: none;
        color:red;
        font-size: 14px;
        font-weight: bold;
      }
}

代码结构变得十分清晰.
可以很容易地将多个sass文件合并成一个css文件,采用命令行的方式进行编译只要一行命令编译就ok.

3.sass的使用:
(1)安装sass,由于sass是由ruby写的,但是两者在语法中并没有多大的关联,即使不了解ruby,也可以直接使用sass.所以在安装sass之前必须确保你已经安装了ruby.由于我用的是ububtu系统,之前也装过ruby,所以直接一行命令如下就可以

gem install sass

几秒中之后就搞定了,除此之外,安装sass还有另外一种安装方式,使用git进行安装:

git clone git://github.com/nex3/sass.git
cd sass
rake install

通过使用sass -v可以测试是否安装成功

sass的基本语法可以详见http://www.th7.cn/web/html-css/201407/47710.shtml

4.sass的编译
一般建立的sass文件我们都是使用.scss作为文件的后缀名,然后进行编译,编译的方式如下:

编译单个文件

sass test.scss test.css
也可以设置输出css文件的风格

sass --style compressed test.scss test.css
输出样式的风格可以有四种选择,默认为nested

nested:嵌套缩进的css代码
expanded:展开的多行css代码
compact:简洁格式的css代码
compressed:压缩后的css代码

watch单个文件

sass --watch test.scss:test.css
watch文件夹

sass --watch src:dest




성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.