最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CSS中關(guān)于變量的基本教程

淡忘~淺思   發(fā)布時(shí)間:2015-08-03 17:37:15   作者:dwqs   我要評(píng)論
這篇文章主要介紹了CSS中關(guān)于變量的基本教程,是CSS入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

CSS中的變量給了我們諸多優(yōu)點(diǎn):方便、代碼重用、更可靠的代碼庫(kù)和提升防錯(cuò)能力。
示例

CSS Code復(fù)制內(nèi)容到剪貼板
  1. :root {   
  2.   --base-font-size16px;   
  3.   --link-color#6495ed;   
  4. }   
  5. p {   
  6.   font-size: var( --base-font-size );   
  7. }   
  8. a {   
  9.   font-size: var( --base-font-size );   
  10.   color: var( --link-color );   
  11. }  

基礎(chǔ)

當(dāng)使用CSS變量時(shí),你應(yīng)該了解的三個(gè)主要組成:

    自定義屬性
    var()函數(shù)
    :root偽類(lèi)

自定義屬性

你已經(jīng)知道了一些CSS的標(biāo)準(zhǔn)屬性,如color,margin,width和font-size。
下面的示例使用了CSS的color屬性:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. body {   
  2.   color#000000/* The "color" CSS property */  
  3. }  

自定義屬性?xún)H意味著我們(創(chuàng)建CSS文件的人)去定義屬性的名字。
為了自定義一個(gè)屬性名,我們需要用--作為前綴。
如果我們要?jiǎng)?chuàng)建一個(gè)值為黑色的、名為text-color的自定義屬性,可以這樣做:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. :root {   
  2.   --text-color#000000/* A custom property named "text-color" */  
  3. }  

var()函數(shù)

為了應(yīng)用自定義屬性,需要利用var()函數(shù),否則瀏覽器不知道他們代表什么。
如果想要在p、h1和h2中的樣式中使用--text-color,可以這樣使用var()函數(shù):

CSS Code復(fù)制內(nèi)容到剪貼板
  1. :root {   
  2.   --text-color#000000;   
  3. }   
  4. p {   
  5.   color: var( --text-color );   
  6.   font-size16px;   
  7. }   
  8. h1 {   
  9.   color: var( --text-color );   
  10.   font-size42px;   
  11. }   
  12. h2 {   
  13.   color: var( --text-color );   
  14.   font-size36px;   
  15. }  

其等價(jià)于:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. p {   
  2.   color#000000;   
  3.   font-size16px;   
  4. }   
  5. h1 {   
  6.   color#000000;   
  7.   font-size42px;   
  8. }   
  9. h2 {   
  10.   color#000000;   
  11.   font-size36px;   
  12. }  

:root偽類(lèi)

我們需要一個(gè)地方來(lái)放置自定義屬性。雖然可以在任何樣式規(guī)則中指定自定義屬性,但到處定義屬性并不是一個(gè)好主意,這對(duì)CSS的可維護(hù)性和可閱讀性是一個(gè)挑戰(zhàn)。

:root 偽類(lèi)代表了HTML文檔的根元素,這是一個(gè)放置自定義屬性的好位置,因?yàn)槲覀兛梢酝ㄟ^(guò)其他更具特異性的選擇器來(lái)覆蓋自定義屬性值。
CSS變量的好處
可維護(hù)性

在一個(gè)Web開(kāi)發(fā)項(xiàng)目中,我們經(jīng)常重復(fù)使用一個(gè)特定的CSS屬性值:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. h1 {   
  2.   margin-bottom20px;   
  3.   font-size42px;   
  4.   line-height: 120%;   
  5.   colorgray;   
  6. }   
  7. p {   
  8.   margin-bottom20px;   
  9.   font-size18px;   
  10.   line-height: 120%;   
  11.   colorgray;   
  12. }   
  13. img {   
  14.   margin-bottom20px;   
  15.   border1px solid gray;   
  16. }   
  17. .callout {   
  18.   margin-bottom20px;   
  19.   border3px solid gray;   
  20.   border-radius: 5px;   
  21. }  

當(dāng)需要改變某些屬性值時(shí),問(wèn)題就會(huì)暴露出來(lái)了。
如果我們手動(dòng)的改變屬性值,尤其是當(dāng)CSS文件很大時(shí),不僅會(huì)花費(fèi)大量時(shí)間,還可能會(huì)范一些錯(cuò)誤。同樣的,如果我們執(zhí)行一個(gè)批處理查找和替換,就可能會(huì)無(wú)意中影響其他樣式規(guī)則。
我們可以使用CSS變量重寫(xiě):

CSS Code復(fù)制內(nèi)容到剪貼板
  1. :root {   
  2.   --base-bottombottom-margin20px;   
  3.   --base-line-height:   120%;   
  4.   --text-color:         gray;   
  5. }   
  6. h1 {   
  7.   margin-bottom: var( --base-bottombottom-margin );   
  8.   font-size42px;   
  9.   line-height: var( --base-line-height );   
  10.   color: var( --text-color );   
  11. }   
  12. p {   
  13.   margin-bottom: var( --base-bottombottom-margin );   
  14.   font-size18px;   
  15.   line-height: var( --base-line-height );   
  16.   color: var( --text-color );   
  17. }   
  18. img {   
  19.   margin-bottom: var( --base-bottombottom-margin );   
  20.   border1px solid gray;   
  21. }   
  22. .callout {   
  23.   margin-bottom: var( --base-bottombottom-margin );   
  24.   border1px solid gray;   
  25.   border-radius: 5px;   
  26.   color: var( --text-color );   
  27. }  

