Heim Web-Frontend HTML-Tutorial sass中级语法

sass中级语法

Aug 27, 2016 am 08:53 AM

github地址:https://github.com/lily1010/sass/tree/master/course02

用到的sass语法是:

sass --watch test.scss:test.css --style compact --style expanded

如下图:

 

 

1 类名嵌套

test.scss内容是:

<span style="color: #000000;">.test1 {
    font-size: .15rem;
    p{
        color: #333;
        .test11 {
            width: 3px;
        }
    }
}</span>
Nach dem Login kopieren

编译成test.css内容是:

<span style="color: #000000;">.test1 {
  font-size: .15rem;
}
.test1 p {
  color: #333;
}
.test1 p .test11 {
  width: 3px;
}</span>
Nach dem Login kopieren

 

2 属性嵌套

test.scss内容是:

<span style="color: #000000;">.test2 {
    margin: {
        left: 10px;
        right: 20px;
    }
}
.test21 {
    margin: 0 0 0 0{    /*命名空间也可以有自己的属性*/
        left: 10px;
        right: 20px;
    }
}</span>
Nach dem Login kopieren

编译成test.css内容是:

<span style="color: #000000;">.test2 {
  margin-left: 10px;
  margin-right: 20px;
}

.test21 {
  margin: 0 0 0 0;
  margin-left: 10px;
  margin-right: 20px;
}</span>
Nach dem Login kopieren

 

3 引用父选择器和精确定位父选择器和反向成为父选择器

test.scss内容是:

<span style="color: #000000;">.a {
    font-size: .15rem;
    &:hover {           //引用父选择器
        color: red;
    }
    .ll {               //精确定位父选择器
       color: black;
        &:hover {
            height: 20px;
        }
    }
    .test3 & {          //反向成为父选择器
        width: 10px;
    }
}</span>
Nach dem Login kopieren

编译成test.css内容是:

<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>
Nach dem Login kopieren

 

4 全局变量

test.scss内容是:

<span style="color: #000000;">/*方法一*/
$color: red;
.test4 {
    color: $color;
}
/*方法二*/
.test41 {
    $red: red !global;
    color: $red;
}
.test42 {
    color: $red;
}</span>
Nach dem Login kopieren

编译成test.css内容是:

<span style="color: #000000;">/*方法一*/
.test4 {
  color: red;
}

/*方法二*/
.test41 {
  color: red;
}

.test42 {
  color: red;
}</span>
Nach dem Login kopieren

 

5 带引号的字符串将被编译为不带引号的字符串

test.scss内容是:

<span style="color: #000000;">@mixin test5($left) {   //此处$不可去掉
    border-#{$left}:1px #000 solid;
    left: 20px;
    top: 10px;
}
.lili2 {
    @include test5("left");
}</span>
Nach dem Login kopieren

编译成test.css内容是:

<span style="color: #000000;">.lili2 {
  border-left: 1px #000 solid;
  left: 20px;
  top: 10px;
}</span>
Nach dem Login kopieren

 

6 精讲除法

test.scss内容是:

<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>
Nach dem Login kopieren

编译成test.css内容是:

<span style="color: #000000;">p {
  font-size: 10px/2px;
  width: 50px;
  height: 50px;
  margin-left: 9px;
}</span>
Nach dem Login kopieren

 

7 颜色运算

test.scss内容是:

<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>
Nach dem Login kopieren

编译成test.css内容是:

<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>
Nach dem Login kopieren

 

8 字符串运算

test.scss内容是:

<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>
Nach dem Login kopieren

编译成test.css内容是:

<span style="color: #000000;">.test8 {
  width: 5px;
}

.test81::after {
  font-family: "arialblack";
  content: lalalili;
}

.test82::before {
  content: "wo ke yi 20 lili";
}</span>
Nach dem Login kopieren

 

9 圆括号提升优先级

test.scss内容是:

<span style="color: #000000;">.test9 {
    width: 1px + (2px * 3);
}</span>
Nach dem Login kopieren

编译成test.css内容是:

<span style="color: #000000;">.test9 {
  width: 7px;
}</span>
Nach dem Login kopieren

 

10 默认变量 !default

test.scss内容是:

<span style="color: #000000;">/*如果分配给变量的值后面添加了!default标志 ,这意味着该变量如果已经赋值,那么它不会被重新赋值,但是,如果它尚未赋值,那么它会被赋予新的给定值。*/
$color: red;
$color: pink !default;
.test10 {
    color: $color;
}</span>
Nach dem Login kopieren

