sass

一,简介

sass文件的后缀名 ?

xxx.sass
xxx.scss

把这种浏览器不认识的文件 , 转成浏览器认识的文件

.sass | .scss -> .css

怎么转换?

1.用工具 gulp工具 webpack工具
2.sass官网自带的工具
3.网上有很多第三方的工具 koala(考拉)
4.vsCode有插件 (方便学习) Easy Sass

官网

https://sass-lang.com
https://www.sass.hk

.sass -> 语法类似于python

body
 font-size:16px
ul
 list-style:none

.scss -> 语法类似于css (推荐)

body{font-size:16px}
ul{list-style:none}

二,Sass语法

1.注释

// 不会被编译
/* */ 会被编译

2.变量

$num : 100px;
.box1{ width:$num;}
.box2{ width:$num;}
.box3{ width:$num;}
$num: 150;
$cent: %;
.box1{ width:$num + $cent;}

插值,可以让属性做成变量的形式

$foo : width;
.box1{ #{foo}:100px;}
$foo : width;
$num : 3;
.box#{$num}{ #{$foo}:100px;}

作用域 :就近原则,要注意查找的顺序

$num : 100px;
.box{
	 height: $num;
	 $num :200px;
	 width: $num;
}

嵌套

div{}
div ul{}
div ul li{}
div ul li p{}

div{
	ul{
		li{
			p{

			}
		}
	}
}

div{
	background: red;
	ul{
		list-style:none;
		li{
			float:left;
			p{
				font-size:16px;
			}
			span{
				color: blue;
			}
		}
	}
}
//在嵌套的时候, 添加一个&符号, 可以忽略空格
div{
	&:hover{
		background: red;
	}
	&.box{
		width : 100px;
	}
}
div{
	font-size: 10px;
	font-weight: bold;
	font-family : '宋体';
}

div{
	font:{
		size: 20px;
		weight: bold;
		family: '宋体'
	}
}

三,运算

如果计算的值都有单位是不能计算的
/: 比较特殊, css本身可能会用到这个斜线, 所以要做除法的时候,可以用()括起来来表示除法计算

$num : 100px;
div{
	width: $num +20px;
	height: $num *2px;
	margin : ($num / 2)px;
	font: 30px /2
	border-radius : 20px / 30px;
	background-clip : border-box;
	background-origin : border-box;
}

计算颜色

$num : #100100;
div{
	color : $num * 3;
}

函数
round() percentage() random()

div{

	width: round(3.22px);
	height: percentage(0.2);
	margin: random();
	color: rgb( random()*255,random()*255,random()*255 )
}

内置函数

自定义函数

@function sum( $a , $b){
	@returm $a + $b ;
}

div{
	width : sum(4,5) + px;
}

混入


@mixin hide{
	display : none;
	color : red;
}

.box1{
	width : 100px;
	@include hide;
}
.box2{
	@include hide;
}
@mixin hide($color){
	display : none;
	color : $color;
}

.box1{
	@include hide(red)
}

.box2{
	@include hide(yellow)
}

混入不会做群组 , 继承会编译成群组

继承

%叫做占位符, 不会渲染
继承不能传参

 %hide{
	display : none;
}
 .box1{
	@extend %hide;
}
.box2{
	@extend %hide;
}

合并


div{
	background : url('a.jpg'), url('b.jpg');
	transform : scale(1.5) rotate(360deg);
}
$background: (
	a: url(1.png),
	b: url(2.png)
);

div {
	background : map-values($background);
}


$a : url(1.png);
$b : url(2.png);

div{
 background : $a $b;
}

四,逻辑语句

$num :10;
.box{

	@if( $num > 20){
		width : 100px;
	}
	@else{
		width: 50px;
	}
}

循环

@for $i from 0 through 4{
 .box{ width : $i +px; }
}

五,CSS模块化

@import ‘./xxx.scss’;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值