我需要找出 a 的内容span
是否溢出了它的 parent div
。它在 Chrome 和 FF 中运行良好,但在 IE9 中运行良好。我有以下 HTML 结构:
<div class="wrapper">
<span>Dynamic text content, which may or may not overflow the parent</span>
</div>
使用以下 CSS:
.wrapper {
display: inline-block;
width: 80px;
height: 20px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
在“真正的”浏览器(即不是 IE)中,很容易检查 span 是否比 div 宽:
var innerSpan = $('.wrapper span');
var wrapperDiv = innerSpan.parent();
if (innerSpan.width() > wrapperDiv.width()) {
// Overflow has happened
}
但是在 IE9 中,调用innerSpan.width()
只返回可见大小,当然它总是小于包装器的大小。如何检测 IE9 中的文本是否溢出?
注意:它只需要适用于 IE9,而不适用于 IE8、IE7 或任何其他版本。
编辑
我找到了一个解决方案,它检测溢出但需要跨度有display: block;
. 请看下面我的回答。