CSS变量

作者: ferrint | 来源:发表于2017-03-02 19:13 被阅读8次

关键词:变量

不仅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的语法,这样就不用每次都去找命令行编译啦哈哈♪(*)

相关文章

  • CSS | CSS Variable | CSS变量

    CSS | CSS Variable | CSS变量 原生的 CSS 已经支持变量W3C css-variable...

  • css自定义变量

    css是可以支持变量,且所有主流浏览器都支持。css变量又称"css自定义属性",css的变量声明是以“--”前缀...

  • Vue 3单文件驱动的CSS变量(新版语法)是怎么回事

    什么是CSS变量 本文已经假设你熟悉CSS变量,如果不熟悉,可以看我写的CSS变量基础知识:https://www...

  • css变量操作

    css变量

  • css变量详解

    css变量 css变量可以优雅的利用js控制css动画。改变传统通过js设置css样式的模式。使代码更加整洁。 v...

  • 【一起来烧脑】一步Sass学会体系

    CSS 的辅助工具增加了变量,嵌套,混合,导入 等高级功能 使用变量 变量声明 Sass变量声明和CSS属性的声明...

  • CSS 变量

    CSS 变量 参考链接 今年三月,微软宣布 Edge 浏览器将支持 CSS 变量。这个重要的 CSS 新功能,所有...

  • css 变量 --*

    何为css变量 随着各种css预编译工具sass,less,stylus的逐渐流行,css中引入变量已经成为一种趋...

  • css变量使用var

    CSS变量(CSS Variables/Custom Properties) (1)变量属性的定义在一个类选择器下...

  • CSS 变量

    前几天在微信上看到了一篇文章,教做了一个炫酷的点击按钮,效果图如下: 这个效果用到了CSS变量,哇,觉得给我打开了...

网友评论

    本文标题:CSS变量

    本文链接:https://www.haomeiwen.com/subject/ouykgttx.html