max-width、max-height、min-width和min-height这四个性质分别表示最大宽度、最大高度、最小宽度和最小高度。它们在CSS中有着很重要的作用。
然而,十分不幸的是,就是IE, 这个世界上使用者最多的浏览器,到目前的版本为止,对这四个性质没有一个能够,哪怕一点点的支持。这可让设计者吃尽了苦头,最明显的就是,当你使用 float布局时,在IE中的一个臭毛病是,顶层div的宽度变小的时候(缩小窗口,分辨率低等),浮动的布局(一般是右边那一块跑到了下方)就会被破 坏,变得一塌糊涂……
最后通过我们亲爱的google终于找到几个解决办法,感谢众多的web设计天才。

办法一、
#content {
width:100%;
min-width: 760px;
width: expression(document.body.clientWidth < 760? "760px": "100%" );
}

虽然该办法会让CSS通不过校验,但是有胜于无,开心地测试页面,然后我的IE就崩了,连续几次都如此,最后发现原来是这种方法适用的页面是没有声明的,而我的页面去掉声明就乱了,只好放弃再觅他法。

 

办法二、

 <div style="border: 1px solid red; width: 90%">
<div style="border-left: 300px solid #ffffff; height: 1px">
<div style="margin-left: -300px; position: relative; height: 1px">
  宽度 90%, 最小宽度 300px;
  最小高度 300%
</div>
</div>
</div>

因为border-left为300px,所以div最小也得有300px,间接实现了min-width的功能。 而由于margin-left为-300px且position:为relative,所以里面的文字不受border-left的影响。

 

办法三、
请访问http://www.doxdesk.com/software/js/minmax.html,作者给出了一个通过JS解决办法,只对IE6起作用,已经很完美了。下载http://www.doxdesk.com/file/software/js/minmax.js 并在页面head区域添加

就可以了。

 

办法四、
请访问http://www.rexsong.com/blog/article.asp?id=141,恕我无知,看得不是太明白。





评论

  • 受教咯。
    第一种方法把IE给崩了。
    第二种是cssplay里的一种方法。我觉得还是不用JS的好。所以选择第二种,而第二种又要多嵌一层。呵呵
    世界上是没有完美的事~~~

    richie (http://richie-pu.cn) 发表于 2007-10-04 13:16:06  [回复]

发表评论

 姓名:
 E-mail:
 地址: