成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

sass筆記-2|Sass基礎(chǔ)語法之讓樣式表更具條理性和可讀性

CloudDeveloper / 3514人閱讀

摘要:這個(gè)時(shí)候小明如果僅僅引入不想改,那么就是這個(gè)值,如果他想改,就可以在任何一處重新聲明這個(gè)變量,那么就會(huì)變成小明的值。

這一篇主要詳述保持sass條理性和可讀性的3個(gè)最基本方法——嵌套、導(dǎo)入和注釋。

零. 變量

變量本身的作用是為了保持屬性值的可維護(hù)性,把所有需要維護(hù)的屬性值放在同一個(gè)地方,快速更改,處處生效,可謂售后無憂。

1.變量聲明

變量用"$"符號(hào)開頭進(jìn)行聲明,任何可以用作CSS屬性值的東西都可以用作sass變量的值,單個(gè)值、空格分開的多個(gè)值、逗號(hào)分開的多個(gè)值都可以:

$primary-color: #233;
$general-border: 1px solid #ffffd;

變量一般聲明在sass源代碼的開頭處,CSS規(guī)則塊外(花括號(hào)外面),便于尋找和維護(hù),不過有時(shí)候你也想將變量聲明在規(guī)則塊內(nèi),這也是沒有問題的,只是這樣就只能在塊內(nèi)使用,類似“塊作用域”。

2.變量使用

凡是CSS屬性的標(biāo)準(zhǔn)值可存在的地方,變量都可以使用,而且變量可以被引用在另一個(gè)變量的聲明中:

$primary-color: #233;
$general-border: 1px solid $primary-color;

可能還見到過形如#{$val}這樣去用變量的,用#{}包裹,這其實(shí)是把變量看成一個(gè)表達(dá)式在用,這樣的用法叫插值,這個(gè)在sass高級(jí)特性中再述。

一. 嵌套——層次

嵌套規(guī)則就像洋蔥,一層一層,很有層次感,即可讀性和條理性。最常見的選擇器嵌套,就是一層層打開,一般被包含選擇器作為包含選擇器的后代選擇器展開:

/*sass*/
li{
    float:left;
    a{
        color: #c33;
    }
}
/*生成的css*/
li{
    float:left;
}
li a{
    color:#c33;
}
1. 父選擇器標(biāo)識(shí)符&

父選擇器標(biāo)識(shí)符&可以放在任何一個(gè)選擇器可以出現(xiàn)的地方,代表的就是字面意思——父選擇器,為什么要有這個(gè)東西呢?因?yàn)椴幌霟o腦化被當(dāng)做后代展開,最常見的比如當(dāng)嵌套偽類選擇器時(shí):

li{
    float:left;
    a{
        color: #233;
        &:hover{
            color:#c33;
        }
    }
}
/*這樣生成的CSS是這樣的*/
li{
    float:left;
}
li a{
    color:#233;
}
/*注意這里的a選擇器和偽類選擇器間沒有空格,&被父選擇器直接替換*/
li a:hover{
    color:#c33
}

當(dāng)包含父選擇器標(biāo)識(shí)符的嵌套規(guī)則打開時(shí),不會(huì)簡(jiǎn)單當(dāng)做后代選擇器拼接,而是&被父選擇器直接替換。

偽類是一種常用用法,當(dāng)然這個(gè)“飆師傅”——&——也可以放在選擇器后面(記得遇到&打開時(shí)不是被正常拼接,可以替換):

#content aside{
    color:red;
    body.ie & { color:green }
}
/*輸出的css是這樣的*/
#content aside{
    color:red;
}
body.ie #content aside { color:green }
2. 復(fù)雜選擇器嵌套

群組選擇器,如h1,h2,h3{ a{...} }或者div{ h1,h2,h3{...} },sass會(huì)正確處理,分別打開組合h1 a, h2 a, h3 a{...},div h1, div h2, div h3{...}

子組合選擇器和同層選擇器:>+~ ,sass都會(huì)正確處理,不管它們是在選擇器前還是后

