3个具有中心动态宽度的浮动div

时间:2011-08-09 16:58:59

标签: css html

好吧所以我的问题是我无法让中心div根据浏览器宽度动态设置其宽度,并且仍然在两个div之间浮动。

<style type="text/css">
#container{width:100%;}
#left{min-height:70px;width:60px;float:left;}
#middle{min-height:70px;width:100%;float:left;}
#right{min-height:70px;width:60px;float:right;}
</style>
<div id="container">
    <div id="left">text</div>
    <div id="middle">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur fringilla enim eget augue pretium facilisis. Quisque euismod mauris eu odio tincidunt pharetra interdum enim dignissim. Phasellus eleifend viverra diam, et vestibulum orci feugiat vitae. Fusce rhoncus, dolor sit amet rhoncus pulvinar, elit libero tincidunt tortor, non elementum lacus nisl sit amet lorem.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur fringilla enim eget augue pretium facilisis. Quisque euismod mauris eu odio tincidunt pharetra interdum enim dignissim. Phasellus eleifend viverra diam, et vestibulum orci feugiat vitae. Fusce rhoncus, dolor sit amet rhoncus pulvinar, elit libero tincidunt tortor, non elementum lacus nisl sit amet lorem.</div>
    <div id="right">text</div>
</div>

5 个答案:

答案 0 :(得分:8)

您可以尝试像这样设置CSS:

#container{width:100%;}
#left{min-height:70px;width:60px;float:left;}
#middle{min-height:70px;padding:0 60px}
#right{min-height:70px;width:60px;float:right;}

jsFiddle

答案 1 :(得分:2)

您可以使用jQuery设置中间div的宽度,如下所示:

$('#middle').width($('#container').width()-120);

Working Demo

答案 2 :(得分:1)

尝试使用一些简单的javascript:http://jsfiddle.net/maniator/SjMqU/

var middle = document.getElementById('middle');
var win_width = document.body.offsetWidth;
middle.style.width = (win_width - 140) + 'px';

这个小提琴适用于窗口调整大小:http://jsfiddle.net/maniator/SjMqU/4/

答案 3 :(得分:0)

最好的方法是把它放到一个表中,但如果你不想让它只是让所有的div表现得像表格单元格那样:

<style type="text/css">
  div{display:table-cell;}
  #container{width:100%;}
  #left{min-width:60px;}
  #middle{min-width:50%;}
  #right{min-width:60px;}
</style>
.....

答案 4 :(得分:0)

你可以这样做:

#container{width:100%;
}
#left, #middle, #right{min-height:70px; 
    display:inline-block;
    vertical-align:top;
}
#left{width:19%;
    background:red;
}
#middle{width:60%; 
    background:green;
}
#right{width:19%; 
    background:blue;
}

http://jsfiddle.net/jasongennaro/8BqP9/