完美实现两个div并排且宽度为50%

在ie8,ff3下都可以,当我用ie6一看就折行了。网上搜了搜,发现在ie6,ie7下如果总宽度为奇数就折行,为偶数正常。打个比方:总宽度为800,那2个div刚好就400,如果总宽度为799,那ie8,ff3下会把分配好,一个400,一个399。而ie6,ie7就都分配成400,加起来800大于799所以会折行。
    看来直接设width:50%是行不通了。
    后来想到网上流行的两列布局,一列固定一列自适应。先把一列固定为50%,然后另外一列不设置应该也是50%,代码如下:

 代码如下 复制代码
<style type=”text/css”>
<!–
    html,body{margin:0px;padding:0px;}
    #left{width:50%;background:#CCCCCC;float:left;}
    #right{background:#FF6600;margin-left:50%;}
–>
</style>
<div id=”left”>left</div>
<div id=”right”>right</div>

    IE7,IE8,FF3下ok,IE6也可以,但是left和right有3px间距,这个是IE6有名的Bug。解决方法就是给left设margin-right:-3px;right设-zoom:1; _margin-left:0px;完整代码如下:

 代码如下 复制代码
<style type=”text/css”>
<!–
    html,body{margin:0px;padding:0px;}
    #left{width:50%;background:#CCCCCC;float:left;_margin-right:-3px;}
    #right{background:#FF6600;margin-left:50%;_margin-left:0px;_zoom:1;}
–>
</style>
<div id=”left”>left</div>
<div id=”right”>right</div>

 

完美实现两个div并排且宽度为50%

相关文章:

你感兴趣的文章:

标签云: