CSS變量

關(guān)鍵詞:變量

不僅sass,less等可以使用變量,原生的css也是支持變量的,不知道大家有沒有用過

語法:var( <自定義屬性名> ,[<默認(rèn)值 ]? ) 默認(rèn)值可省略

   :root {
    --cl: #eee;
   }

   body {
     background-color: var(--cl,  #00BCD4);
   }

此時(shí) #00BCD4不生效;

   .box{
    --in: #ccc;
   }
   body {
     background-color: var(--in,  #00BCD4);
   }

此時(shí) #00BCD4生效,因?yàn)樽兞繘]有定義

CSS變量不合法的缺省特性

body {
  --color: 20px;
  background-color: #369;
  background-color: var(--color, #300);  // 不合法,背景變透明
}

會(huì)被這樣解析
* background-color: transparent;
CSS變量的空格尾隨特性

body {
  --size: 20;   
  font-size: var(--size)px;  // 不合法,無效
}

會(huì)被這樣解析
* font-size:20 px; //多了一個(gè)空格
但是我們可以這樣寫

body {
  --size: 20;   
  font-size: calc(var(--size) * 1px);  // 合法
}

小demo

.box {
    --columns: 4;
    --margins: calc(24px / var(--columns));
    --space: calc(4px * var(--columns));
    --fontSize: calc(20px - 4 / var(--columns));
}
@media screen and (max-width: 1200px) {
    .box {
        --columns: 3;
    }
}
@media screen and (max-width: 900px) {
    .box {
        --columns: 2;
    }
}
@media screen and (max-width: 600px) {
    .box {
        --columns: 1;
    }
}

通過變量,我們就完成了響應(yīng)式布局,是不是超級(jí)方便啊!!!
希望css能引進(jìn)更多sass,less的語法,這樣就不用每次都去找命令行編譯啦哈哈?(?*)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 今年三月,微軟宣布 Edge 瀏覽器將支持 CSS 變量。這個(gè)重要的 CSS 新功能,所有主要瀏覽器已經(jīng)都支持了。...
    俊_杰閱讀 239評(píng)論 0 1
  • 再談CSS 預(yù)處理器2016-09-09 Justineo JavaScript轉(zhuǎn)自:http://efe.bai...
    抓住時(shí)間的尾巴吧閱讀 1,604評(píng)論 0 2
  • 1. iOS三種多線程技術(shù) NSThread每個(gè)NSThread對(duì)象對(duì)應(yīng)一個(gè)線程,量級(jí)較輕(真正的多線程) NSO...
    齊舞647閱讀 1,697評(píng)論 0 4
  • 藝體生,一直被歧視,被瞧不起的群體,也經(jīng)常人們流傳的一句話:走藝體多簡(jiǎn)單嘛,無非就是讀大學(xué)的一條捷徑嗎。但卻不知的...
    雨后故人閱讀 492評(píng)論 2 1
  • 最近公司接的項(xiàng)目,客戶要求打一個(gè)越獄包,然后度娘了一下,以下是我找到的方法: 第一步: 首先將項(xiàng)目進(jìn)行Archiv...
    CoderJohnhao閱讀 2,979評(píng)論 0 2