Sass --css预处理器

2018-05-04  本文已影响302人  小宝薯

今天,我们来深入详细带实例地讲一下css预处理器--SASS

  • sass编译器 在线+软件
  • 重点拎一拎 -- 特好使的自动编译器软件 Koala
  • 变量使用
  • 父子级标签嵌套
  • 继承 @extend
  • 导包 @import
  • mixins
  • @media媒体查询结合mixin
  • 操作符
  • sass社区
  • 流行的sass框架
sass

官网

超赞sass社区: thesassway

一、编译器

1.在线编译器: SassMeister
SassMeister
2.在线 CodePen
CodePen
3.软件自动编译器 Koala

标志性logo真的很可爱


image 项目拖进去

使用Koala有几大好处...

二、变量引入(variables):

1.png
$commonColor:red; //这里赋变量
.nav{
color:$commonColor;  //后续都可以直接用变量
}

三、嵌套(nesting):

2.png
.site-header nav {
    ul {
        padding: 0;
        margin: 0;
    }
    
    li {
        list-style: none;
        float: left;
    }
}  //一直可以父元素套子元素
tab切换

继承

4.png
.btn-a{
    啦啦啦,这是我的各种样式
}
.btn-b{
    @extend .btn-a;  // 听btn-a的话,没毛病,100分!
    啦啦啦,后续继续写自己的样式;
}
.group:before, .group:after {
    content: "";
    display: table;
}
6.png

五、引入@import

8.png 9.png

六、强大的Mixins

10.png
$borderColor:#ec7785;  //变量
.btn-a {
  display: inline-block;
  padding:15px;
  margin-right: 10px;
  border:1px solid $borderColor;
}

//这是你用mixin包装好的verticalGradient方法,传入参数变量
@mixin verticalGradient($fromColor,$toColor) {
  background-image: linear-gradient(to bottom, $fromColor, $toColor);
}
.btn-b{
  @extend .btn-a;  //继承
  border-radius:5px 5px;
  @include verticalGradient(blue,red); //引入mixin的方法,传入你想要的颜色值
}
11.png
@import 'mixins' //文件名导入

七、@media结合mixins

/* Media Query Mixins*/
@mixin sm-width { //定好的两个mixin,小屏幕和中等屏幕的media query媒体查询
  @media only screen and (max-width: 400px) {
    @content; //没啥特殊意义,就指你引入这个mixin后,这地儿是你的地盘,可以自由写样式
  }
}
@mixin ml-width {
  @media only screen and (min-width: 1100px) {
    @content;  
  }
}
li {
  list-style: none;
  float: left;
  margin-right:10px;
  @include sm-width { //小屏幕时一行一个li
    float: none;
    margin-right: 0;
    margin-bottom: 2px;
  }
  @include ml-width {  //中大屏幕时每个li有5px右边距
    margin-right:5px;
  }
}
屏幕适配
html {
  font-size: 1em;
  @include sm-width {
    font-size: .8em;
  }
  @include ml-width {
    font-size: 1.4em;
  }
}

八、支持操作符

运算操作符 简介
+
-
*
/
% 取余
.box {
    width:100px + 200px; //可识别,一共300px
}

流行的Sass框架和社区,大佬们时常更新耐心解答

哇咔咔,小仙女想去逛街

上一篇下一篇

猜你喜欢

热点阅读