【发布时间】:2012-05-21 02:39:27
【问题描述】:
我有一些任务要制作一个轮播,它可以容纳几个未定义宽度的元素。所以,最简单的方法——通过 CSS 将所有元素排成一行,然后进行所有 JS 计算等等。在(错误生成器)IE6 中进行测试之前,一切都很顺利。
这里是浏览器中发生的示例:
Safari (5.1.2)、Firefox (10.0.2)、Opera (11.62)
Internet Explorer (9.1)
Internet Explorer (6)(文本在 span bump li 框中)
关于 LI 的 DebugBar,它忽略了预设规则 white-space: normal — Internet Explorer 6
关于 SPAN 的 DebugBar,它忽略了继承预设规则 white-space: normal — Internet Explorer 6
这里是 HTML 示例:
<div class="carousel">
<div class="box">
<ul>
<li>
<span>Some text</span>
</li>
<li>
<span>Some longer text</span>
</li>
<li>
…
</li>
</ul>
</div>
</div>
这是管理它的 CSS 的一部分:
div.carousel {
width: 700px; height:200px;
}
div.carousel div.box {
width: 100%; height: 100%;
overflow: hidden;
}
div.carousel div.box ul {
display: block;
white-space: nowrap; /* to make all inside elements lay in row */
}
div.carousel div.box ul li {
margin-left: 23px;
width: 130px; height: 150px;
display: inline-block;
vertical-align: bottom;
white-space: normal;
}
IE6 及更早版本的框更正:
div.carousel div.box ul li {
display: inline;
zoom: 1;
}
Live example 在 jsFiddle 中
【问题讨论】:
-
欢迎来到IE6的精彩世界。 (但说真的,你并不真的担心比那个更旧的版本,是吗???)
-
当然不是,IE6是我的终结
标签: html css internet-explorer internet-explorer-6