编译成test.css内容是:

<span style="color: #000000;">.test10 {
  color: red;
}</span>
Nach dem Login kopieren

 

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der Zweck des & lt; Fortschritts & gt; Element? Was ist der Zweck des & lt; Fortschritts & gt; Element? Mar 21, 2025 pm 12:34 PM

Der Artikel erörtert den HTML & lt; Progress & gt; Element, Absicht, Styling und Unterschiede vom & lt; Meter & gt; Element. Das Hauptaugenmerk liegt auf der Verwendung & lt; Fortschritt & gt; Für Aufgabenabschluss und & lt; Meter & gt; für stati

Was ist der Zweck des & lt; datalist & gt; Element? Was ist der Zweck des & lt; datalist & gt; Element? Mar 21, 2025 pm 12:33 PM

Der Artikel erörtert den HTML & lt; Datalist & gt; Element, das die Formulare verbessert, indem automatische Vorschläge bereitgestellt, die Benutzererfahrung verbessert und Fehler reduziert werden.Character Count: 159

Was ist der Zweck des & lt; Meter & gt; Element? Was ist der Zweck des & lt; Meter & gt; Element? Mar 21, 2025 pm 12:35 PM

Der Artikel erörtert das HTML & lt; Meter & gt; Element, verwendet zur Anzeige von Skalar- oder Bruchwerten innerhalb eines Bereichs und seine gemeinsamen Anwendungen in der Webentwicklung. Es differenziert & lt; Meter & gt; von & lt; Fortschritt & gt; und Ex

Was sind die besten Praktiken für die Kompatibilität des Cross-Browsers in HTML5? Was sind die besten Praktiken für die Kompatibilität des Cross-Browsers in HTML5? Mar 17, 2025 pm 12:20 PM

In Artikel werden Best Practices zur Gewährleistung der HTML5-Cross-Browser-Kompatibilität erörtert und sich auf die Erkennung von Merkmalen, die progressive Verbesserung und die Testmethoden konzentriert.

Wie benutze ich die HTML5 & lt; Zeit & gt; Element, um Daten und Zeiten semantisch darzustellen? Wie benutze ich die HTML5 & lt; Zeit & gt; Element, um Daten und Zeiten semantisch darzustellen? Mar 12, 2025 pm 04:05 PM

Dieser Artikel erklärt den HTML5 & lt; Time & gt; Element für semantische Datum/Uhrzeit. Es betont die Wichtigkeit des DateTime-Attributs für die Maschinenlesbarkeit (ISO 8601-Format) neben menschenlesbarem Text, das Zubehör steigert

Wie verwende ich HTML5 -Formularvalidierungsattribute, um die Benutzereingabe zu validieren? Wie verwende ich HTML5 -Formularvalidierungsattribute, um die Benutzereingabe zu validieren? Mar 17, 2025 pm 12:27 PM

In dem Artikel werden unter Verwendung von HTML5 -Formularvalidierungsattributen wie Erforderlich, Muster, Min, MAX und Längengrenzen erörtert, um die Benutzereingabe direkt im Browser zu validieren.

Was ist das Ansichtsfenster -Meta -Tag? Warum ist es wichtig für reaktionsschnelles Design? Was ist das Ansichtsfenster -Meta -Tag? Warum ist es wichtig für reaktionsschnelles Design? Mar 20, 2025 pm 05:56 PM

In dem Artikel wird das Ansichtsfenster -Meta -Tag erörtert, das für das reaktionsschnelle Webdesign auf mobilen Geräten unerlässlich ist. Es wird erläutert, wie die ordnungsgemäße Verwendung eine optimale Skalierung von Inhalten und Benutzerinteraktion gewährleistet, während Missbrauch zu Design- und Zugänglichkeitsproblemen führen kann.

Was ist der Zweck des & lt; iframe & gt; Etikett? Was sind die Sicherheitsüberlegungen bei der Verwendung? Was ist der Zweck des & lt; iframe & gt; Etikett? Was sind die Sicherheitsüberlegungen bei der Verwendung? Mar 20, 2025 pm 06:05 PM

Der Artikel erörtert das & lt; iframe & gt; Der Zweck von Tag, externe Inhalte in Webseiten, seine gemeinsamen Verwendungen, Sicherheitsrisiken und Alternativen wie Objekt -Tags und APIs einzubetten.

See all articles