Sass 语法详细介绍

news2024/11/14 10:51:23

文章目录

  • 前言
  • SASS缩进语法
  • SASS的语法差异
  • 多线选择器
  • 注释
    • @import
  • Mixin指令
  • 已弃用的语法
  • 后言

前言

hello world欢迎来到前端的新世界


😜当前文章系列专栏:Sass和Less
🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家指出)🌹
💖感谢大家支持!您的观看就是作者创作的动力

SASS缩进语法

SASS缩进语法或只是SASS是基于CSS的SCSS语法的替代。

  • 它使用缩进而不是 {和} 来分隔块。

  • 要分隔语句,它使用换行符而不是分号(;)。

  • 属性声明和选择器必须放在一行,{和}中的语句必须放在新行和缩进。

例如,考虑以下SCSS代码:

.myclass {
  color= red;
  font-size= 0.2em;
}

缩进语法是一种旧的语法,不建议在新的Sass文件中使用。如果使用此文件,它将在CSS文件中显示错误,因为我们使用 = 而不是:来设置属性和变量。

使用下面的命令编译上面的代码:

sass --watch C:\ruby\lib\sass\style.scss:style.css

接下来,运行上面的命令,它将在 style.css 文件中显示错误,如下所示:

Error: Invalid CSS after "  color= red": expected "{", was ";"
        on line 2 of C:\ruby\lib\sass\style17.scss

1: .myclass {
2:   color= red;
3:   font-size= 0.2em;
4: }

SASS的语法差异

大多数CSS和SCSS语法在SASS中工作完美。但是,有一些差异,在以下部分中解释:

属性语法
CSS属性可以通过两种方式声明:

  • 属性可以声明为类似于CSS但没有分号(;)。

  • colon(:)将以每个属性名称为前缀。

例如,您可以写为:

.myclass
  :color red
  :font-size 0.2em

默认情况下,可以使用上述两种方法(属性声明不带分号,冒号以属性名称开头)。

多线选择器

在缩进语法中,选择器可以在逗号后出现时放在换行符上。

例子
下面的示例描述了在SCSS文件中使用多行选择器:

<html>
<head>
   <title>Multiline Selectors</title>
   <link rel="stylesheet" type="text/css" href="style.css" />
   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
   <script src="/attachments/tuploads/sass/jquery.min.js"></script>
   <script src="/attachments/tuploads/sass/bootstrap.min.js"></script>
</head>
<body>
   <h2>Example using Multiline Selectors</h2>
   <p class="class1">Welcome to Tutorialspoint!!!</p>
   <p class="class2">SASS stands for Syntactically Awesome Stylesheet...</p>
</body>
</html>

接下来,创建文件 style.scss。 请注意 .scss 扩展名。

style.scss

.class1,
.class2{
   color:red;
}

您可以通过使用以下命令让SASS查看文件并在SASS文件更改时更新CSS:

sass --watch C:\ruby\lib\sass\style.scss:style.css

接下来执行上面的命令,它将用下面的代码自动创建 style.css 文件:

生成的 style.css 如下所示:

style.css

.class1,
.class2 {
  color: red;
}

让我们执行以下步骤,看看上面的代码如何工作:

  • 在 multiline_selectors.html 文件中保存html代码。

  • 在浏览器中打开此HTML文件,将显示如下输出。

注释

注释占用整行并包围嵌套在它们下面的所有文本,它们是基于行的缩进语法。

@import

在SASS中, @import 指令可以使用/不使用引号。与SCSS不同,它们必须使用引号。

例如,在SCSS中, @import 指令可以用作:

@import "themes/blackforest";
@import "style.sass";

这可以在SASS中写为:

@import themes/blackforest
@import fontstyle.sass

Mixin指令

SASS支持 @mixin 和 @include 等指令的缩写。您可以使用 = 和 + 字符替换 @mixin 和 @include 更简单,更容易阅读。

例如,您可以将mixin指令写为:

=myclass
  font-size: 12px;

p
  +myclass

是相同的

@mixin myclass
  font-size: 12px;

