博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何获取元素最终使用的css值
阅读量:7221 次
发布时间:2019-06-29

本文共 837 字,大约阅读时间需要 2 分钟。

  这个问题是在组件css加载方案中碰到的

  场景:

  元素的样式我们可以写在style里面,也可以写到外链css里面,如果没有设置,也会读取浏览器默认的css的,现在我们要计算getComputedstyle某个元素的最终所使用的css样式

  区别:

  1)style 是行内样式的写法,如果style 内有值的话,就会读取出来,如果没有,那么就为空,可读可写

  2)getComputedstyle 是读取元素的最终所使用的css的值,只读的

 

  解决方案:

  在ie和非ie下是不一样的处理办法的。

  在ie下:

   通过element.currentStyle 可以获得当前元素的样式

  非ie下:

   通过 document.defaultView.getComputedStyle(element,null) 其实window下这个方法也是存在的,可以直接通过window.getComputeStyle 的方式调用

 上述获得的是该元素上所有使用的css样式,但是如果要得到某个样式呢? 在非ie下,则可以再后面加上getPrototyValue('attr') 的办法(ie9目前也支持了这个方法),

小于ie9的方法,目前可以通过2种方式获得,第一种方式是在后面["attr"] ,第二种方式是 在后面加上getAttribute("attr"),不过这种方式要求驼峰的方式命名

综上所述 获取元素的最终所使用的css样式可以这样写

    New Document   
test

有一点需要注意,网上说对于float 这个属性,在ie下是 styleFloat,在非ie下是cssFloat ,我在chrome17,firefox12下用cssFloat均没有测试成功。于是我干脆写成“float”,ok!

欢迎大家提出宝贵意见。   

转载地址:http://iwhym.baihongyu.com/

你可能感兴趣的文章
Sublime Text 2 使用心得
查看>>
我的友情链接
查看>>
Property文件读取的Util类
查看>>
WEBService
查看>>
samba服务器的搭建
查看>>
IO端口和IO内存
查看>>
zookeeper安装
查看>>
第五周作业
查看>>
linux ssh使用深度解析(key登录详解)
查看>>
查询数据库信息
查看>>
mysql主从复制
查看>>
初探Java Builder模式--组装复杂的实力
查看>>
Netty笔记二(发送对象--服务端客户端附可运行源码)
查看>>
ros 设置hotspot认证网段
查看>>
MySQL 超级入门教程
查看>>
Aerospike 数据关系模型
查看>>
VirtualBox 扩充硬盘大小
查看>>
BC95 NCONFIG 配置UE
查看>>
RPM 安装与卸载命令
查看>>
filebeat与logstash配置文件详解
查看>>