【发布时间】:2010-09-18 06:57:54
【问题描述】:
我一直在浏览所有流行的 js 库,但我找不到一个具有 DOM 元素宽度函数的 DOM 元素,它实际上解释了 Internet Explorer 中的 quirks 模式。问题是当使用 quirks 模式时,填充和边框不计入宽度。据我所知,当文档类型被忽略或文档类型设置为 html 3.2 时会发生这种情况。
显然我可以将 doctype 设置为符合标准的东西,但是这个脚本可以嵌入到任何地方,所以我无法控制 doctype。
将问题分解为更小的部分:
1) 如何检测怪癖模式? 2) 从元素中提取边框和填充以进行补偿的最佳方法是什么?
原型示例:
<html>
<head>
</head>
<body>
<div id="mydiv" style="width: 250px; pading-left: 1px; border: 2px black solid">hello</div>
<script>
alert($('mydiv').getWidth())
</script>
</body>
</html>
结果:
253 (ff) 250(即)
提前致谢!
【问题讨论】:
标签: javascript html css