p
  @include myclass

已弃用的语法

SASS支持使用一些旧的语法。但是,在SASS中使用此语法是不推荐。如果您使用此语法将显示警告,并且将在以后的版本中删除它。一些旧的语法如下表所示。

在这里插入图片描述

后言

创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力

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

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

相关文章

机器态势感知中的注意力机制

输入矢量x是原始的输入数据&#xff0c;而q、k、v是通过对x进行线性变换得到的新的表示。q、k、v是通过对x分别乘以三个矩阵Wq、Wk、Wv得到的&#xff0c;其中Wq、Wk、Wv是通过学习得到的参数矩阵。这些参数矩阵通过模型训练过程中的反向传播算法来更新&#xff0c;以使得模型能…

振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(4)

注解目录 1、znFAT 的起源 1.1 源于论坛 &#xff08;那是一个论坛文化兴盛的年代。网友 DIY SDMP3 播放器激起了我的兴趣。&#xff09; 1.2 硬盘 MP3 推了我一把 &#xff08;“坤哥”的硬盘 MP3 播放器&#xff0c;让我深陷 FAT 文件系统不能自拔。&#xff09; 1.3 我…

新疆大学与优艾智合机器人成立联合创新实验室

11月22日至24日&#xff0c;第五届中国工业互联网大赛新疆赛站决赛在新疆维吾尔自治区昌吉回族自治州昌吉市举行。在大赛中崭露头角的优秀解决方案&#xff0c;将为绿色工厂、绿色园区、绿色供应链等建设提供新的动能&#xff0c;促进工业绿色发展。 作为大赛的成果延伸&#…

ESP32-Web-Server编程-建立第一个网页

ESP32-Web-Server编程-建立第一个网页 HTTP 简述 可能你每天都要刷几个短视频&#xff0c;打开几个网页来娱乐一番。当你打开一个网络上的视频或者图片时&#xff0c;其实际发生了下面的流程&#xff1a; 其中客户端就是你的浏览器啦&#xff0c;服务器就是远程一个存放视频或…

线性表的逻辑结构

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 只有靠自己的毅力忍耐&#xff0…

详解混合整数二次规划 (MIQP) 投资组合优化问题--附Matlab和Python实现

&#x1f517; 运行环境&#xff1a;Matlab、Python &#x1f6a9; 撰写作者&#xff1a;左手の明天 &#x1f947; 精选专栏&#xff1a;《python》 &#x1f525; 推荐专栏&#xff1a;《算法研究》 #### 防伪水印——左手の明天 #### &#x1f497; 大家好&#x1f917;&am…

sqli-labs靶场详解(less11-less16)

目录 less-11 less-12 less-13 less-14 less-15 less-16 提交参数后 动态参数不存在url中 存在于post表单中 于是在表单中进行注入点测试 先看一看这种提交数据的关卡输入提交后会有什么反应 unameadmin&passwdadmin&submitSubmit 输出 usernameadmin passwordadmin un…

基于mpvue实现的cnode社区demo(附精选源码32套,涵盖商城团购等)

社区类目没有开放给个人开发者&#xff0c;所以没能上线。 预览 项目配置文件&#xff0c;更改appid {"description": "项目配置文件","setting": {"urlCheck": true,"es6": false,"postcss": false,"minif…

万字+28张图带你探秘小而美的规则引擎框架LiteFlow

大家好&#xff0c;今天给大家介绍一款轻量、快速、稳定可编排的组件式规则引擎框架LiteFlow。 一、LiteFlow的介绍 前言 在每个公司的系统中&#xff0c;总有一些拥有复杂业务逻辑的系统&#xff0c;这些系统承载着核心业务逻辑&#xff0c;几乎每个需求都和这些核心业务有关&…

触控板窗口管理软件Swish mac中文版

Swish mac是一款触控板窗口管理工具&#xff0c;它允许用户通过简单的手势来控制窗口。Swish利用MacBook的触控板&#xff0c;使得用户可以更加便捷地管理窗口。它支持多种手势&#xff0c;例如捏合、拖动、放大和缩小等&#xff0c;使得用户可以轻松地实现窗口的切换、最小化、…

