MSIE 6中的最小宽度
在Internet Explorer 6中模仿CSS属性min-width的确定方式是什么?最好不要尝试吗?
解决方案
将css标签设置为_Width:500px或者其他值。
foo { min-width: 100px } // for everyone * html foo { width: 100px } // just for IE
(或者使用条件注释向IE提供单独的样式表)
这个效果很好。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
div.container { min-width: 760px; width:expression(document.body.clientWidth < 760? "760px": "auto" ); }
Stu Nicholls撰写的有关CSS Play的文章介绍了在所有模式(Quirks等)甚至IE / Mac中,在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; }
这需要一些非语义的标记,但这是真正的跨浏览器解决方案,并且不需要使用表达式的开销。
最小高度的快速hack对我有用(也对宽度有用)
使用条件注释来引用和特定于MSIE 6的样式表,然后按如下方式创建CSS。
兼容的浏览器将使用:
min-width: 660px;
然后,MSIE 6将使用:
width: expression((document.body.clientWidth < 659)? "660px" : "auto");
在过去的一个月里,我一直在弄弄这里给出的每个答案。在使用Pretaul的方法(MSIE 6中的最小宽度)后,它似乎是最小宽度的最佳替代方法。没有黑客或者其他任何东西,只需整理兼容的CSS代码即可完成,耗时30秒。
从谷歌搜索到,表达式似乎是最受欢迎的。无论如何,对我而言,它打算随机锁定我的浏览器(IE和FF)。
匀场示例很好地用于在容器达到特定大小时强制浏览器显示水平滚动条,但是我们会注意到,随着窗口变小,容器中的内容仍将重新调整大小。我想这不是在IE 6中达到最小宽度时的总体目标。
不完整的最小宽度技术http://www.mediafire.com/imgbnc.php/260264acec99b5aba3e77c1c4cdc54e94g.jpg
此外,使用表达式和其他疯狂的CSS hack也不是一个好习惯。他们是不安全和不干净的。本文介绍了CSS hack的警告,以及为什么应完全避免使用它们的原因。
我个人认为Scaryjeff的帖子是在IE6中实现真正最小宽度的最佳建议,作为一名经验丰富的CSS布局开发人员,我还没有找到适用于此类问题的更好解决方案。
This article on CSS Play, by Stu Nicholls, shows the different methods for achieving min-width in IE, in all modes (Quirks, etc) and even for IE/Mac.
我提供了一个类似问题的答案,该问题详细介绍了使用此技术正确实现最小宽度的方法。可以在这里查看:
CSS:两个50%的流体柱不考虑最小宽度
该技术是简单有效的CSS,几乎可以在任何情况下使用。应用于上面的匀场示例,可以得出我认为是正确的最小宽度功能。
正确的最小宽度技术http://www.mediafire.com/imgbnc.php/a67b2820bfbd6a5b588bea23c4c0462f4g.jpg
我不知道,我在以下方面取得了一些成功:
min-width: 193px; width:auto !important; _width: 193px; /* IE6 hack */
Dustin diaz的最小高度快速破解以及如何在HTML或者CSS中指定表格单元的绝对最小宽度的组合
单行按钮
button{ background-color:#069; float:left; min-width:200px; width:auto !important; width:200px; white-space: nowrap}