样式表的结构 - scss 语法
样式表的结构
就像 CSS 一样,大多数 Sass 样式表主要由包含属性声明的样式规则组成。但是 Sass 样式表还有更多的特性可以与这些特性并存。
语句
Sass 样式表由一系列语句组成,这些语句被评估以构建生成的CSS。一些语句可能有块,使用{}
定义,其中包含其他语句。例如,样式规则是带有块的语句。该块包含其他语句,例如属性声明。
在SCSS中,语句由分号分隔(如果语句使用块,则分号是可选的)。在缩进语法中,它们只是用换行符分隔。
通用语句
这些类型的语句可以在 Sass 样式表的任何地方使用:
- 变量声明,如$var: value。
- 流控制规则,如@if和@each。
- @error、@warn、@debug规则。
CSS 语句
这些语句产生CSS。它们可以在除@function之外的任何地方使用:
- 风格规则,例如
h1{/*...*/}
。 - CSS 规则,如
@media
和@font-face
。 - Mixin 使用@include。
- @at-root规则。
_
。
顶级语句
这些语句只能在样式表的顶层使用,或者嵌套在顶层的CSS语句中:
- 模块加载,使用@use。
- 导入,使用@import。
- 使用@mixin。
- 函数定义使用@function。
其他声明
- 像这样的属性声明
width: 100px
只能在样式规则和一些 CSS 规则中使用。 - 该@extend规则只能在样式规则中使用。
表达式
表达式是位于属性或变量声明右侧的任何内容。每个表达式产生一个值。任何有效的CSS属性值也是一个 SASS 表达式,但 SASS 表达式比普通的CSS值强大得多。它们作为参数传递给mixins 和函数,用于使用@if规则进行控制流,并使用算术进行操作。我们将 Sass 的表达式语法称为 SassScript。
面量
最简单的表达式只表示静态值:
- 数字,可能有也可能没有单位,比如
12
、100px
。 - 字符串,可能有也可能没有引号,比如
"Helvetica Neue"
、bold
。 - 颜色,可以通过其十六进制表示或名称来引用,例如
#c6538c
或blue
。 - 布尔值,
true
或false
。 null
值。- 值列表,可以用空格或逗号分隔,可以用方括号括起来,也可以根本没有括号,如
1.5em 1em 0 2em
、Helvetica
、Arial
、sans-serif
或[col1-start]
。 - 将值与键相关联的映射,例如(
"background": red,"foreground": pink
)。
操作符
Sass 定义了许多操作的语法:
==
、!=,用于检查两个值是否相同。+
、-
、*
、/
、%
,对数字具有通常的数学含义。=
,检查两个数是否大于或小于另一个数。and
、or
、not
,具有通常的布尔行为。+
、-
、/
,可用于连接字符串。()
,用于显式控制操作的优先顺序。
其他表达式
- 变量$var。
- 函数调用,比如
nth($list, 1)
、var(--main-bg-color)
,可以调用 Sass 核心库函数或用户自定义函数,也可以直接编译成 CSS。 - 特殊函数,如calc(1px + 100%)、
url(http://myapp.com/assets/logo.png)
,具有自己独特的解析规则。 - 父选择器,&。
- !important,被解析为不带引号的字符串。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)