代码随想录-刷题第十天

459. 重复的子字符串 题目链接&#xff1a;459. 重复的子字符串 提示&#xff1a;Java中转为字符数组&#xff0c;不使用charAt()&#xff0c;效率会更高。 思路1&#xff1a;暴力解法。起始下标从0开始&#xff0c;第一个for循环寻找子串的结束位置。只需要遍历到中间位置&…

代码随想录训练营第30天 | 332.重新安排行程、51. N皇后、37. 解数独

332.重新安排行程 题目链接&#xff1a;重新安排行程 解法&#xff1a; 这个题&#xff0c;卡哥的思路会超时。辛辛苦苦看懂了卡哥的思路&#xff0c;结果超时了&#xff0c;直接崩溃。 看了leetcode官方的思路&#xff0c;非常简洁&#xff0c;但是里面的深意还是不太懂。 由…

Python实现WOA智能鲸鱼优化算法优化LightGBM分类模型(LGBMClassifier算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提…

Linux常用命令——batch命令

在线Linux命令查询工具 batch 在系统不繁忙的时候执行定时任务 补充说明 batch命令用于在指定时间&#xff0c;当系统不繁忙时执行任务&#xff0c;用法与at相似。 语法 batch(选项)(参数)选项 -f&#xff1a;指定包含具体指令的任务文件&#xff1b; -q&#xff1a;指定…

【论文阅读笔记】InstructDiffusion: A Generalist Modeling Interface for Vision Tasks

【论文阅读笔记】StyleAvatar3D: Leveraging Image-Text Diffusion Models for High-Fidelity 3D Avatar Generation 论文阅读笔记论文信息引言动机挑战 方法结果 关键发现相关工作1. 视觉语言基础模型2. 视觉通用模型 方法/模型视觉任务的统一说明训练数据构建网络结构 实验设…

扫地机器人市场持续火爆,景联文科技数据采集标注方案助力扫地机器人智能化升级

随着消费者对智能家居和清洁卫生的需求增加&#xff0c;扫地机器人市场规模不断扩大。市场竞争也日益激烈&#xff0c;各品牌都在努力提升产品性能和服务质量&#xff0c;以获取更大的市场份额。 IDC的统计数据显示&#xff0c;今年双十一前两周&#xff08;2023年10月23日至20…

u盘打不开,提示需要格式化怎么办

U盘作为一种常见的便携式存储设备&#xff0c;被广泛应用于生活和工作中。然而&#xff0c;有时当我们尝试打开U盘时&#xff0c;会出现提示需要格式化的错误信息&#xff0c;这是一种常见的故障。造成这种故障的原因可能包括U盘文件系统错误、病毒感染、物理损坏等。为了解决这…

Python网络爬虫练习

爬取历年中国大学排名(前20名)&#xff0c;并随机选取一所高校画图展示其历年总分变化,并计算平均分&#xff0c;在图上展示该平均分直线&#xff1a; 代码如下&#xff1a; import matplotlib.pyplot as plt import pandas as pd import requests import randomdef main(yea…

如何在C/C++中测量一个函数或者功能的运行时间(串行和并行,以及三种方法的实际情况对比)

本文算是一个比较完整的关于在 C/C 中测量一个函数或者功能的总结&#xff0c;最后会演示三种方法的对比。 最常用的clock() 最常用的测量方法是使用clock()来记录两个 CPU 时间点clock_t&#xff0c;然后做差。这个方法的好处在于非常简单易写&#xff0c;如下&#xff08;第…

语音机器人的两种常见业务场景

第一个业务场景 之前写过一篇语音机器人是真人录音好&#xff0c;还是TTS转语音更好的文章。今天再来说一说TTS一个很细微的场景。 假设一句话 这里是*****银行委托机构&#xff0c;您在*****银行的信用卡长期逾期至今仍未依照约定履行还款义务&#xff0c;为避免逃废债给您…