首页 > 其他分享 >css变量的声明和读取

css变量的声明和读取

时间:2022-09-30 23:44:43浏览次数:52  
标签:读取 -- color red var css 变量

 

1、css变量的声明

  使用--声明变量($被sass用掉了,@被less用掉了)

  <style>
    :root {
      --color: red;
    }
  </style>

  root为根元素,相当于给html设置了css变量

    /* :root 相当于 html */
    html {
      --color: red;
    }

 

2、变量的读取

  通过val函数读取

    div {
      color: var(--color);
    }

  

  val函数第二个参数,可选值,当变量不存在时读取第二个值

   

 

3、变量的类型

  ①当变量的类型为字符串时,可以与其他字符串拼接

    div::after {
      --text1: 'hello ';
      --text2: var(--text1) 'world';
      content: var(--text2, '萨瓦迪卡') '!'
    }

  

 

  ②当变量的类型为数字时,不能和单位直接拼接,需要用calc函数拼接

复制代码
    div {
      color: var(--color, blue);
      --width: 50;
      width: calc(var(--width) * 1px);
      background-color: red;
    }
复制代码

  

 

4、变量的作用域

  变量的作用域就是它所在选择器的范围

  当作用域内有多个同名变量,按优先级最高的生效,同样式生效的规则一致

    

  全局的变量通常放在根元素:root里面,这样任何选择器都可以读取

 

5、响应式布局

复制代码
    <style>
      body {
        --primary: blue;
        --secondary: blue;
      }
      a {
        color: var(--primary);
        text-decoration-color: var(--secondary);
      }
      @media screen and (min-width: 350px) {
        body {
          --primary: red;
          --secondary: red;
        }
      }
    </style>
  </head>
  <body>
    <a href="">链接1</a>
    <a href="">链接2</a>
  </body>
复制代码

  

  

 

6、兼容性处理

      div{
        color: red;
        color: val(--color);
      }

 

7、内联重新赋值css变量

  通过getComputedStyle(document.documentElement).getPropertyValue('--c-999')可以获取到html标签中定义的--c-999变量

  ①此时div的颜色为#999

  

  ②style属性中可以重新定义--c-999的颜色

  

 

8、js操作

  ①通过setProperty设置css变量

  

  ②通过removeProperty删除css变量

  

  ③写一段在css中无用但在js中可以读取的代码

复制代码
  <style>
    :root {
      --foo: if(x > 5) this.width = 10;
    }
  </style>
</head>
<body>
  <script>
    const res = getComputedStyle(document.documentElement).getPropertyValue('--foo')
    console.log(res.trim()) // if(x > 5) this.width = 10
  </script>
</body>
复制代码

标签:读取,--,color,red,var,css,变量
From: https://www.cnblogs.com/coderwhytop/p/16746559.html

相关文章

  • css filter 的contrast和blur的奇妙组合- 使用场景
    圆角大杀器,使用滤镜构建圆角及波浪效果!Coco国服第一切图仔 16人赞同了该文章本文,将另辟蹊径,介绍一种使用滤镜去构建圆角的独特方式。首先,......
  • Sass 变量使用、数值运算以及@import 导入
    前言本文主要记录了Sass基本用法,包含变量的使用、简单的数值运算、@import导入Sass文件以及Sass@import与CSS@import的区别。变量使用在Sass中,支持使用变量,变量......
  • static extern修饰变量与函数的理解
    头文件:扩大“全局”变量,“全局”函数,让作用域更广;全局变量:static变量,函数extern变量,函数 ......
  • CSS篇十——(3)
    一、CSS的背景CSS设置背景颜色、背景图片、背景平铺、背景图片位置见​​CSS篇十——(2)​​5.背景图像固定(背景附着)background-attachment属性设置背景图像是否固定或者随着......
  • Java基础之变量
    Java基础之变量目录Java基础之变量1.变量概述1.1为什么需要变量1.2简单理解1.3变量使用注意事项1.4程序中+号的使用1.5Java数据类型1.6整数类型1.6.1基本介绍1.6.2......
  • 【python基础教程】csv文件的写入与读取
      csv的简单介绍 CSV(CommaSeparatedValues),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,用以存储表格数据,包括数字或者字符。很多程......
  • ts重点学习30-变量声明和解构笔记
    exportdefault{}//变量声明的方式//var|let|const//数组解构letgoddess=["邱淑贞","赵雅芝","张敏"];let[first,second,a,b]=goddess;//c......
  • CSS篇十——(1)
    一、CSS的背景通过CSS背景属性,可以给页面元素添加背景样式。背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。1.背景颜色background-color......
  • 模板变量替换(正则表达式)
    publicclassTemplateReplaceTest{publicstaticvoidmain(String[]args){Stringsql="INSERTINTO${tableName}"+"(${COLUMNS})......
  • threejs-模型点击以及添加CSS2DObject
    模型点击事件网上教程挺多的,官网好像也有demo,这里我就只记录我碰到的问题以及解决方案:首先要清楚一件事,就是模型的展示需要一个容器,当这个容器是body|window和非全屏的......