Sass常用语法

Sass语法

1.1 变量

变量可以存储样式信息,以便后面使用。
比如一个样式在页面的多个地方使用,就可以先将该样式的值赋给一个变量,后面直接使用变量即可。

  • 语法: $变量名:样式值;
  • 使用: $变量名;

注意点:

  • 以$符号开头,后跟变量名
  • 多个单词,变量名以-分割,如: $theme-color
  • 变量写在#{}中以镶嵌入字符串

示例代码:

// .scss文件  Sass后缀名为scss
<style lang="scss" scoped>
	$back: #000;
	$one: 1rpx;
	$left: left;

	.state {
		width: 100rpx;
		height: 100rpx;
		background: $back;
		border-#{$left}: $one solid $back;
	}
</style>

1.2 嵌套

  • 选择器嵌套

示例代码:

<template>
  <view class="grandpa">
    <view class="father">
      <view class="son"></view>
    </view>
  </view>
</template>

<style lang="scss" scoped>
.grandpa {
    width: 200px;
    height: 200px;
    
    .father {
        width: 100px;
        height: 100px;

        .son {
            width: 50px;
            height: 50px;
        }
    }
}
</style>
  • 伪类嵌套

给一个元素添加:hover效果

示例代码:

<template>
  <view class="box">
    <text>
		666
	</text>
  </view>
</template>

<style lang="scss" scoped>
.box {
	text {
		// 悬停a的文本颜色改变
		&:hover {
			color: blue;
		}
	}
}
</style>

1.3 混合 mixin

mixin相当于已经定义好了一类样式,可以在任何地方重复的使用它,就跟js中的函数一样。

示例代码:

<style lang="scss" scoped>
// 定义一个mixin
@mixin name {
    width: 200rpx;
    height: 100rpx;
    background-color: #894375;
}
// 使用
.box {
	@include name;
	border: 1rpx solid #666;
}
</style>

1.3.1 参数 定义的时候参数要以$符开头,和变量命名是一样的

@mixin name ($param1,$param2, ...) {
	css样式
}
<style lang="scss" scoped>
$width: 200rpx;
$height: 200rpx;

@mixin box ($width, $height) {
	width: $width;
	height: $height;
}

.box {
	// 第一种用法
	// @include box(200rpx,200rpx);
	// 第二种用法 将定义好的变量写入
	@include box($width, $height);
	background-color: aqua;
}
</style>

1.4 继承 extend

如果一个元素的样式和另一个元素的样式完全一样,这个元素无需再写一遍重复的样式,只需使用@extend 就可以把另一个元素的所有样式全部继承过来

示例代码:

<style lang="scss" scoped>
.a1 {
	width: 200rpx;
	height: 200rpx;
	background-color: antiquewhite;
}

.a2 {
	@extend .a1; // 继承a1的样式
}
</style>

1.5 导入 import

如果一个页面需要使用其他页面的样式,sass可以导入其他的scss文件,scss会把他们编译成一个css文件。这样在开发中可以把一个页面的样式分割成多个scss文件,然后在页面的scss文件中导入其他scss,可以实现css的模块化开发。

示例代码:

// mixin.scss
$width: 100rpx;
$height: 100rpx;
$color: #456;

@mixin box {
    width: $width;
    height: $height;
    background-color: $color;
}

//页面使用
<style lang="scss">
// 引入mixin.scss
@import '../../static/mixin.scss';

.box {
	// 使用
	@include box;
}
</style>

1.6 数学运算

示例代码: 加减乘除

.box {
	width: 50rpx + 50rpx;
	height: 100rpx - 50rpx;
	margin-top: 10rpx * 10; 
	padding-top: (100rpx / 2); // 除法需加括号
}

3.7 if else条件语句

根据条件判断给出特定的样式

@if 条件语句 {
} @ else if 条件语句 {
} @else

示例代码:

<style lang="scss">
text {
	@if 1 {
		font-size: 28rpx;
	} @else if 2 {
		font-size: 40rpx;
	} @else {
		font-size: 70rpx;
	}
}
</style>

3.8 for循环

第一种语法:

@for $index from 开始值 through 结束值 {
}
从开始值开始,到结束值结束,包含结束值  index表示 12...结束值
<style lang="scss">
@for $i from 1 through 5 {
	.mt-#{$i} { // mt-1 mt-2 mt-3 mt-4 mt-5
		// 不准rpx
		margin-top: 10px * $i; // 10 20 30 40 50
	}
}
</style>

第二种语法:

@for $index from 开始值 to 结束值 {
}
从开始值开始,到结束值结束,不包含结束值  index表示 12...结束值-1
<style lang="scss">
@for $i from 1 to 5 {
	.mt-#{$i} { // mt-1 mt-2 mt-3 mt-4
		// 不准rpx
		margin-top: 10px * $i; // 10 20 30 40
	}
}
</style>

