在 Internet Explorer 6 中模仿 CSS 属性 min-width的最终方法是什么?最好不要尝试吗?
11 回答
foo { min-width: 100px } // for everyone
* html foo { width: 100px } // just for IE
(或使用条件注释向 IE 提供单独的样式表)
您可以使用表达式(如 HBoss 建议的那样),但如果您担心性能,那么最好的方法是在要应用最小宽度的元素内添加一个 shim。
<div id="container">
The "shim" div will hold the container div open to at least 500px!
You should be able to put it anywhere in the container div.
<div class="shim"> </div>
</div>
#container .shim {
width: 500px;
height: 0;
line-height: 0;
}
这需要一点非语义标记,但它是一个真正的跨浏览器解决方案,并且不需要使用表达式的开销。
这篇关于 CSS Play 的文章,作者 Stu Nicholls,展示了在 IE、所有模式(Quirks 等)甚至 IE/Mac 中实现最小宽度的不同方法。
在过去的一个月里,我一直在摆弄这里给出的每一个答案。在玩过 Pretaul 的方法(MSIE 6 中的 Min-width)之后,它似乎是 min-width 的最佳替代方案。没有 hack 或任何东西,只需 30 秒即可实现兼容的 CSS 代码。
从谷歌搜索来看,表情似乎是最受欢迎的。无论如何,对我来说,它倾向于随机锁定我的浏览器(IE 和 FF)。
我不知道,我在以下方面取得了一些成功:
min-width: 193px;
width:auto !important;
_width: 193px; /* IE6 hack */
结合dustin diaz' min-height fast hack &如何在HTML或CSS中指定表格单元格的绝对最小宽度
将您的 css 标签设置为 _Width: 500px 或其他。
这工作得很好......
div.container {
min-width: 760px;
width:expression(document.body.clientWidth < 760? "760px": "auto" );
}
最小高度快速破解适用于我(也适用于宽度)
shim 示例适用于在容器达到一定大小时强制浏览器显示水平滚动条,但您会注意到容器中的内容仍会随着窗口变小而调整大小。我想这不是尝试在 IE 6 中实现最小宽度时的总体目标。
不完整的最小宽度技术 http://www.mediafire.com/imgbnc.php/260264acec99b5aba3e77c1c4cdc54e94g.jpg
此外,使用表达式和其他疯狂的 CSS hack 并不是好的做法。它们不安全也不干净。本文解释了 CSS hack 的注意事项以及为什么应该完全避免它们。
我个人认为scarryjeff 的帖子是在 IE6 中实现真正最小宽度的最佳建议,作为一名经验丰富的 CSS 布局开发人员,我还没有找到适用于此类问题的更好解决方案。
这篇关于 CSS Play 的文章,作者 Stu Nicholls,展示了在 IE、所有模式(Quirks 等)甚至 IE/Mac 中实现最小宽度的不同方法。
我提供了一个类似问题的答案,详细说明了如何使用这种技术来正确实现最小宽度。可以在这里查看:
该技术是简单、有效的 CSS,几乎可以在任何情况下使用。应用于上面的垫片示例,它会产生我认为正确的最小宽度功能。
正确的最小宽度技术 http://www.mediafire.com/imgbnc.php/a67b2820bfbd6a5b588bea23c4c0462f4g.jpg
单行按钮
button{
background-color:#069;
float:left;
min-width:200px;
width:auto !important;
width:200px;
white-space: nowrap}
使用条件注释来引用和 MSIE 6 特定样式表,然后按如下方式创建 CSS。
兼容的浏览器将使用:
min-width: 660px;
然后 MSIE 6 将使用:
width: expression((document.body.clientWidth < 659)? "660px" : "auto");