SCSS-基本语法 sass、scss、less、css的区别

sass、scss、less、css的区别

less, sass, scss都是css预处理语言(也是对应的文件后缀名),它们的语法功能比css更强大。

预处理语言使用是:开发时用预处理语言,在打包上线时,用webpack再配合loader工具给转成css(Cascading Style Sheets)给浏览器使用。

细节:

  1. 后缀名:SASS(Syntactically Awesome StyleSheets)版本3.0之前的后缀名为.sass,而版本3.0之后的后缀名.scss
  2. 语法规范:
    sass没有{}和;, 有严格的缩进规范 ;
    scss和css的缩进规范是一致的

基本语法:

嵌套语法:和less一样,scss同样支持嵌套型的语法

// scss语法
$highlight-color: #f90;
$basic-border: 1px solid black;

#app{
  background-color:  $highlight-color;
  border:$basic-border;
  .container{
    font-size:30px;
  }
}

 转化成css后:

#app {
  background-color: #f90;
  border: 1px solid black;
}

#app .container {
  font-size: 30px;
}

父选择器:假如想针对某个特定子元素 进行设置

$highlight-color: #f90;
$basic-border: 1px solid black;

#app{
  background-color:  $highlight-color;
  border:$basic-border;
  .container{
    font-size:30px;
  }
  a{
    color:blue;
    &:hover{
      color: red;
    }
  }
}

变量

定义变量:sass使用$符号来标识变量

$highlight-color: #f90;
$basic-border: 1px solid black;

声明了名为$highlight-color$basic-border的变量,  使用变量了。

#app {
    background-color: $highlight-color;
  	border: $basic-border;
}

mixins:mixins混入,是代码复用的方式

定义格式:@mixin 名称 { 代码 }

使用格式:include 名称

示例

定义样式

@mixin container {
  width: 1200px;
  background-color: green;
}

@mixin clearfix {
  &:after {
    content: "";
    display: table;
    clear: both;
  }
}

使用mixins

.div {
  width: 200px;
  @include clearfix;
  @include container;
}

模块

一个.scss文件就是一个模块,多个.scss文件之间可以相互引用。

例如:在base.scss定义变量,然后在test.scss中引入这个文件,就可以使用其中定义的变量了

格式 :@import './xxxx.scss';

示例

新建base.scss,并定义变量

$base-color: green;

test.scss中引入base.scss

@import './base.scss';
$highlight-color: #f90;
$basic-border: 1px solid black;
#app{
  background-color:  $base-color;
  border:$basic-border;
  .container{
    font-size:30px;
  }
  a{
    color:blue;
    &:hover{
      color: red;
    }
  }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值