美文网首页
超快入门sass

超快入门sass

作者: 022901c9b093 | 来源:发表于2018-03-15 20:28 被阅读0次

前言:

为了提高开发效率,前去学习sass。学完后发现非常简单,官网上前文太多,学习起来十分不效率。因此出一片这样文章,给那些想要把sass快速上手的人。

ps:阅读本文章前首先需要熟悉css          ps2:第一次写文章可能不算太好请见谅,文章末尾有介绍编译sass的编译器


变量的引入

用$符号声明变量

$color-red:red

div{color:$color-red}

编译后:

div{color:red;}

其中$color-red==$color_red

在sass中 不区分 下划线和中划线

css嵌套规则

此处借用sass官网的代码

原css代码:

#content article h1 { color: #333 }

#content article p { margin-bottom: 1.4em }

#content aside { background-color: #EEE }

利用sass嵌套可以这么写:

#content {

        article {

            h1{color:#333}

            P{margin-bottom:1.4em}

        }

    aside{background-color:#EEE}

}

应对类似:hover的伪类时,如:

#content a{color:red}

#content a:hover{color:blue}

用sass写

#content a{

        color:red;

        &:hover{color:blue}

}

如果不是很清楚结构的话,再来一个例子

sass代码:

#content{ 

     a  {   color: red;

                &:hover{color: blue}  

         }    

    &:hover{ color: #000; }

}

编译后的css:

#content a {color: red; } 

 #content a:hover { color: blue; }

#content:hover { color: #000; }

理解:&符号指向当前父级选择器,改变上文sass代码

#content{  

  a{ color: red;     

    body &:hover{color: blue} 

   } 

   body &:hover{        color: #000;    }

}

然后编译

#content a {color: red; }

 body #content a:hover { color: blue; }

body #content:hover { color: #000; }

群组选择器嵌套

sass能够减少重复的代码量,如下运用官网的例子,css:

.container h1, .container h2, .container h3 { margin-bottom: .8em }

Sass:

.container{

h1,h2,h3{margin-bottom:.8em}

}

一下子减去许多负担,有或者,sass:

nav, aside { 

   a {color: blue}  

    p {color: red;}

}

编译后的css:

nav a, aside a {  color: blue; }

nav p, aside p {  color: red; }

子组合选择器和同层组合选择器:>、+和~

此处用官网的例子:

article {

  ~ article { border-top: 1px dashed #ccc }

  > section { background: #eee }

  dl > {

    dt { color: #333 }

    dd { color: #555 }

  }

  nav + & { margin-top: 0 }

}

编译后:

article ~ article { border-top: 1px dashed #ccc }

article > footer { background: #eee }

article dl > dt { color: #333 }

article dl > dd { color: #555 }

nav + article { margin-top: 0 }

不禁让人想到了&符号

&指向父级,然而在 >+~选择器的前面加上&并不影响使用,但是面对伪类选择器&符号必须有,至于为什么,可以自己去尝试在伪类 : 符号连接的代码随便哪一边多出一个space,试试效果就明白了

嵌套属性

利用官网的例子

Sass:

nav {

  border: {

  style: solid;

  width: 1px;

  color: #ccc;

  }

}

编译后的Css:

nav {

  border-style: solid;

  border-width: 1px;

  border-color: #ccc;

}

例子二:

Sass:

nav {

      border: 1px solid #ccc {

          left: 0px;

          right: 0px;

  }

}

编译后的css:

nav {

  border: 1px solid #ccc;

  border-left: 0px;

  border-right: 0px;

}

导入sass文件

@import “sidebar”  

可以省去默认的sass和scss的文件后缀

如果要导入原生css,请将css的后缀改为scss

默认变量值

$font-size-lg:40px !default;

如果$font-size-lg变量值没有重新声明,就使用默认值40px

混合器(个人理解为可移动复制的代码块)

使用@mixin做标识,并用@include引用,官方例子如下,sass:

@mixin rounded-corners {

  -moz-border-radius: 5px;

  -webkit-border-radius: 5px;

  border-radius: 5px;

}

notice {

  background-color: green;

  border: 2px solid #00aa00;

  @include rounded-corners;

}

编译成css:

.notice {

  background-color: green;

  border: 2px solid #00aa00;

  -moz-border-radius: 5px;

  -webkit-border-radius: 5px;

  border-radius: 5px;

}

当然混合器中还能使用css,如:

@mixin no-bullets {

  list-style: none;

  li {

    list-style-image: none;

    list-style-type: none;

    margin-left: 0px;

  }

}

使用时注意父级选择器

给混合器传参

@mixin tag-color($a-color,$b-color:$a-color,$c-color:$a-color){

color:$a-color;

background-color:$b-color;

border-color:$c-color;

}

div{

@include tag-color(red);或者@include tag-color(red,blue,yellow);

}

编译后的css:

div {

color:red;

background-color:red;

border-color:red; }

选择器继承就不讲解了,不是那么容易理解的,需要的请去官网第六节查看https://www.sass.hk/guide/


最后介绍一下编辑器,在做好sass环境设置的前提下
第一种:可以使用webstorm,这里贴上如何设置的帖子
第二种:使用webpack,添加sass环境,最后打包编译(webpack很好用,但是学习起来有一定的难度这里就不做详细介绍)
第三种

相关文章

  • 超快入门sass

    前言: 为了提高开发效率,前去学习sass。学完后发现非常简单,官网上前文太多,学习起来十分不效率。因此出一片这样...

  • Sass快熟入门与简单实战

    Sass入门与实战 **Sass is the most mature, stable, and powerful...

  • Sass概览

    sass英文官方网站sass中文网 翻译自sass英文官方网站 sass入门 在你使用Sass之前,你需要先在你的...

  • 第一个模块 Sass入门篇

    慕课网 Sass入门篇慕课网 http://www.imooc.com/w3cplus学习 Sass入门篇 安装s...

  • Sass 入门

    Sass 入门 Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variable...

  • sass入门

    变量 变量定义 $变量名: 变量值; 变量使用 $变量名$变量名不能使用在CSS选择器和属性名中 嵌套规则 普通嵌...

  • sass入门

    编译 使用 sass --watch监控文件的改变,并对其进行实时编译语法: sass --watch input...

  • sass 入门

    一、使用变量 【作用】:你可以把反复使用的css属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属...

  • SASS入门

    SASS是一种对CSS进行了扩充的开发工具,它提供了许多便利的写法,使得CSS的开发变得简单和可维护,大大节省了样...

  • Sass入门

    学习Sass(官网:Sass)之前需要了解什么是Sass,Sass全称:Syntactically Awesome...

网友评论

      本文标题:超快入门sass

      本文链接:https://www.haomeiwen.com/subject/efnnfftx.html