一些Sass

前言

Scss时CSS的一些扩展,本篇主要关于介绍变量的创建,一些逻辑结构,以及重用样式;

正文

创建变量:

<style type='text/scss'>
$color:red;
h1{
	background:$color;
	}
</style>
<h1>我的背景是红的</h1>
<!--要设置type="text-scss",在变量面前使用$,表示变量;引用时也要加$;

在这里插入图片描述
嵌套设置:

<style type="text-scss">
$h1-color:red;
$div-color:yellow;
#div{
	background:$div-color;
	h1{
		background:$h1-color;
		}
	}
</style>
<div id="div">
	<h1>我是红的</h1>
	<h2>我是黄的</h2>
</div>

外层为父标签的样式,内层为子标签样式;
在这里插入图片描述
创建可重用CSS:

<style type="text/scss">
	@mixin border-radius($s){
	-webkit-border-radius: $s;
    -moz-border-radius: $s;
    -ms-border-radius:$s;
    border-radius: $s;
	}
	div{
		@include border-radius(50%);
		width:50px;
		height:50px;
		background:red;
		}
</style>
<div></div>

样式前加@mixin表示是一个可重用CSS,类似函数,在引用时在函数前加@include并加相应参数;
在这里插入图片描述
@if @else:

<style type="text/scss">
	@mixin color($co){
		@if $co == red{
		background:$co;}
		@else if $co == $co{
		background:yellow;}
		@else {
		background:red;}
		}
	div{
		@include color(red);
		width:50px;
		height:50px;
		}
</style>
<div></div>

注意便两千加$;
在这里插入图片描述
@for:

<style type="text/scss">
@for $i from 1 through 2{
	.text-#{$i}{font-size:$i*10px}
	}
</style>
<span class="text-1">第一个</span>
<span class="text-2">第二个</span>

through表示从一到二,也可以换成to,表示从一到一,不包括结束的数字;
#{$i}表示将变量文本化;
在这里插入图片描述
@each遍历集合:

<style type="text/scss">
	@each $i in red,yellow,blue{
		.#{$i}-box{background:$i;height:50px;}
		}
</style>
<div class="red-box"></div>
<div class="yellow-box"></div>
<div class="blue-box"></div>

在这里插入图片描述map遍历键对值:

<style type="text/scss">
	$colors:(co1:red,co2:yellow,co3:blue);
	@each $key,$i in $colors{
		.#{$key}-box{background:$i;height:50px;}
		}
</style>
<div class="co1-box"></div>
<div class="co2-box"></div>
<div class="co3-box"></div>

each的第一个值表示键第二个表示值;
在这里插入图片描述
while:

<style type="text/scss">
	$i:0;
	@while $i<2{
	.text-#{$i}{font-size:$i*10px}
	$i:$i+1;
	}
</style>
<span class="text-1">第一个</span>
<span class="text-2">第二个</span>

在这里插入图片描述
scss的文件可以通过@import加文件名导入;

继承:

<style type="text/scss">
	.box1{
	width:50px;
	height:50px;
	background:red;
	}
	.box2{
	@extend .box1;
	border-radius:50%;
	background:yellow;
	}
</style>
<div class="box1"></div>
<div class="box2"></div>

@extend表示继承所有的属性,可以继续添加,也可以通过重名的方式来重写属性;
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值