SASS的@规则

1,@import

sass扩展了import导入,对于css,@import导入在页面加载的时候去下载导入的外部文件,而sass的导入,在编译成css文件的时候就将外部的sass文件导入合并编译成一个css文件

支持同时导入多个文件;支持在嵌套样式中导入文件。

// 顶部导入文件
<style lang="scss">@import './common.scss';@import './mixin.scss', './index.scss'; // 导入多个文件
</style>//card.scss文件
div {border-radius: 6px;
}
// 嵌套中导入文件
.card {@import './card.scss';
}// 编译后为
.card div {border-radius: 6px;
}

2,@media

sass中的media与css中的作用一样,只是sass中支持在嵌套中使用

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

3,@if、@else if、@else

逻辑控制,与js中的if、else语法用法一致。可以配合sass中的not、and、or等字符使用

$width: 100px;@if $width == 100px {border-color: blue;
} @else {border-color: #F3F3F3;
}@if $height > 2 {margin: 20px;
}

4,@for

for循环,用来迭代,限制循环的次数。不同于js的是,索引从1开始

语法1:@for $i from <start> to <end>不包含最后end的值

语法2:@for $i from <start> through <end>包含最后end的值

// 循环3次
@for $i from 1 through 3 {.list-#{$1} {width: 10px;}
}// 编译后
.list-1 {width: 10px;
}
.list-2 {width: 10px;
}
.list-3 {width: 10px;
}

5,@each

类似于js中的foreach。sass中的each用来遍历list或者map

语法:@each $var in <list>

$widths: 2px 3px 4px; // 数组@each $item in $widths {.wd-#{$item} {width: $item;}
}// 编译后
.wd-2px {width: 2px;
}
.wd-3px {width: 3px;
}
.wd-4px {width: 4px;
}

6,@while

与js的while循环类似。很少使用

$i: 3;@while $i > 1 {.item-#{$i} {height: $i + px;}$i: $i - 1; // 在这里重新赋值
}// 编译后
.item-3 {height: 3px;
}
.item-2 {height: 2px;
}
.item-1 {height: 1px;
}

7,@function

函数,与mixin类似,也支持可变参数与默认值。用法与js中基本类似,也支持@return返回值

语法:@function <name>(<arguments...>)

@function add($param1, $baseNo: 10px) {$result: $param1 + $baseNo;@return $result;
}

8,@use

与@important作用一样,导入外部文件,但是@use还有额外的作用,在引入时用as关键字定义定义命名空间,并可以通过命名空间调用外部文件的样式

@use './common.scss' as common; // 定义命名空间commondiv {@include common.scrollbar; // 通过命名空间属性调用外部样式
}

9,@at-root

将嵌套中的样式置顶到根部,脱离嵌套的样式层级。