假設(shè)你現(xiàn)在的客戶(hù)說(shuō)由于文本顏色太亮,導(dǎo)致文本難以閱讀,想要改變文本顏色,此時(shí),我們只需要更新一行CSS規(guī)則:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. --text-colorblack;  

提高CSS的可讀性

自定義屬性會(huì)使樣式表更加易讀,也會(huì)使CSS屬性聲明更有語(yǔ)義。
將這個(gè)聲明

CSS Code復(fù)制內(nèi)容到剪貼板
  1. background-coloryellow;  

和下面的聲明比較一下

CSS Code復(fù)制內(nèi)容到剪貼板
  1. background-color: var( --highlight-color );   
  2. font-size: var( --base-font-size );  

像yellow和18px一類(lèi)的屬性值并沒(méi)有給我們?nèi)魏斡杏玫纳舷挛男畔?,但是?dāng)我們閱讀如--base-font-size和--highlight-color一樣的屬性名時(shí),即便在其他人的代碼,我們都能馬上知道這個(gè)屬性值是在做什么。
要注意的事
大小寫(xiě)敏感

自定義屬性是大小寫(xiě)敏感的(和普通的CSS規(guī)則不一樣)

CSS Code復(fù)制內(nèi)容到剪貼板
  1. :root {   
  2.   --main-bg-colorgreen;   
  3.   --MAIN-BG-COLOR: RED;   
  4. }   
  5. .box {   
  6.   background-color: var( --main-bg-color ); /* green background */  
  7. }   
  8. .circle {   
  9.   BACKGROUND-COLOR: VAR(--MAIN-BG-COLOR ); /* red background */  
  10.   border-radius: 9999em;   
  11. }   
  12. .box,   
  13. .circle {   
  14.   height100px;   
  15.   width100px;   
  16.   margin-top25px;   
  17.   box-sizing: padding-box;   
  18.   padding-top40px;   
  19.   text-aligncenter;   
  20. }  

自定義屬性值的解析

當(dāng)重復(fù)聲明自定義屬性時(shí),其賦值遵循通常的CSS層疊和繼承規(guī)則。例如下面的示例:
HTML

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <body>  
  2.   <div class="container">  
  3.     <a href="">Link</a>  
  4.   </div>  
  5. </body>  

CSS

CSS Code復(fù)制內(nèi)容到剪貼板
  1. :root {   
  2.   --highlight-coloryellow;   
  3. }   
  4. body {   
  5.   --highlight-colorgreen;   
  6. }   
  7. .container {   
  8.   --highlight-colorred;   
  9. }   
  10. a {   
  11.   color: var( --highlight-color );   
  12. }  

當(dāng)移除.container規(guī)則時(shí),鏈接的顏色值將是green。
回退值

當(dāng)使用var()函數(shù)時(shí),可以分配一個(gè)回退的屬性值,其作為一個(gè)額外參數(shù)和第一個(gè)參數(shù)用,隔開(kāi)。看下面的示例:
HTML

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="box">A Box</div>  

CSS

CSS Code復(fù)制內(nèi)容到剪貼板
  1. div {   
  2.   --container-bg-colorblack;   
  3. }   
  4. .box {   
  5.   width100px;   
  6.   height100px;   
  7.   padding-top40px;   
  8.   box-sizing: padding-box;   
  9.   background-color: var( --container-bf-colorred );   
  10.   colorwhite;   
  11.   text-aligncenter;   
  12. }  

因?yàn)榻ovar()傳遞了一個(gè)回退值參數(shù),所以div的背景色最中被渲染成紅色。
無(wú)效值

謹(jǐn)防給CSS屬性分配錯(cuò)誤類(lèi)型的值。
在下面的示例中,由于自定義屬性--small-button被賦予一個(gè)長(zhǎng)度單位,它被用在.small-button樣式中是無(wú)效的(譯者注:因?yàn)閏olor的屬性類(lèi)型值出錯(cuò))

CSS Code復(fù)制內(nèi)容到剪貼板
  1. :root {   
  2.   --small-button: 200px;   
  3. }   
  4. .small-button {   
  5.  color: var(--small-button);   
  6. }  

避免這種情況的一個(gè)好方式是想出具有描述性的自定義屬性名稱(chēng)。例如將上面的自定義屬性命名為--small-button-width
瀏覽器對(duì)CSS變量的支持

CSS變量用起來(lái)很方便,但是瀏覽器對(duì)其支持情況不太好:
201583174022299.png (1228×470)

相關(guān)文章

最新評(píng)論

陵水| 延安市| 吉木萨尔县| 呼伦贝尔市| 岳西县| 册亨县| 普兰县| 堆龙德庆县| 辽阳市| 阿鲁科尔沁旗| 泗水县| 长丰县| 揭东县| 枞阳县| 津南区| 彭州市| 扶余县| 阜城县| 专栏| 册亨县| 通许县| 明星| 南岸区| 汾西县| 芦山县| 宣武区| 象山县| 南华县| 东平县| 天全县| 疏勒县| 根河市| 秦安县| 莱州市| 美姑县| 常熟市| 兴山县| 宁南县| 叶城县| 昌黎县| 依安县|