【发布时间】:2012-11-16 10:23:13
【问题描述】:
我必须在容器内动态定位弹出元素。我正在尝试获取容器的边框宽度。我发现了几个类似这样的问题:
How to get border width in jQuery/javascript
我的问题已经讨论过了,但我还没有找到任何答案。属性为粗、细、中时如何获取边框宽度?
街上流传着这样的说法,你通常可以预计薄、中和厚分别为 2px、4px 和 6px,但 CSS 规范并没有要求。
有没有人遇到过一种简单(或者如果不容易,至少是一致的)方法来获取 DOM 元素一个边缘的边框宽度?
【问题讨论】:
-
街上有关于预期结果的消息,因为没有定义标准。每个浏览器都以自己的方式实现它。
-
您的问题是关于厚、薄和中等的吗?这些很少使用,我将它们称为一个好的标准可以避免的边缘情况。
-
看起来加藤就是这样。从概念上讲,我从来没有真正关心过它们,但我不喜欢在开始一个插件时说,“好吧,不要使用愚蠢的 CSS,你不会有问题。”嗯,我想,但我不能。 :)
-
是否有理由为什么选择边框每一边的宽度对您不起作用? jsfiddle.net/CadEX
-
@Rory,是的。该插件允许您为弹出窗口指定一个容器,以便您可以相对定位容器。弹出窗口需要根据偏移量和边框(可能还有边距,但我们还没有越过那座桥)来补偿相对位置。即使我可以指望元素两侧的边框相同,但在 IE7 中, ($element.outerWidth() - $element.innerWidth()) === 0 when border-width: thick|thin|medium .