美文网首页DOM 对象
CSS Style Declaration对象

CSS Style Declaration对象

作者: Allenem | 来源:发表于2019-08-22 21:00 被阅读0次

    CSSStyleDeclaration对象

    CSSStyleDeclaration 对象表示一个 CSS 属性-值(property-value)对的集合。

    CONTENT

    CSSStyleDeclaration 对象属性

    属性 描述
    cssText 设置或返回样式声明文本,cssText 对应的是 HTML 元素的 style 属性。
    length 返回样式中包含多少条声明。
    parentRule 返回包含当前规则的规则。

    CSSStyleDeclaration 对象方法

    方法 描述
    getPropertyPriority() 返回指定的 CSS 属性是否设置了 "important!" 属性。
    getPropertyValue() 返回指定的 CSS 属性值。
    item() 通过索引方式返回 CSS 声明中的 CSS 属性名。
    removeProperty() 移除 CSS 声明中的 CSS 属性。
    setProperty() 在 CSS 声明块中新建或者修改 CSS 属性。

    cssText

    <!-- 返回属性 -->
    <body>
    
    <h1 style="color: red; font-size:50px;">cssText 属性</h1>
    
    <p>点击按钮返回元素的内联样式。</p>
    
    <button onclick="myFunction()">点我</button>
    
    <p id="demo"></p>
    <!-- color: red; font-size:50px; -->
    
    <script>
    function myFunction() {
      var elmnt = document.getElementsByTagName("h1")[0];
      var x = elmnt.style.cssText;
      document.getElementById("demo").innerHTML = x;
    }
    </script>
    
    </body>
    
    <!-- 设置属性 -->
    <body>
    
    <h1 style="color:red; font-size: 50px">cssText 属性</h1>
    
    <p>点击按钮设置 h1 元素的内联样式。</p>
    
    <button onclick="myFunction()">点我</button>
    
    <p><strong>注意:</strong> 内联样式会被全部覆盖,字体大小不再是 50px。</p>
    
    <script>
    function myFunction() {
      var elmnt = document.getElementsByTagName("h1")[0];
      elmnt.style.cssText = "color: blue;";
    }
    </script>
    
    </body>
    

    定义和使用

    cssText 属性用于设置或者返回元素声明的内联样式。

    语法

    返回 cssText 属性:

    element.style.cssText

    设置 cssText 属性:

    element.style.cssText = style


    length

    <body>
    
    <h1 style="color: red; font-size: 50px;  ">循环输出所有 CSS 属性</h1>
    
    <p>点击按钮显示所有 h1 元素的 CSS 属性。</p>
    
    <button onclick="myFunction()">点我</button>
    
    <p id="demo"></p>
    
    <script>
    function myFunction() {
      var elmnt, i, txt = "";
      elmnt = document.getElementsByTagName("h1")[0];
      for (i = 0; i < elmnt.style.length; i++) {
        txt += elmnt.style.item(i) + "<br>";
      }
      document.getElementById("demo").innerHTML += txt;
    }
    </script>
    
    </body>
    

    定义和使用

    length 属性返回指定元素的样式声明数目。

    语法

    返回 length 属性:

    element.style.length

    返回值: 整数,表示 CSS 声明的数目


    parentRule

    <style>
    h1 {
      color: red;
      font-size: 50px;
    }
    </style>
    
    <script>
    function myFunction() {
      var s = document.styleSheets[0].rules[0].style;
      var ruleObj = s.parentRule;
      document.getElementById("demo").innerHTML = ruleObj.cssText;
    }
    </script> 
    </head>
    <body>
    
    <h1>parentRule 属性</h1>
    
    <p>parentRule 属性返回 CSSRule 对象,包含 CSS 选择器及声明的样式。 </p>
    
    <button onclick="myFunction()">显示 CSS 样式</button>
    
    <p id="demo"></p>
    <!-- h1 { color: red; font-size: 50px; } -->
    
    </body>
    

    定义和使用

    parentRule 属性返回 CSSRule 对象,包含 CSS 声明的样式及选择器。

    语法

    返回 parentRule 属性:

    object.parentRule


    getPropertyPrioritygetPropertyValue

    <style>
    #ex1 {
      color: red !important;
    }
    </style>
    </head>
    <body>
    <h1>getPropertyPriority() 属性</h1>
    
    <p>点击按钮返回 color 属性是否设置了 "important!" 优先级</p>
    
    <button onclick="myFunction()">点我</button>
    
    <div id="ex1">一些文本</div>
    
    <script>
    function myFunction() {
      var declaration = document.styleSheets[0].cssRules[0].style;
      var priority = declaration.getPropertyPriority("color");
      var propvalue = declaration.getPropertyValue("color");
      alert(priority);   // important,没设置则返回空null
      alert(propvalue);  // red
    }
    </script>
    
    </body>
    

    定义和使用

    getPropertyPriority() 方法返回指定的 CSS 属性是否设置了 "important!" 优先级。如果返回 "important" 则表明设置了优先级,否则没有。

    语法

    object.getPropertyPriority(propertyname)

    object.getPropertyValue(propertyname)

    属性值

    参数 描述
    propertyname 必需。一个字符串,表示要检测的属性名。

    技术细节

    DOM 版本: CSS Object Model
    返回值: 字符串, 表示设置了优先级,如果为空则表示没有设置优先级。
    返回值: 字符串, 表示属性值。

    item

    <div id="ex1" style="color:blue; font-family:monospace;">一些文本</div>
    
    <button onclick="myFunction()">点我</button>
    
    <script>
    function myFunction() {
      var style = document.getElementById('ex1').style;
      var propname = style.item(0);
      // 或者 var propname = style[0];
      alert(propname); // color
    }
    </script>
    

    定义和使用

    item() 方法返回 CSS 样式中指定索引位置的属性名,索引值从 0 开始。

    语法

    style.item(index)

    style[index]

    属性值

    参数 描述
    index 必需。一个数字,代码 CSS 样式属性的索引位置。

    技术细节

    DOM 版本: CSS Object Model
    返回值: 字符串, 表示属性名。

    removePropertysetProperty

    <style>
    #ex1 {
      color: red;
    }
    </style>
    <button onclick="myFunction()">点我</button>
    
    <div id="ex1">一些文本。</div>
    
    <script>
    function myFunction() {
      var declaration = document.styleSheets[0].cssRules[0].style;
      var removedvalue = declaration.removeProperty("color");
      alert(removedvalue);  // red
      var setprop = declaration.setProperty("background-color", "yellow");
    }
    </script>
    

    定义和使用

    removeProperty() 方法用于移除指定的 CSS 样式属性。

    setProperty() 方法用于设置一个新的 CSS 属性,同时也可以修改 CSS 声明块中已存在的属性。

    语法

    object.removeProperty(propertyname)

    object.setProperty(propertyname, value, priority)

    属性值

    参数 描述
    propertyname 必需。一个字符串,表示要移除的属性名。
    参数 描述
    propertyname 必需。一个字符串,表示创建或修改的属性。
    value 可选,新的属性值。
    priority 可选。字符串,规定是否需要设置属性的优先级 important。
    可以是下面三个值:"important",undefined,""

    技术细节

    DOM 版本: CSS Object Model
    返回值: 字符串, 是移除的属性名。
    DOM 版本: CSS Object Model
    返回值: undefined

    相关文章

      网友评论

        本文标题:CSS Style Declaration对象

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