min-width在ie下的兼容方法

    我们要做的就是让ie6来支持这种min-width的效果。
由inline元素的组成的内容(img元素除外)遇到width边境就会换行。
言外之意就是:如果是img元素和block元素的话,就不会换行,在ie7等浏览器下产生溢出,在ie6下则会撑开宽度。(回忆一下,我们是不是有过图片溢出div的经历呢。)
可见,ie6下内容撑开宽度和撑开高度两者的区别只在于:撑开高度的内容可以是任意元素,而撑开宽度则只能由block元素或img元素来担当(或许还有其他吧)。
所以,我们只需找一个block或img元素来,放在要设定min-width的元素内,给他一个固定宽度,那么这个宽度就是我们需要的min-width.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
<title>min-width的模拟</title>  
<head>  
</head>  
<body>  
 <div style="border:1px solid red;min-width:300px;float:left;">  
     <div style="width:300px;height:0;font-size:0;"> </div>  
     你可以增加这里的内容。  
 </div>  
 </body>  
</html>

    试着增加内容文字。可以看出,当文字长度大于300px之后,div宽度将会增加,直至达到body边界面,才产生换行。

    这种方法用不到hack,只需要一个空的无意义标签(装上 也不怕人家说咱)。
并且,删除min-width看看,在ie7,FF下是不是效果依旧。看来,这种方法把min-width属性也省了。

    回过头看看,前面min-height属性的模拟是否也可以使用这种div填充,而不必动用hack呢?
请看以下代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
<title>min-height的无hack模拟法</title>  
</head>  
<body>  
 <div style="border:1px solid red;width:300px;float:left;"> <!-- 这里去除float:left;后在FF下失效,不过加上min-height话就没关系了 -->  
     <div style="width:0;height:200px;float:left;font-size:0;"> </div>  
     你可以增加这里的内容。<br />  
    你可以增加这里的内容。<br />  
 </div>  
 </body>  
</html>