美文网首页
如何获取样式并且更改样式

如何获取样式并且更改样式

作者: 初入前端的小菜鸟 | 来源:发表于2018-07-01 12:43 被阅读0次

getComputedStyle()

getComputedStyle用法

  1. document.defaultView.getComputedStyle(element[,pseudo-element]);

或者

  1. window.getComputedStyle(element[,pseudo-element]);

参数

首先是有两个参数,元素和伪类。第二个参数不是必须的,当不查询伪类元素的时候可以忽略或者传入 null。
使用示例:

  1. let my_div = document.getElementById("myDiv");
  2. let style = window.getComputedStyle(my_div, null);

getPropertyValue()

所述CSSStyleDeclaration.getPropertyValue()方法接口返回一个DOMString含有一个指定的CSS属性的值。

参数

  • propertyDOMString 要检查表示属性名称。

返回值

  • *value* 是一个DOMString包含该属性的值。如果未设置,则返回空字符串。

以下JavaScript代码查询marginCSS选择器规则中的属性值:

var declaration = document.styleSheets[0].cssRules[0].style;
var value = declaration.getPropertyValue('margin'); // "1px 2px"

如果我们不使用getPropertyValue方法,直接使用键值访问,其实也是可以的。但是,比如这里的的float,如果使用键值访问,则不能直接使用getComputedStyle(element, null).float,而应该是cssFloatstyleFloat,自然需要浏览器判断了,比较折腾!

使用getPropertyValue方法不必可以驼峰书写形式(不支持驼峰写法),例如:style.getPropertyValue("border-top-left-radius");
getComputedStyle方法在伪类元素上的特异功能

总体示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
     .box {
        border: 1px solid;
         margin: 10px;
     }
  .p1 {
  font-size: 20px;
  padding: 10px;
  color: red;
}
    </style>
</head>
<body>
    <div class="box">
        <p class="p1">获取dom计算后的样式</p>
    </div>
    <script>
        //获取未更改前p元素的color值,返回rpg模式
    var str = document.querySelector("p")
    var color = window.getComputedStyle(str).getPropertyValue("color")
    console.log(color)
    //获取为更改前的padding值
    var pad = window.getComputedStyle(str).getPropertyValue("padding")
    console.log(pad)
    //获取更改前的字体大小值
    var size = window.getComputedStyle(str).getPropertyValue("font-size")
    console.log(size)

    //更改字体大小和字体颜色
    str.style.color = "#FFDAB9"
    str.style.fontSize = "40px"  // 中间不能按照css样式加“-” 要按照驼峰命名法来获取字体大小的属性
    //获取未更改后p元素的color值,返回rpg模式
    var color1 = window.getComputedStyle(str).getPropertyValue("color")
    console.log(color1)
    //获取更改后的字体大小值
    var size1 = window.getComputedStyle(str).fontSize//(使用键值访问也可以,但是一定要使用驼峰命名的方式来写css的属性值)//getPropertyValue("font-size") 
    console.log(size1)
    </script>
</body>
</html>

输出结果:


image

相关文章

  • 如何获取样式并且更改样式

    getComputedStyle() getComputedStyle用法 document.defaultVie...

  • JS如何获取元素样式?

    上篇文章讲到如何设置元素样式,本文将继续给大家分享如何获取元素样式。 一、style,只获取标签上定义的行内样式 ...

  • 事件相关

    如何批量操作 css 如何获取 DOM 计算后的样式 使用getComputedStyle获取元素计算后的样式 实...

  • css的一些用户界面以及精灵图滑动门和字体图标等使用总结

    css用户界面样式 所谓的界面样式, 就是更改一些用户操作样式, 比如 更改用户的鼠标样式, 表单轮廓等。但是比如...

  • 获取元素大小和位置的五种方式

    一、直接获取元素样式属性值 运用之前在JS如何获取元素样式?这篇文章中提到的三种获取元素样式方法便可获取元素大小和...

  • 如何在CAD中新建标注样式

    在CAD中,标注样式还是比较重要的,因为我们可以通过标注样式来更改CAD图纸中的标注样式。但是我们要如何在CAD中...

  • Normalize.css reset css

    Normalize css 统一默认样式reset css更改默认样式

  • css05

    用户界面样式 所谓的界面样式,就是更改一些用户炒作,比如更改用户的鼠标样式。单是比如滚动条的样式改动受到了很多浏览...

  • jQuery 属性、样式操作

    1、属性操作 获取属性 设置属性 删除属性 2、样式操作 获取属性 设置属性 追加样式 移除样式 切换样式

  • [jQuery]设置css样式

    获取css样式 设置单个css样式 设置多个css样式

网友评论

      本文标题:如何获取样式并且更改样式

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