博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sass基础
阅读量:4589 次
发布时间:2019-06-09

本文共 2269 字,大约阅读时间需要 7 分钟。

一、sass的安装和启用

  1. 安装ruby和sass  sass -v  可以显示版本号即可;

  2. 命令行cd到指定的sass文件所在的文件夹目录下,然后sass --watch main.scss;

    sass生成的css会有四种不同的样式

    --style nested

    --style expanded

    --style compact

    --style compressed

    使用时;在命令行输入sass --watch main.scss --style compressed这种格式即可。尝试一下十分容易理解。

二、变量

  1. 普通变量和默认变量的声明和调用 

//普通变量$fontSize: 12px; //声明body{    font-size:$fontSize; //调用}
//默认变量:默认变量的价值在进行组件化开发的时候会非常有用。$baseLineHeight:1.5 !default;body{    line-height: $baseLineHeight; }

  2. 全局变量和局部变量

$color: orange !default;//定义全局变量(在选择器、函数、混合宏...的外面定义的变量为全局变量).block {  color: $color;//调用全局变量}em {  $color: red;//定义局部变量  a {    color: $color;//调用局部变量  }}span {  color: $color;//调用全局变量}

三、嵌套

   1. 选择器嵌套

//HTML结构:
//Sass: nav {  a {    color: red;    //&:上一级选择器    header & {      color:green;    }  }  }

  2. 属性嵌套

//属性嵌套.box {  border: {   top: 1px solid red;   bottom: 1px solid green;  }}

  3.伪类嵌套

.clearfix{    &:before,    &:after {        content:"";        display: table;      }    &:after {        clear:both;        overflow: hidden;      }}

 

 四、混合

  1.  无参混合宏

//不带参数的混合宏@mixin border-radius{    -webkit-border-radius: 5px;    border-radius: 5px;}//调用:.box {  @include border-radius;}

  2.无默认值带参混合宏

//无默认值的带参混合宏@mixin border-radius($radius){    -webkit-border-radius: $radius;    border-radius: $radius;}//调用:.box {  @include border-radius(3px);}

  3.有默认值带参混合宏

//带默认值@mixin border-radius($radius:3px){  -webkit-border-radius: $radius;  border-radius: $radius;}//调用.box {  @include border-radius(50%);//或者@include border-radius;}

   4. 多个参数带参混合宏

//带多个参数(例如经典居中)@mixin center($width,$height){  width: $width;  height: $height;  position: absolute;  top: 50%;  left: 50%;  margin-top: -($height) / 2;  margin-left: -($width) / 2;}//调用.box-center {  @include center(500px,300px);}
//参数过多时的复杂混合宏:@mixin box-shadow($shadow...) {  @if length($shadow) >= 1 {    @include prefixer(box-shadow, $shadow);  } @else{    $shadow:0 0 4px rgba(0,0,0,.3);    @include prefixer(box-shadow, $shadow);  }}//当 $shadow 的参数数量值大于或等于“ 1 ”时,表示有多个阴影值,反之调用默认的参数值“ 0 0 4px rgba(0,0,0,.3) ”。//调用声明的混合宏:.box {  @include box-shadow(0 0 1px rgba(#000,.5),0 0 2px rgba(#000,.2));}

 

转载于:https://www.cnblogs.com/sowhite/p/6362365.html

你可能感兴趣的文章
c# 虚属性
查看>>
c# 子类的声明
查看>>
c# 类嵌套
查看>>
c# 方法的隐藏
查看>>
c# 接口实现
查看>>
c# 密封类
查看>>
c# is运算符
查看>>
c# 抽象类与接口
查看>>
c# 委托
查看>>
c# 接口使用
查看>>
c# 事件
查看>>
c# as运算符
查看>>
c# 调试过程
查看>>
c# 结构
查看>>
C# 中的异常处理
查看>>
c# 调试
查看>>
c# 使用序列化
查看>>
c# VS.NET 中的调试工具
查看>>
c# 处理串行化对象的版本变化
查看>>
c# try 和 catch 块
查看>>