3.9 用户自定义函数

@function name($param1,$param2,...) {

}

示例代码:

<style lang="scss">
$i: 4;
$w: 100rpx;
$h: 100rpx;

@function bgc-color($key) {
	@if $key > 5 {
		@return #000;
	} @else {
		@return #666;
	}
}

.box {
	background: bgc-color($i); // #666
	width: $w;
	height: $h;
}
</style>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: sass系统设计架构是指可扩展样式表语言(SASS)的软件系统的设计和结构。SASS是一种CSS预处理器,可以使CSS更易于编写和维护。SASS系统设计架构的目标是提供一个可靠、可扩展和高效的SASS编译器和工具集。 SASS系统设计架构通常包括以下组件:SASS编译器、SASS解释器、SASS解析器、SASS语法分析器、SASS代码生成器、SASS模块库和SASS插件接口。这些组件共同协作,实现了SASS的高效编译和处理。 SASS系统设计架构的核心原则是可扩展性和可维护性。它应该能够轻松地扩展功能和集成插件,同时也应该易于维护和调试。为了实现这些原则,SASS系统设计架构通常采用模块化和分层的架构,以便组件之间的解耦和复用。 总之,SASS系统设计架构是一种高效、可扩展和可维护的软件系统设计,能够实现SASS的编译和处理,并提供了丰富的功能和插件接口。 ### 回答2: Sass(Syntactically Awesome Style Sheets)是一种层叠样式表语言的扩展,用于增强CSS的功能。在Sass系统设计架构中,有以下几个重要组成部分: 1. 编译器:Sass编译器是将Sass代码转换为CSS代码的工具。它负责将Sass预处理器语法翻译成CSS可识别的语法Sass编译器通常有多种选择,如Ruby编写的原生Sass编译器、libsass等。 2. 预处理器:Sass的预处理器可以提供一些额外的功能,如变量、嵌套、混合器等。这些功能可以简化CSS的编写和维护工作。预处理器还提供模块化的特性,可以划分CSS代码为多个文件,提高代码的可维护性。 3. 模块化:Sass支持模块化的设计方法。通过将Sass代码分割为多个模块,可以提高代码的可读性和可维护性。模块化的设计使得修改和扩展CSS变得更加容易,同时也可以避免命名冲突和代码重复的问题。 4. 变量与混合器:Sass允许使用变量和混合器来定义可重用的代码片段。变量可以存储颜色、字体、尺寸等常用的数值和属性值,而混合器可以定义一组CSS规则,可以在需要的地方进行调用。这样可以减少代码的冗余,提高开发效率。 5. 继承:Sass支持选择器的继承,可以通过@extend关键字实现。继承可以减少代码的编写量,同时也可以提高代码的可读性。通过选择器的继承,可以让多个选择器共享相同的CSS属性,从而简化样式的定义和修改。 总体而言,Sass系统设计架构的目标是提供一种灵活、可扩展、易于维护的CSS开发方式。通过预处理器、模块化、变量和混合器等特性,可以有效减少CSS代码的复杂性,提高开发效率和代码质量。 ### 回答3: Sass(层叠样式表)是一种帮助开发者更有效地编写CSS的预处理器。它主要通过为CSS添加一些高级功能和工具,以及减少代码重复和维护工作量,提高CSS的开发效率和可维护性。在Sass的系统设计架构中,有几个关键的概念和组件。 首先,在Sass系统设计架构中,有一种称为SCSS(Sassy CSS)的Sass语法,它基于CSS的语法,提供了许多新的功能,如嵌套选择器、变量和混合器等。通过使用SCSS语法,开发者可以更清晰和简洁地组织和编写CSS代码。 其次,Sass系统设计架构中的另一个重要组件是变量。变量允许开发者在CSS中定义可重用的值,而不需要重复输入或复制。通过使用变量,开发者可以轻松地在整个项目中更改和调整颜色、字体、边距等属性值,提高代码的灵活性和维护性。 另外,Sass系统设计架构中还引入了一种称为混合器(Mixins)的功能。混合器允许开发者定义一组CSS样式,并在需要时重复使用。通过使用混合器,开发者可以将常见的样式块定义为可重用的代码块,大大减少了代码的冗余和重复编写。 除了以上概念和组件外,Sass系统设计架构还提供了其他一些功能,如嵌套选择器、导入和继承等。这些功能可以进一步简化和优化CSS代码的编写,提高代码的可读性和可维护性。 总的来说,Sass系统设计架构是为CSS开发者提供更高效、更可维护的CSS编写和管理方案的一种预处理器。它通过引入新的语法和组件,提供了更灵活和强大的功能,同时也简化了CSS代码的编写和维护的工作量。使用Sass,开发者可以更快地编写出高质量的CSS代码,并更容易地管理和更新样式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值