CSS溢出:隐藏不在IE中工作和位置:相对没有区别

时间:2012-08-03 02:21:44

标签: css internet-explorer overflow

  

可能重复:
  IE6 + IE7 CSS problem with overflow: hidden; - position: relative; combo

我正在尝试将HTML无序列表(UL标记)中的项目始终保持为1行的高度,而不管每个项目中有多少行文本,使用固定高度和溢出:隐藏在DIV上在每个LI里面。

这是一个演示:
http://www.isw.com.au/domino/isw/iswdevelopmentwebsite.nsf/test-overflow-hidden
红色框包含相关列表。

这在Opera,Firefox和Chrome中完美运行,但在IE中不起作用。我希望它至少在IE 7,8和9中工作 IE正在使额外的文本行不可见,但仍然为它们留出空间,实际上忽略了每个LI内部DIV的固定高度。

链接到下一页的另一个StackOverflow问题可以通过设置position:relative on containers来修复溢出问题: http://snook.ca/archives/html_and_css/position_relative_overflow_ie
我的演示页面的CSS在每个元素上都有位置:相对于BODY中的顶级DIV,但这没有效果。

如何解决IE中的问题?

更新:
我在LI标签上添加了一个固定高度(1.8em),这有很大帮助,但还有另一个问题。
对于每个LI,IE在项目符号字符下方显示一行文本。这使得整个列表占用5行空间,应该是4。

1 个答案:

答案 0 :(得分:2)

我已经解决了。我需要以下所有内容才能使其始终跨浏览器工作:
- 在每个LI内部的DIV上显示“内联”(停止IE添加换行符);
- 固定高度和LI标签上的“溢出:隐藏”;最后是 - UL上的“list-style-position:inside”,因为“overflow:hidden”隐藏了子弹。