sass intermediate grammar
github address: https://github.com/lily1010/sass/tree/master/course02
The sass syntax used is:
sass --watch test.scss:test.css --style compact --style expanded
As shown below:
1 Class name nesting
test.scss content is:
<span style="color: #000000;">.test1 { font-size: .15rem; p{ color: #333; .test11 { width: 3px; } } }</span>
The content compiled into test.css is:
<span style="color: #000000;">.test1 { font-size: .15rem; } .test1 p { color: #333; } .test1 p .test11 { width: 3px; }</span>
2 Attribute nesting
test.scss content is:
<span style="color: #000000;">.test2 { margin: { left: 10px; right: 20px; } } .test21 { margin: 0 0 0 0{ /*命名空间也可以有自己的属性*/ left: 10px; right: 20px; } }</span>
The content compiled into test.css is:
<span style="color: #000000;">.test2 { margin-left: 10px; margin-right: 20px; } .test21 { margin: 0 0 0 0; margin-left: 10px; margin-right: 20px; }</span>
3 Reference the parent selector and precisely position the parent selector and reverse it to become the parent selector
test.scss content is:
<span style="color: #000000;">.a { font-size: .15rem; &:hover { //引用父选择器 color: red; } .ll { //精确定位父选择器 color: black; &:hover { height: 20px; } } .test3 & { //反向成为父选择器 width: 10px; } }</span>
The content compiled into test.css is:
<span style="color: #000000;">.a { font-size: .15rem; } .a:hover { color: red; } .a .ll { color: black; } .a .ll:hover { height: 20px; } .test3 .a { width: 10px; }</span>
4 Global variables
test.scss content is:
<span style="color: #000000;">/*方法一*/ $color: red; .test4 { color: $color; } /*方法二*/ .test41 { $red: red !global; color: $red; } .test42 { color: $red; }</span>
The content compiled into test.css is:
<span style="color: #000000;">/*方法一*/ .test4 { color: red; } /*方法二*/ .test41 { color: red; } .test42 { color: red; }</span>
5 A quoted string will be compiled into an unquoted string
test.scss content is:
<span style="color: #000000;">@mixin test5($left) { //此处$不可去掉 border-#{$left}:1px #000 solid; left: 20px; top: 10px; } .lili2 { @include test5("left"); }</span>
The content compiled into test.css is:
<span style="color: #000000;">.lili2 { border-left: 1px #000 solid; left: 20px; top: 10px; }</span>
6 Learn about division
test.scss content is:
<span style="color: #000000;">/*需要注意:Sass 数学函数在算术运算期间会保留单位 *可以将/解析为除法三种情况 *(1)如果该值,或值的任何部分,存储在一个变量中或通过函数返回。 * (2)如果该值是由括号括起来的,除非这些括号是在一个列表(list)外部,并且值是括号内部。 * (3)如果该值被用作另一个算术表达式的一部分。 */ p { font-size: 10px/2px; // 原生的CSS,不作为除法 $width: 100px; width: $width/2; height: (100px/2); margin-left: 5px + 8px/2px; }</span>
The content compiled into test.css is:
<span style="color: #000000;">p { font-size: 10px/2px; width: 50px; height: 50px; margin-left: 9px; }</span>
7 Color Operation
test.scss content is:
<span style="color: #000000;">.test7 { color: #302010 + #333333; } .test71 { color: #010101 * 2; } .test72 { color: rgba(0,0,0,0.3) + rgba(1,1,1,0.3); //必须具有相同的alpha值,才能进行颜色运算,但是alpha不变 } /*如果想让alpha值变化,则需要计算函数*/ .test73 { color: opacify(rgba(0,0,0,0.3),0.3); }</span>
The content compiled into test.css is:
<span style="color: #000000;">.test7 { color: #635343; } .test71 { color: #020202; } .test72 { color: rgba(1, 1, 1, 0.3); } /*如果想让alpha值变化,则需要计算函数*/ .test73 { color: rgba(0, 0, 0, 0.6); }</span>
8 String operations
test.scss content is:
<span style="color: #000000;">.test8 { width: 2px + 3px; } .test81::after { //带引号字符串和不带引号字符串,谁在前面就以谁为主 font-family: "arial" + black; content: lala + "lili"; } $value: 20; //在字符串里面插入动态值 .test82::before { content: "wo ke yi #{$value} lili"; }</span>
The content compiled into test.css is:
<span style="color: #000000;">.test8 { width: 5px; } .test81::after { font-family: "arialblack"; content: lalalili; } .test82::before { content: "wo ke yi 20 lili"; }</span>
9 Parentheses increase priority
test.scss content is:
<span style="color: #000000;">.test9 { width: 1px + (2px * 3); }</span>
The content compiled into test.css is:
<span style="color: #000000;">.test9 { width: 7px; }</span>
10 Default variables !default
test.scss content is:
<span style="color: #000000;">/*如果分配给变量的值后面添加了!default标志 ,这意味着该变量如果已经赋值,那么它不会被重新赋值,但是,如果它尚未赋值,那么它会被赋予新的给定值。*/ $color: red; $color: pink !default; .test10 { color: $color; }</span>
The content compiled into test.css is:
<span style="color: #000000;">.test10 { color: red; }</span>

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

HTML is suitable for beginners because it is simple and easy to learn and can quickly see results. 1) The learning curve of HTML is smooth and easy to get started. 2) Just master the basic tags to start creating web pages. 3) High flexibility and can be used in combination with CSS and JavaScript. 4) Rich learning resources and modern tools support the learning process.

HTML defines the web structure, CSS is responsible for style and layout, and JavaScript gives dynamic interaction. The three perform their duties in web development and jointly build a colorful website.

AnexampleofastartingtaginHTMLis,whichbeginsaparagraph.StartingtagsareessentialinHTMLastheyinitiateelements,definetheirtypes,andarecrucialforstructuringwebpagesandconstructingtheDOM.

WebdevelopmentreliesonHTML,CSS,andJavaScript:1)HTMLstructurescontent,2)CSSstylesit,and3)JavaScriptaddsinteractivity,formingthebasisofmodernwebexperiences.

GiteePages static website deployment failed: 404 error troubleshooting and resolution when using Gitee...

The Y-axis position adaptive algorithm for web annotation function This article will explore how to implement annotation functions similar to Word documents, especially how to deal with the interval between annotations...

To achieve the effect of scattering and enlarging the surrounding images after clicking on the image, many web designs need to achieve an interactive effect: click on a certain image to make the surrounding...

HTML, CSS and JavaScript are the three pillars of web development. 1. HTML defines the web page structure and uses tags such as, etc. 2. CSS controls the web page style, using selectors and attributes such as color, font-size, etc. 3. JavaScript realizes dynamic effects and interaction, through event monitoring and DOM operations.