.main {@at-root .header { // 将header选择器置顶height: 40px;}.body {height: 1000px;}
}// 编译后
.header {height: 40px;
}
.main {.body {height: 1000px;}
}

10,@debug、@error、@warn

sass中的@debug、@error、@warn用来打印一些信息,分别和js中的console.log()、console.error()、console.warn()类似。

@if $width < 100 {padding-top: 20px;
} @else {@warn '宽度输入过大';
}

11,@extend和占位符选择器%

已了解到@extend是用来继承样式的。而占位符选择器placeholder selector是sass提供的新选择器。定义方式与ID选择器、class选择器类似,只是标识符是%。但是他只能通过@extend引用

他的特点是,如果只定义,但是没引用,是不会编译到css文件中的

// 定义占位符选择器
%eclipse {text-overflow: ellipsis;overflow: hidden;white-space: no-wrap;
}// 引用
.main {@extend %eclipse;
}

12,其他规则

还有一些其他常用规则,例如@mixin、@include等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/65022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Xubuntu16.04系统中解决无法识别exFAT格式的U盘

问题描述 将exFAT格式的U盘插入到Xubuntu16.04系统中&#xff0c;发现系统可以识别到此U盘&#xff0c;但是打不开&#xff0c;查询后发现需要安装exfat-utils库才行。 解决方案&#xff1a; 1.设备有网络的情况下 apt-get install exfat-utils直接安装exfat-utils库即可 2.设备…

ZigBee案例笔记 -- RFID卡片读写(模拟饭卡)

RFID模拟饭卡应用 RFID&#xff08;射频识别技术&#xff09;RFID通讯协议RFID发展历史RFID操作流程说明RFID卡片读写流程RFID寻卡RFID防碰撞RFID选卡RFID卡密验证RFID读卡RFID写卡读写数据流程 RFID饭卡模拟案例驱动代码串口协议饭卡操作案例结果优化建议 RFID&#xff08;射频…

C语言入门 Day_12 一维数组

目录 前言 1.创建一维数组 2.使用一维数组 3.易错点 4.思维导图 前言 存储一个数据的时候我们可以使用变量&#xff0c; 比如这里我们定义一个记录语文考试分数的变量chinese_score&#xff0c;并给它赋值一个浮点数&#xff08;float&#xff09;。 float chinese_scoe…

详细介绍如何基于ESP32实现低功耗的电子纸天气显示器--附完整源码

实现界面展示 这是一款天气显示器,由支持 wifi 的 ESP32 微控制器和 7.5 英寸电子纸(又名电子墨水)显示器供电。当前和预测的天气数据是从 OpenWeatherMap API 获取的。传感器为显示屏提供准确的室内温度和湿度。 该项目在睡眠时消耗约 14μA,在约 10 秒的清醒期…

GitHub打不开解决方法——授人以渔

打不开GitHub的原因之一&#xff0c;DNS地址解析到了无法访问的ip。&#xff08;为什么无法访问&#xff1f;&#xff09; 1、打开GitHub看是哪个域名无法访问&#xff0c;F12一下 2、DNS解析看对应的域名目前哪个IP可以访问 DNS解析的网址&#xff1a; &#xff08;1&#x…

阿里云日志服务Logstore与MySQL数据库关联

前提条件 已采集日志到日志服务。更多信息&#xff0c;请参见数据采集。已为日志字段创建索引。更多信息&#xff0c;请参见创建索引。已有可用的MySQL数据库。更多信息&#xff0c;请参见创建数据库和账号。 操作步骤 1、在MySQL数据库中&#xff0c;创建用户属性表&#xf…

上海的正西边有哪些城市

背景 上海一路向西&#xff0c;来一趟拉萨之行&#xff0c;那么上海出现&#xff0c;所经过的那么多城市&#xff0c;哪些是在上海的正西边呢&#xff1f; 画一幅地图 基于这个背景需求&#xff0c;我们需要拿来一幅地图&#xff0c;一看便知。下面的python代码生成了一幅地…

临时抱佛脚

马上就要面试了&#xff0c;心里面比较紧张&#xff5e; 交换型数据结构 在进行网络消息处理的时候&#xff0c;经常会对发送过来的消息进行读写操作。采用普通的方法&#xff0c;需要将读到消息频繁的进行copy操作&#xff0c;这样无疑会降低系统的效率。交换型数据机构指的…

Ubuntu升级Cmake、gcc、g++

背景 最近要安装llvm&#xff0c;我选择的是从源码安装&#xff0c;所以要使用Cmake进行构建项目。但是服务器上的Cmake、gcc、g的版本都太低了&#xff0c;不符合要求&#xff0c;所以要对此进行升级。在本博客中采用的升级方法不一定是最好的方法&#xff08;因为我也是参考…

跨数据中心Multi-Fabric解决方案:L2和L3网络的高效连接和扩展

云数据中心里&#xff0c;为什么需要DCI互通&#xff1f; 云化数据中心&#xff0c;网络资源通过虚拟化技术形成资源池&#xff0c;实现业务与物理网络解耦&#xff0c;通过网络虚拟化&#xff0c;物理网络资源可以被分成多个虚拟网络资源&#xff0c;从而提高网络资源的使用效…

操作系统的发展和分类

注意&#xff1a;每个阶段的主要优点都是解决了上个阶段的缺点 1.手工操作阶段 概括&#xff1a;一个用户在一段时间内独占全机&#xff0c;导致资源利用率极低&#xff0c;用户输入指令给机器&#xff0c;然后机器运行响应给用户。 2.批处理阶段 2.1单道批处理系统 优点&…

LLM学习《Prompt Engineering for Developer》

Prompt 如何构造好的Prompt 分割符&#xff1a;分隔符就像是 Prompt 中的墙&#xff0c;将不同的指令、上下文、输入隔开&#xff0c;避免意外的混淆。你可以选择用 &#xff0c;“”"&#xff0c;< >&#xff0c; &#xff0c;: 等做分隔符&#xff0c;只要能明确…

【LeetCode】85.最大矩形

题目 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵&#xff0c;找出只包含 1 的最大矩形&#xff0c;并返回其面积。 示例 1&#xff1a; 输入&#xff1a;matrix [["1","0","1","0","0"],["1&quo…

django后台启动CORS跨越配置

文章目录 背景什么是跨域问题&#xff1f;跨域问题的解决方案 Django 解决跨域问题 背景 什么是跨域问题&#xff1f; 跨域问题是指浏览器的同源策略限制了来自不同域的 AJAX 请求。 具体来说: 同源策略要求源相同才能正常进行 AJAX 通信。判断是否同源需要满足三个条件: 协…

图解 STP

网络环路 现在我们的生活已经离不开网络&#xff0c;如果我家断网&#xff0c;我会抱怨这什么破网络&#xff0c;影响到我刷抖音、打游戏&#xff1b;如果公司断网&#xff0c;那老板估计会骂娘&#xff0c;因为会影响到公司正常运转&#xff0c;直接造成经济损失。网络通信中&…

基于Matlab利用IRM和RRTstar实现无人机路径规划(附上源码+数据+说明+报告+PPT)

无人机路径规划是无人机应用领域中的关键问题之一。本文提出了一种基于IRM&#xff08;Informed RRTstar Method&#xff09;和RRTstar&#xff08;Rapidly-exploring Random Tree star&#xff09;算法的无人机路径规划方法&#xff0c;并使用Matlab进行实现。该方法通过结合I…

设计模式行为型-状态模式

文章目录 简介状态模式基础定义状态接口或抽象类实现具体状态类 上下文类与状态转换上下文类的定义和作用状态转换及触发条件 状态模式的优势与适用性优点一&#xff1a;可维护的代码优点二&#xff1a;清晰的状态管理适用场景一&#xff1a;对象拥有多个状态适用场景二&#x…

【Unity】常见的角色移动旋转

在Unity 3D游戏引擎中&#xff0c;可以使用不同的方式对物体进行旋转。以下是几种常见的旋转方式&#xff1a; 欧拉角&#xff08;Euler Angles&#xff09;&#xff1a;欧拉角是一种常用的旋转表示方法&#xff0c;通过绕物体的 X、Y 和 Z 轴的旋转角度来描述物体的旋转。在Un…

区块链技术与应用 - 学习笔记1【引言】

大家好&#xff0c;我是比特桃。本系列主要将我之前学习区块链技术时所做的笔记&#xff0c;进行统一的优化及整合。其中大量笔记源于视频课程&#xff1a;北京大学肖臻老师《区块链技术与应用》公开课。肖老师的课让我找回了求知若渴般的感觉&#xff0c;非常享受学习这门课的…

内存管理方式

内存管理 一、C/C内存分布1、内存空间的介绍2、示例题目3、示例题目图解 二、C语言动态内存管理方式1、代码2、介绍 三、C内存管理方式1、概念2、代码3、代码所代表的意义 四、new和delete操作自定义类型1、代码2、运行结果3、特点 五、operator new与operator delete函数1、概…