使用DOM操作内联样式

使用DOM操作css

通过JS修改元素的样式

  • 语法:元素.style.样式名 = 样式值
  • 注意:如果css的样式名中含有 - ,这种名称在JS中是不合法的比如 background-color 需要将这种样式名修改为驼峰命名法,去掉-,然后将- 后面的字母大写
  • 我们通过style属性设置的样式都是内联样式,而内联样式有较高的优先级,所以通过JS修改的样式往往会立即显示
  • 但是如果在样式中写了!important,则此时样式会有最高的优先级 即使通过JS也不能覆盖该样式,此时将会导致JS修改样式失效 所以尽量不要为样式添加!important
			   box1.style.width = "300px";
               box1.style.height = "300px";
               box1.style.backgroundColor = "yellow";

读取元素的样式

alert(box1.style.width);

获取元素的当前显示的样式

  • 语法: 元素.currentStyle.样式名
  • 它可以用来读取当前元素正在显示的样式
  • 如果当前元素没有设置该样式,则获取它的默认值
  • currentStyle只有IE浏览器支持,其他的浏览器都不支持

在其他浏览器中可以使用

  • getComputedStyle()这个方法来获取元素当前的样式
  • 这个方法是window的方法,可以直接使用
  • 需要两个参数 第一个:要获取样式的元素 第二个:可以传递一个伪元素,一般都传null
  • 该方法会返回一个对象,对象中封装了当前元素对应的样式
  • 可以通过对象.样式名来读取样式
  • 如果获取的样式没有设置,则会获取到真实的值,而不是默认值 比如:没有设置width,它不会获取到auto,而是一个长度
  • 但是该方法不支持IE8及以下的浏览器
  • 通过currentStyle和getcomputedStyle()读取到的样式都是只读的,不能修改,如果修改必须通过style属性
var obj = getComputedStyle(box1,null);
              alert(obj.width);
              alert(obj.backgroundColor);

猜你喜欢

转载自blog.csdn.net/weixin_48769418/article/details/114527414