美文网首页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对象

    CSSStyleDeclaration对象 CSSStyleDeclaration 对象表示一个 CSS 属性-值...

  • CSS-复习手册

    一、 Property:属性 Value:值 CSS declaration CSS declaration b...

  • css in react

    在react设置css样式有两种方式,style和外部css引入 style 以{}包裹一个css对象 css引入...

  • css文件引入:link @import

    import用法:  @import "style.css";@import url("style.css"); ...

  • CSS揭秘笔记--(1)

    1、CSS某个特性是否被支持原理:在任意元素element.style对象上检查该属性是否存在。代码: 2、CSS...

  • 「DOM 编程」样式操作

    样式操作CSS 对应 DOM 对象内部样式表行内样式更新样式element.styleelement.style....

  • CSS入门的那些坑

    几种引入css的方式 分别有用style 属性、style 标签、css link、css import, 引入c...

  • Polo360

    reset.css style.css

  • webpack之样式

    安装css-loader和style-loaderyarn add css-loader style-loader...

  • JavaScript 与 CSS

    最初 IE 为页面上的每个元素都设置了 style 对象来管理 CSS 样式。后来,DOM 也将该对象作为访问元素...

网友评论

    本文标题:CSS Style Declaration对象

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