【发布时间】:2014-01-25 11:21:18
【问题描述】:
我正在尝试确定元素边距的used value。我的理解是这应该通过.getComputedStyle() 返回。但是,当使用 margin: auto; 时,FireFox 和 Opera 似乎不会返回正确的值。 Firefox 返回'0px',Opera 返回'0px',或者偶尔返回'auto':
我知道我可以计算父级的内容宽度和子级的总宽度,并使用它们来计算边距,但我主要看的是父级是 flexbox 的情况:
同样,这些值可能是“逆向工程”的,但这会变得相对复杂(特别是如果 flexbox 允许包装),所以我想知道是否有人有其他想法?
【问题讨论】:
-
@Diodeus 我一定是误解了一些东西,因为我不确定这有什么帮助?我已经知道 jQuery 的
.outerWidth(),所以查看了他们的源代码,但事实证明它在 FF/Opera(至少在 flexbox 中)也给出了错误的边距值。 -
还有其他方法可以找到边距——jquery 有一些强大的定位函数可以帮助你间接计算它。 Flexbox 在 CSS 中仍然是一个相对较新的概念,其支持可能不如您预期的那么好。为什么你需要边距?
-
@ProfileTwist 原来的问题已经用另一种方法解决了。现在我只是好奇。
标签: javascript css margin