MSIE 6 中的最小宽度
-
01-07-2019 - |
题
是什么 确定的 模仿 Internet Explorer 6 中 CSS 属性 min-width 的方法?是不是最好不要尝试?
解决方案
foo { min-width: 100px } // for everyone
* html foo { width: 100px } // just for IE
(或者使用 IE 提供一个单独的样式表 有条件的评论)
其他提示
您可以使用表达式(如 HBoss 建议的那样),但如果您担心性能,那么最好的方法是在要应用最小宽度的元素内添加一个垫片。
<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;
}
这需要一些非语义标记,但它是一个真正的跨浏览器解决方案,并且不需要使用表达式的开销。
本文 Stu Nicholls 的 CSS Play 展示了在 IE 中、所有模式(Quirks 等)甚至 IE/Mac 中实现最小宽度的不同方法。
过去一个月我对这里给出的每个答案都进行了修改。在使用 Pretaul 的方法之后(MSIE 6 中的最小宽度),它似乎是 min-width 的最佳替代方案。没有黑客或任何东西,只是直接兼容的 CSS 代码,需要 30 秒来实现。
从谷歌搜索来看,表达方式似乎是最受欢迎的。无论如何,对我来说,它会随机锁定我的浏览器(IE 和 FF)。
我不知道,我在以下方面取得了一些成功:
min-width: 193px;
width:auto !important;
_width: 193px; /* IE6 hack */
达斯汀·迪亚兹的最小高度快速黑客和 如何在 HTML 或 CSS 中指定表格单元格的绝对最小宽度
将你的CSS标签设置为_Width:500px 或其他。
这个效果非常好...
div.container {
min-width: 760px;
width:expression(document.body.clientWidth < 760? "760px": "auto" );
}
最小高度快速破解 对我有用(也适用于宽度)
垫片示例非常适合在容器达到一定大小时强制浏览器显示水平滚动条,但您会注意到,随着窗口变小,容器中的内容仍然会调整大小。我想这不是在 IE 6 中尝试实现最小宽度时的总体目标。
不完整的最小宽度技术http://www.mediafire.com/imgbnc.php/260264acec99b5aba3e77c1c4cdc54e94g.jpg
此外,使用表达式和其他疯狂的 CSS hack 并不是一个好习惯。它们既不安全又不干净。这 文章 解释了 CSS hack 的警告以及为什么应该完全避免它们。
我个人认为 eagerjeff 的帖子是在 IE6 中实现真正的最小宽度的最佳建议,作为一名经验丰富的 CSS 布局开发人员,我还没有找到适用于此类问题的更好的解决方案。
这 文章 Stu Nicholls 的 CSS Play 展示了在 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");