3. 屬性嵌套

寫背景樣式時(shí)寫一堆background-XX很煩吧,屬性嵌套可以幫你減少一些工作量。把屬性名從中劃線的地方斷開,在根屬性后邊添加一個(gè)冒號(hào),緊跟一個(gè)花括號(hào)塊,把子屬性寫在花括號(hào)中:

div{
    background:{
        image: url(./img/233.png);
        repeat: no-repeat;
        size: contain;
    }
}
二. 導(dǎo)入——@import

Sass的@import和CSS的不一樣。CSS的@import,只有在執(zhí)行到的時(shí)候才去下載其他CSS文件,這就影響了頁面加載;而Sass的@import在生成CSS文件的時(shí)候就把相關(guān)文件導(dǎo)入進(jìn)來了。

1.sass的@import語法

Sass的@import并不需要指明被導(dǎo)入文件的全名,即可以省略.sass或者.scss擴(kuò)展名。

此外,每個(gè)sass文件一般會(huì)被輸出成CSS文件,但其實(shí)當(dāng)我們用@import引入sass文件時(shí),我們僅僅希望生成一個(gè)總體的css文件,不需要每個(gè)sass文件都被輸出成css,這樣的文件被稱作"sass局部文件",即不會(huì)被多帶帶編譯輸出成css,用來被引入。

Sass局部文件需要以下劃線開頭,當(dāng)用@import引入時(shí),不僅可以省略擴(kuò)展后綴,也可以省略開頭的下劃線。

所以,假設(shè)我們有一個(gè)"_nav.scss"和一個(gè)"article.scss"需要引入,那么我們僅僅這么寫就夠了:

@import "nav"
@import "article"

而且,sass的@import命令可以寫在CSS規(guī)則內(nèi),這會(huì)使生成的CSS規(guī)則直接被插入到導(dǎo)入的地方。你可以把@import命令看做一個(gè)宏,寫在哪里,那里就被要導(dǎo)入的sass文件源代碼替換。

2. 導(dǎo)入后可定制

導(dǎo)入機(jī)制能讓你的sass根據(jù)某種依據(jù)分成幾個(gè)板塊(如根據(jù)不同的區(qū)域),那么導(dǎo)入某個(gè)sass文件,這個(gè)文件完全決定了這部分的樣式,如顏色、字體、字號(hào)等。

而你想讓導(dǎo)入后,還能修改一些值以定制自己需要的樣式,比如顏色、大小等,尤其是當(dāng)小明想導(dǎo)入你的sass文件時(shí),可能被導(dǎo)入的樣式設(shè)置不能很好滿足他自己的需求,這個(gè)時(shí)候有兩種做法:

小明在導(dǎo)入后,重新去聲明一遍想修改的變量,并且給一個(gè)新的值,寫在后面的值會(huì)覆蓋前面的;

你在你的sass源文件中用!default修飾變量值從而設(shè)置變量默認(rèn)值,再發(fā)布出去給別人用,如$link-color:red !default。這個(gè)時(shí)候小明如果僅僅引入不想改,那么就是這個(gè)值,如果他想改,就可以在任何一處重新聲明這個(gè)變量,那么就會(huì)變成小明的值。

兩種方式都要重新聲明,是不是“脫褲子放屁”呢?嗯,有點(diǎn)這個(gè)意思!區(qū)別在于:

變量值后面用!default修飾,就有了默認(rèn)值,這個(gè)變量不管在哪里被聲明,就會(huì)用聲明的值,這意味著,你可以在引入含有需要修改變量值的sass文件前,聲明這個(gè)變量為你要的值,后面引入的文件中的值不會(huì)覆蓋你聲明的變量值。

3. 怎么回到CSS原生的@import機(jī)制

下面的任一情況都會(huì)導(dǎo)致使用CSS原生的@import機(jī)制:

被導(dǎo)入文件的名字以.css結(jié)尾;

被導(dǎo)入文件的名字是一個(gè)URL地址;

被導(dǎo)入文件的名字是CSS的url()值。

