sass学习笔记

主要看sass自己的中文文档,配合着b站的视频(老师的声音太苏了)(https://www.bilibili.com/video/av24719712/?p=1)
个人笔记,稍显凌乱,如有错误,欢迎评论

要注意空格和符号!!!

scss自动编译:sass --watch sass:css

定义变量
$parameter

定义函数

@mixin name($text-color,$background){
	color: $text-color;
	background-color:$background;
	a{
		color:darken($text-color,10%);//通过改变颜色的亮度值,让颜色变暗,创建一个新颜色
	}
}

调用函数

@include functionName

继承

.alert{xxx}
.alert-info{@extend alert;}//继承alert样式

@import 将scss模块化

Partials文件要以 _ 开头 ,不会被编译,用总文件引入该文件 @import "base"即可(原有的会被覆盖)

Data Type

sass -i 测试sass的函数

进行加减乘除的混合运算

数字函数

  • 字,1, 2, 13, 10px

  • 字符串,有引号字符串与无引号字符串,"foo", 'bar', baz

  • 颜色,blue, #04a3f9, rgba(255,0,0,0.5)

  • 布尔型,true, false

  • 空值,null

  • 数组 (list),用空格或逗号作分隔符,1.5em 1em 0 2em, Helvetica, Arial, sans-serif

  • maps, 相当于 JavaScript 的 object,(key1: value1, key2: value2)

    map-has key($colors,light)//读取key

除法计算:(a/b)

插值语句

//#{}插值语句可以在选择器或属性名中使用变量

& 在sassscript中也是指代父元素的意思

!defalut

可以在变量的结尾添加 !default 给一个未通过 !default 声明赋值的变量赋值,此时,如果变量已经被赋值,不会再被重新赋值,但是如果变量还没有被赋值,则会被赋予新的值。变量是 null 空值时将视为未被 !default 赋值。

$content: "second" !defalut

@media(css)

针对不同媒体类型定义不用的样式

@media screen and (max-width: 300px) {//宽度小于300px更改背景颜色
    body {
        background-color:lightblue;
    }
}

scss允许嵌套在css规则内

.sidebar {
  width: 300px;
  @media screen and (orientation: landscape) {
    width: 500px;
  }
}

Interpoliation 插入变量名

$name:"info"
    .alert-#{$name} {
        #{$attr}-color:#ccc;    
        }

control directive
@if boolean{

}

@else if boolean{}

@for $var from <开始> to <结束>{}//不包含结束值
@for $var from <> through <>  //包含结束值
@each $var in $list //循环列表中值
 @while 条件{}

函数

@function(){}

@function color($sky){
    @return map-get($color,$key);
}
body{
    background-color:color(light);
}

警告

@function color($key){
    @if not map-has-key($color,$key){
        @warn "xxxx"//在命令行会出现警告信息
    }
}
body{
    background-color:color(gray);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值