Heim > Web-Frontend > CSS-Tutorial > Grundhaltungen von Sass

Grundhaltungen von Sass

高洛峰
Freigeben: 2016-10-15 10:24:02
Original
1132 Leute haben es durchsucht

Was ist SASS?

Traditionelles CSS ist eine einfache Datei mit beschreibendem Stil, aber SASS kann CSS vorkompilieren. Dynamische Sprachfunktionen wie Variablen, Funktionen und Vererbung können im SASS-Quellcode verwendet und in CSS-Dateien kompiliert werden.

Installation und Verwendung

Installation

Da Sass in Ruby geschrieben ist, müssen Sie die Ruby-Umgebung installieren, wenn Sie Sass verwenden möchten. Dann verwenden Sie gem, um Sass zu installieren. Geben Sie den folgenden Befehl ein, um Sass zu installieren:

gem install sass
Nach dem Login kopieren

Sie können den Befehl sass -v verwenden, um die Sass-Version anzuzeigen.

Verwenden Sie

, um eine neue Quellcodedatei mit dem Suffix .scss zu erstellen, und dann können Sie den Sass-Quellcode bearbeiten. Verwenden Sie dann den folgenden Befehl, um die Quellcodedatei zu kompilieren, in CSS zu konvertieren und auf dem Bildschirm anzuzeigen.

sass test.scss
Nach dem Login kopieren

Sie können den Dateinamen auch mit dem Suffix .css hinzufügen, um eine CSS-Datei im aktuellen Verzeichnis zu generieren. Wie folgt:

sass test.scss test.css
Nach dem Login kopieren

Hinweis: Der Unterschied zwischen .sass und .scss besteht darin, dass für .sass-Dateien sehr strenge Anforderungen an das Codelayout gelten und es keine geschweiften Klammern oder Semikolons gibt.

Befehlsparameter

--style: Kompilierungsstil Sass bietet vier Kompilierungsstiloptionen:

nested: Verschachtelter eingerückter CSS-Code, der der Standardwert ist.

expanded: Nicht eingerückter, erweiterter CSS-Code.

kompakt: CSS-Code in einem prägnanten Format.

komprimiert: komprimierter CSS-Code.

z.B.

sass test.scss test.css --style compressed
Nach dem Login kopieren

--watch: Dateiänderungen überwachen Sass kann Änderungen an Quelldateien überwachen und automatisch eine kompilierte Version generieren. z.B.

//监听单个文件
sass --watch test.scss:test.css
//监听目录
sass --watch sassFileDirectory:cssFileDirectory
Nach dem Login kopieren

Variablen

SASS verwendet $, um Variablen zu definieren

$white:#FFFFFF;
body{
    color: $white;
}
Nach dem Login kopieren

Wenn Sie eine Variable in eine Zeichenfolge einfügen müssen, müssen Sie die Variable hineinschreiben #{}

$imgUrl:"../img/test.png";
body{
    background-image: url(#{$imgUrl});
}
Nach dem Login kopieren

Operationen

SASS ermöglicht die Verwendung von Berechnungen im Code

$min-left:10px;
body{
    margin-left:$min-left+20px;
}
Nach dem Login kopieren

Verschachtelung

SASS ermöglicht verschachtelte Regeln

div{
    //选择器嵌套
    p{
        color:#FFFFFF;
    }
    //属性嵌套
    margin:{
        left:10px;
    }
    //伪类嵌套
    &:hover{
        color:#F4F4F4;
    }
}
Nach dem Login kopieren

wird im CSS-Stil kompiliert:

div {
  margin-left: 10px;
}
div p {
  color: #FFFFFF;
}
div:hover {
    color: #F4F4F4;
}
Nach dem Login kopieren

Inherited

SASS kann @extend verwenden, um von einem anderen Selektor zu erben.

.page{    background-color:#F7F7F7;
}.div1{
    @extend .page;    color:#FFFFFF;
}
Nach dem Login kopieren

Mixin

SASS提供Mixin类似“函数”的重用代码块。 使用@mixin定义样式代码块,然后使用@include调用该样式。 不同于@extend的是Mixin定义样式不会编译输出在CSS样式中,并且可以指定参数和默认值。

//不带参数的mixin@mixin page{    background-color:#F7F7F7;
}//带参数的mixin@mixin setDefMargin($left, $right, $bottom: 10px,$top: 10px){    margin:$top $right $bottom $left;
}.test{
    @include page;
    @include setDefMargin(20px,30px);    color:#FFFFFF;
}
Nach dem Login kopieren

需要注意的是,必须先定义没有默认值的参数,后指定有默认值的参数。

Import

sass可以使用@import语句,来引用指定的外部文件。

//引入scss文件
@import "variable.scss";
//引入css样式文件
@import "style.css";
Nach dem Login kopieren

条件语句

使用@if和@else语句可以用来做条件判断

$min-margin: 10px;
@mixin init-margin($left){    //判断传入的参数是否大于最小值
    @if $left > $min-margin {        margin-left: $left;
    } @else {        margin-left: $min-margin;
    }
}body {
    @include init-margin(5px);
}
Nach dem Login kopieren

循环语句

FOR循环

使用@for来定义循环体。 $i表示循环变量,from 后面跟上开始数值,to后面跟结束数值。

@for $i from 1 to 20 {
    .page-index#{$i} {
        color: #FFFFFF;
    }
}
Nach dem Login kopieren

WHILE循环

使用@while定义循环体,后面跟循环条件。

//循环变量$i: 2;
@while $i<10{    page-index#{$i} {
        color: #F4F4F4;
    }
    $i=$i=1;
}
Nach dem Login kopieren

自定义函数

使用@function语句可以自定义函数,@return表示函数的返回值

@function calcNumber($num) {
    @return $num+10;
}body {    margin-left: calcNumber(20px);
}
Nach dem Login kopieren


Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage