less sass stylus

不同点

编译环境不一样

sass需要ruby环境

less需要引入less.js(浏览器)

stylus 需要安装node

变量符不一样

sass $color:'#ccc'

less @color:'#ccc'

stylus mainColor='#ccc'

scss使用

语法功能扩展

1选择器嵌套

2属性嵌套

.contaniner a {
  font-size:12;
  font-weight:400;
  font-family:
}
.contaniner{
 a{
   font: {//font:后加空格
     size:12;
     weight:400;
     family:
   }
  }
}
}

3父选择器&

.contanier {}
.contanier a {}
.contanier a :hover {}
.contanier top {}
.contanier top-left {}

.container {
 a { 
   &:hover {
  }
 }
 top {
   &-left {
   }
 } 
}

4占位符%

//按钮基本样式
.button%base{
  border:1px solid #ccc;
  
} //未使用不会编译

.button-default {
  @extend:%base;  //使用时 占位符选择器才会编译
  color:'red'
}
.button-default {
  @extend:%base;
   color:'green'
}

scss注释

单行 //。 单行注释不会编译到最终的css文件中

多行 /* */

scss变量

css中的变量

body{ --color:'red'}

:root {--border-color:'black'}

.header {-backgroud-color:'#ccc'}

 p {    color:var(-color);   border-color: var(--border-color)  }

.header { backgroud-color:var(--backgroud-color)}

scss

$color:'red'

.contanier { color:$color}

1 变量不以数字开头 变量一定要先定义后使用

2 通过连接符和下划线定义的同名变量为同一变量 建议使用连接符

$border-color:'blue' $border_color:'red'

.contanier{ border-color:$border-color} 最终编译成red

3变量作用域

//全局变量
$font-size:14
.contanier{font-size:$font-size}
//!global
.contanier {$font-size:16 !global font-size:$font-size}
.a{font-size:$font-size}

//局部变量
.contanier {
  $font-size:16 
  font-size:$font-size
  p {
   font-size:$font-size
  }
}

变量值的类型 数字(1 10px) 字符串(有引号字符串无引号字符串) 颜色 布尔值 空值 数组(用空格或逗号作为分隔符)maps(相当于object)

$blank-mode:true
$color-map:(color1:'red',color2:'blue')
.container {
  @if $blank-mode{ 
    backgroud-color:'red'
  }@else{
    backgroud-color:'blue'
  }
 //map-get函数
  color:map-get($color-map,color2)
}

scss变量默认值 $color:#ccc !default

$color:#333

$color: #666 !default 

=>#333

scss导入

css导入 @import url(css.css)

scss导入 @import 'public'

@import 'public'

.a {

 color:$color

}


public.css

$color:'red'

scss 会编译成css 如果不想被编译 加_        _public.scss

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值