CSS变量

关键词:变量

不仅sass,less等可以使用变量,原生的css也是支持变量的,不知道大家有没有用过

语法:var( <自定义属性名> ,[<默认值 ]? ) 默认值可省略

   :root {
    --cl: #eee;
   }

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

此时 #00BCD4不生效;

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

此时 #00BCD4生效,因为变量没有定义

CSS变量不合法的缺省特性

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

会被这样解析
* background-color: transparent;
CSS变量的空格尾随特性

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

会被这样解析
* font-size:20 px; //多了一个空格
但是我们可以这样写

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;
    }
}

通过变量,我们就完成了响应式布局,是不是超级方便啊!!!
希望css能引进更多sass,less的语法,这样就不用每次都去找命令行编译啦哈哈♪(*)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今年三月,微软宣布 Edge 浏览器将支持 CSS 变量。这个重要的 CSS 新功能,所有主要浏览器已经都支持了。...
    俊_杰阅读 1,605评论 0 1
  • 再谈CSS 预处理器2016-09-09 Justineo JavaScript转自:http://efe.bai...
    抓住时间的尾巴吧阅读 5,552评论 0 2
  • 1. iOS三种多线程技术 NSThread每个NSThread对象对应一个线程,量级较轻(真正的多线程) NSO...
    齐舞647阅读 5,591评论 0 4
  • 艺体生,一直被歧视,被瞧不起的群体,也经常人们流传的一句话:走艺体多简单嘛,无非就是读大学的一条捷径吗。但却不知的...
    雨后故人阅读 3,335评论 2 1
  • 最近公司接的项目,客户要求打一个越狱包,然后度娘了一下,以下是我找到的方法: 第一步: 首先将项目进行Archiv...
    CoderJohnhao阅读 8,016评论 0 2