IE 6 不支持 min-height,但可用 _height 来模拟 min-height。
问题引子。当 overflow 为 visible 时,若内容超过容器的 width 和 height 后:
我们可以看出,IE 6 中对容器 width、height 的解释与标准的 min-width、min-height 相同。
问题来了。现在,若我们要实现 min-width、min-height 效果,可以直接指定 CSS 的 min-width、min-height,可是郁闷的是:IE 6 不支持这两个属性。咦,你不是说 IE 6 中 width、height 与标准的 min-width、min-height 相同吗,何不用它?但若我们把 min-width、min-height、width、height 一同写出来,其他浏览器中又会受 width、height 的影响。
解决办法。用 hack。
在各浏览器中的效果均如下:
_height 是什么意思?
在 IE 6 中,它等价于 height,而其他浏览器不认识,也就成功 hack 了。
为什么不说“在 IE 6 中用 _width 实现 min-width”?
是可以的,只是由于 div 的 width 默认 100% 宽,并且内容会换行,以使之不超过宽度,所以演示代码做起来要复杂些,本文只是解释一种原理,所以用 _height。
如果 IE 8 中,既支持 _height,又支持 min-height,怎么办?
不会的,IE 8 支持多种模式,各种模式中要么支持 _height,要么支持 min-height。IE 8 使用哪种模式可取决于对 IE 8 的模式选择,也可取决于 HTML 网页的 DOCTYPE。
相关阅读