当前位置:编程学习 > html/css >>

完美实现两个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>

 

补充:Css教程,常用代码 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,