CSS变量

变量的声明


声明变量的时候,变量名前面要加两根连词线(--),看下图:

    body {
      --foo: #7F583F;
      --bar: #F7EFD2;
    }

也就是说,把颜色#7F583F用变量--foo来代替。
有效范围是body选择器范围。
各种值都可以用CSS变量来代替。

    :root{
      --main-color: #4d4e53;
      --main-bg: rgb(255, 255, 255);
      --logo-border-color: rebeccapurple;

      --header-height: 68px;
      --content-padding: 10px 20px;

      --base-line-height: 1.428571429;
      --transition-duration: .35s;
      --external-link: "external link";
      --margin-top: calc(2vh + 20px);
    }

变量名大小写敏感,--header-color和--Header-Color是两个不同变量。

var() 函数


var()函数用于读取变量。

    a {
      color: var(--foo);
      text-decoration-color: var(--bar);
    }

var()函数还可以使用第二个参数,表示变量的默认值。如果该变量不存在,就会使用这个默认值。

    color: var(--foo, #7F583F);

作用域

  body {
    --foo: #7F583F;
  }

  .content {
   --bar: #F7EFD2;
   }

上面代码中,变量--foo的作用域是body选择器的生效范围,--bar的作用域是.content选择器的生效范围。

由于这个原因,全局的变量通常放在根元素:root里面,确保任何选择器都可以读取它们。

    http://www.ruanyifeng.com/blog/2017/05/css-variables.html
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,768评论 19 139
  • 今年三月,微软宣布 Edge 浏览器将支持 CSS 变量。这个重要的 CSS 新功能,所有主要浏览器已经都支持了。...
    俊_杰阅读 1,605评论 0 1
  • 团花群里好多资深种草机,这不,吴大机又给我种了粉玫瑰。看了图片就天天盼有自己的一桶粉玫瑰,终于……终于……终于阿莫...
    三月暖阳2017阅读 2,187评论 0 1
  • 说说你在两性相处过程中的小妙招或者小故事吧。 (话题来自猫友芬芬) 老公追我那会儿天天给我唱《月亮代表我的心》,我...
    捡到蜜罐的熊阅读 1,131评论 0 0
  • 写作最能检验一个人的思考能力。 很多人都有类似的经验:一个话题刚看到的时候觉得自己心领神会了,但当自己和别人阐述时...
    摄影师柳丁阅读 1,306评论 2 2