【发布时间】:2013-10-29 20:43:22
【问题描述】:
需要一些帮助来理解奇怪的 IE 行为。我有两个div,一个挨着一个。一个 div 有文本,另一个是空的。我想设置空 div 的高度以将 div 与文本匹配。将空 div 高度设置为 .innerHeight() 带有文本的 div 在 IE9/10 中不起作用(新高度比应有的高 1px,IE8 工作正常)。这个有跨浏览器的解决方案吗?
html:
<div class="container">
<div class="row" id="left">foo</div>
<div class="row" id="right"></div>
</div>
css:
.container { width: 200px; }
.row { font-size: 11px; font-weight: bold; color: #666; float: left; width: 100%; border-bottom: 1px solid #ddd; position: relative;}
#left { background-color:yellow; width: 50%; }
#right { background-color:lightblue; width: 50%; }
js:
var $right = $("div#right"),
$left = $("div#left")
;
$right.css({
height: $left.innerHeight()
});
这是the fiddle,以及来自 IE10 的屏幕截图
【问题讨论】:
-
FWIW,你的小提琴在 IE9 上对我来说很好,我看不出有什么不同,if I dump out their
innerHeightandheightvalues,我得到了相同的值。 -
它在 IE9 中也适用于我。如果我更改为缩放到 110%,它确实会中断。
-
你确定你没有使用某种标准兼容模式,因为它也适用于我。此外,如果您只支持回到 ie8,那么您可能需要使用显示表格和表格单元格,因为它可以让您拥有相等高度的 div,而无需 js
-
谁能在IE10上试用一下?我添加了一个屏幕截图,缩放为 100%,所有设置为默认值。
标签: jquery internet-explorer cross-browser