Chrome(12)中使用getComputedStyle获取透明度(opacity)返回字符串不同于其它浏览器
获取计算后的元素样式,IE有currentStyle,而标准浏览器用getComputedStyle。IE9后也支持getComputedStyle了。发现以前写的css方法不好用了,在chrome中返回的结果与其它浏览器不同。重现如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <! DOCTYPE HTML> < HTML > < HEAD > < meta charset="utf-8" /> < title >css opacity</ title > < style type="text/css"> div { background: gold; margin: 10px; } #d2 { opacity: 0.2; width : 250px; } </ style > </ HEAD > < BODY > < div id="d1" style="opacity:0.1;width:200px;">d1</ div > < div id="d2">d2</ div > < button onclick="test()">getOpacity</ button > < script type="text/javascript"> var d1 = document.getElementById('d1'); var d2 = document.getElementById('d2'); function test() { var sty1 = window.getComputedStyle(d1, null), sty2 = window.getComputedStyle(d2, null); alert(sty1.opacity); alert(sty2.opacity); } </ script > </ BODY > </ HTML > |
两个div:d1和d2。样式分别写在 style属性和css 中,透明度分别是0.1,0.2。都通过 getComputedStyle 方式获取opacity。点击按钮,Chrome中如下
而 IE9/Firefox/Safari/Opera 弹出的分别是0.1,0.2。Chrome返回的字符串长度是19,其它浏览器都是3。
jQuery的css方法也存在这个问题。 注意!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端