美文网首页
css声明变量 :root 伪类 以及 getProperty

css声明变量 :root 伪类 以及 getProperty

作者: 兮木兮木 | 来源:发表于2020-03-08 20:40 被阅读0次
  • :root 伪类及css声明变量

    :root选择器用匹配文档的根元素,在HTML中根元素始终是HTML元素。但是:root的权重高于html

    声明css变量,一般声明在:root根元素上,这样文档全局都可以取到

    声明的变量名以--开头比如--text-color

    在其他css样式中引用变量用var(--text-color)

    相同的css变量,子级会覆盖:root级,也就是说,当某个元素取css变量时,会找最近的声明变量的元素

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Title</title>
      <style>
        /*:root选择器用匹配文档的根元素,在HTML中根元素始终是HTML元素。但是:root的权重高于html*/
        :root {
          /*在页面中html中会显示此属性*/
          background-color: #00c9db;
          /*声明css变量,一般声明在:root跟元素上,这样文档全局都可以取到*/
          --text-color: orange;
          --font-size: 50px;
        }
        * {
          margin: 0;
          padding: 0;
        }
        html, body {
          height: 100%;
          width: 100%;
          overflow: hidden;
        }
        html {
          /*:root 权重高,此html的背景色会被:root 的属性覆盖*/
          background-color: #0f6674;
        }
        .box {
          /*相同的css变量,子级会覆盖:root级,也就是说,当某个元素取css变量时,会找最近的声明变量的元素*/
          --font-size: 30px;
          height: 400px;
          width: 700px;
          background-color: red;
          margin: 30px auto;
        }
        .box > div {
          font-size: var(--font-size);
          color: var(--text-color);
        }
        .box1 {
          font-size: var(--font-size);
        }
      </style>
    </head>
    <body>
    <div class="box">
      box
      <div>
        inner
      </div>
    </div>
    <div class="box1">
      box1
    </div>
    
  • 获取元素的css属性

    getPropertyValue //获取元素的某个css属性值
    setProPerty  //设置元素的css属性
    removeProperty  //移除元素的css属性
    
    例如:
    document.documentElement.style.getPropertyValue('font-size') //获取字体大小js
    document.documentElement.style.getPropertyValue('--font-size') //也可以是css变量
    这种方式只能获得内联样式,如果无内联样式则获取到的值为空,与document.documentElement.style.fontSize相同,都是只能获取内联样式属性值
    
    getComputedStyle(node) //此方法获取元素的所有样式表,是一个大对象
    
    //如果getPropertyValue方法用在此处则可以获取到元素的真实样式
    //(即哪个样式的权重高,生效的样式,获取的就是那个值)
    getComputedStyle(document.documentElement).getPropertyValue()
    
  • 结语

    1.document.querySelector(':root') === document.documentElement
    2.优先级: js设置值>内联样式>:root选择器>html选择器
    3.document.documentElement.style.getPropertyValue只能获取内联样式的值
    4.getComputedStyle(document.documentElement).getPropertyValue获取到的始终是实际的值
    

相关文章

  • css声明变量 :root 伪类 以及 getProperty

    :root 伪类及css声明变量:root选择器用匹配文档的根元素,在HTML中根元素始终是HTML元素。但是:r...

  • JavaScript01

    CSS变量 用法: --变量名 引用变量var(--变量名)变量只能用作属性值,不能用作属性名.:root 伪类 ...

  • 2018-08-23 CSS3的root选择器

    :root 选择器概述:root这个CSS伪类匹配文档树的根元素,对于HTML来说,:root表示 元素,除了优先...

  • CSS3中的自定义变量样式用法

    1.首先我们需要绑定一个:root伪类,用于获取根元素html。 2.然后在:root伪类里面自定义我们的变量样式...

  • css之:root

    :root 这个 CSS 伪类匹配文档树的根元素。对于 HTML 来说,:root 表示 元素,除了优先级更高...

  • 伪元素和伪类

    一、伪类 1.1 定义 css伪类:css伪类用于向某些选择器添加特殊效果。 伪类其实与普通的css类相类似,可以...

  • css伪元素

    css 伪元素 详述: 这篇文章是继 css的伪类 与 css 伪类选择器 后的 CSS伪元素总结, 意在总结连贯...

  • css伪类(Pseudo-classes) & after be

    anchor伪类 Eg: 伪类和CSS类 伪类可以与 CSS 类配合使用: 在一个节点前后加节点

  • part2: CSS基础-练习

    CSS全称: cascading style sheets 谈谈css伪类与伪元素 这是我见过最全的伪类和伪元素总...

  • CSS伪类:first-child

    CSS 伪类用于向某些选择器添加特殊的效果。 CSS伪类的基础语法: 当然,CSS类也可以与伪类搭配使用: 在我第...

网友评论

      本文标题:css声明变量 :root 伪类 以及 getProperty

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