三. 注釋——看得見和看不見

Sass的注釋有兩種形式,一種是來自CSS的注釋風(fēng)格,用*和`*`包裹,這種注釋當(dāng)Sass文件被編譯輸出css時(shí)是會(huì)輸出的,

另一種注釋方式是,以//開頭的單行注釋,這被稱為靜默注釋,因?yàn)檫@樣的注釋在被編譯輸出css時(shí)是不會(huì)被輸出到CSS文件中的,此外,這種注釋寫起來簡(jiǎn)單快捷啊。

四. 小結(jié)

保持條理性和可讀性的3種基本方式,拆分不同板塊的Sass文件,然后通過@import引入;嵌套選擇器和屬性,不但可以幫助增加層次和條理,還能減少打字量(變相減少了打字出錯(cuò));注釋永遠(yuǎn)是一個(gè)好習(xí)慣。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/115362.html

相關(guān)文章

  • sass筆記-1|Sass是如何幫你又快又好地搞定CSS的

    摘要:輸出的是這樣的可以看到,當(dāng)用繼承的樣式時(shí),和也完全套用了的樣式,而且你會(huì)發(fā)現(xiàn),規(guī)則并沒有被重復(fù)輸出,而且這樣的方式更符合我們對(duì)于這幾個(gè)選擇器的認(rèn)知如果你之前用過面向?qū)ο缶幊痰脑挕? Sass學(xué)習(xí)筆記持續(xù)整理中,開篇不講怎么安裝,sass是什么,這些搜索引擎會(huì)告訴你,我們從sass的作用開始講起,知道sass用來干什么,有什么作用,我們才能相信用sass的好處,并且時(shí)時(shí)刻刻想著sass的設(shè)...

    xiaolinbang 評(píng)論0 收藏0
  • sass筆記-3|Sass基礎(chǔ)語法樣式復(fù)用保持簡(jiǎn)潔

    摘要:區(qū)別在于,類是在中運(yùn)用的,混合器是在樣式表中使用的?;居梅ㄟx擇器繼承,用去繼承一個(gè)選擇器定義的所有樣式。繼承背后的基本實(shí)現(xiàn)思路背后最基本的想法是,如果繼承了,那么樣式表中的任何一處選擇器都會(huì)用這一選擇器組進(jìn)行替換和打開。 上一篇詳述了Sass如何嵌套、導(dǎo)入和注釋這3個(gè)基本方式來保持條理性和可讀性,這一篇更進(jìn)一步地闡述sass保持樣式復(fù)用和簡(jiǎn)潔的方式——混合器和選擇器繼承——這兩種方式...

    SmallBoyO 評(píng)論0 收藏0
  • Sass快速入門學(xué)習(xí)筆記

    摘要:在中,你可以像俄羅斯套娃那樣在規(guī)則塊中嵌套規(guī)則塊。這個(gè)過程中,用了兩步,每一步都是像打開俄羅斯套娃那樣把里邊的嵌套規(guī)則塊一個(gè)個(gè)打開。與此類似,會(huì)命中元素和類名為的元素。這種選擇器稱為群組選擇器。1. 使用變量; sass讓人們受益的一個(gè)重要特性就是它為css引入了變量。你可以把反復(fù)使用的css屬性值 定義成變量,然后通過變量名來引用它們,而無需重復(fù)書寫這一屬性值?;蛘?,對(duì)于僅使用過一 次的屬...

    appetizerio 評(píng)論0 收藏0
  • CSS、Sass、Scss,以及sassscss的區(qū)別

    摘要:即元素脫離文檔流的布局,在頁面的任意位置顯示絕對(duì)定位脫離文檔流的布局,遺留下來的空間由后面的元素填充。相對(duì)定位不脫離文檔流的布局,只改變自身的位置,在文檔流原先的位置遺留空白區(qū)域。 1、描述 CSS 指層疊樣式表 (Cascading Style Sheets) Sass (Syntactically Awesome StyleSheets),是由buby語言編寫的一款css預(yù)處理...

    caozhijian 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<