JS 脚本化CSS 之 获取dom元素样式(解决兼容性问题)

脚本化 == 控制

获取dom元素计算样式(只读)IE8及IE8以下不兼容

window.getComputedStyle(ele,null);

返回一个 封装dom元素或其伪元素所有CSS属性的显示值(包括默认值) 的类数组

  • 第一个参数:要获取计算样式的dom元素
  • 第二个参数:第一个参数指定的dom元素上的伪元素,可为null

获取指定dom元素的计算样式表
在这里插入图片描述
获取指定dom元素上的伪元素的计算样式表

div::after{
  content: "";
  width: 50px;
  height: 50px;
  background-color: gold;
  display: inline-block;
}

在这里插入图片描述

window.getComputedStyle(ele,null).prop;

获取dom元素指定的CSS属性的显示值(包括默认值)
在这里插入图片描述
window.getComputedStyle(ele,'after/before').prop;

获取dom元素上的伪元素指定的CSS属性的显示值(包括默认值)
在这里插入图片描述

返回的计算样式的值都是绝对值,没有相对值(如%、em、相对的 颜色等)

div{
  width: 10em;
}
<div  style="height: 50%;background-color: orange;"></div>

在这里插入图片描述

获取dom元素样式(只读) ---- IE独有的属性

ele.currentStyle 返回一个 封装dom元素所有CSS属性的显示值(包括默认值) 的类数组

ele.currentStyle.prop 获取dom元素指定的CSS属性的显示值(包括默认值)

返回的计算样式的值不会经过转换,是相对值就是相对值,是绝对值就是绝对值

封装兼容性工具方法getStyle(elem,prop);获取dom元素样式

function getStyle(elem,prop){
   if(window.getComputedStyle){
     return window.getComputedStyle(elem,null)[prop];
   }else{
     return elem.currentStyle[prop];
   }
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值