请参考我绘制的这个方便的图表:
div1
的身高未知。 div3
的宽度是流动的;它永远不应该重叠div2
。 div1
和div2
都具有相同的宽度,并通过margin: auto
水平居中。我如何定位div3
,使其与body
的右侧(无论多宽body
)对齐,同时与{{1}共享垂直位置}}? (使用CSS)
答案 0 :(得分:22)
.div1{
margin:0 auto;
width:100px;
height:50px;
border:5px solid #995555;
}
.div2{
width:100px;
margin:0 auto;
border:5px solid #aaaa55;
height:200px;
}
.div3{
float:right;
width:50px;
height:100px;
border:5px solid cyan;
}
<div class="div1">div1</div>
<div class="div3">div3</div>
<div class="div2">div2</div>
答案 1 :(得分:4)
喜欢这个吗?
HTML:
<div id='container'>
<div id='first'>1</div>
<div id='second'>2</div>
<div id='third'>3</div>
</div>
CSS:
#container{
width: 100px;
margin:0 auto;
}
#first{
border: 1px solid #ff55ff;
}
#second{
border: 1px solid #55ff77;
}
#third{
border: 1px solid #448855;
}
#first,
#second{
width: 50px;
clear:both;
float:left;
}
#third{
clear:none;
float: left;
}
看到这个小提琴: http://jsfiddle.net/zaNvR/1/
答案 2 :(得分:1)
一个简单的div网格可以解决这个问题:
<div class="con">
<div class="lft">div 1</div>
<div class="rgt"></div>
</div>
<div>
<div class="lft">div 2</div>
<div class="rgt">div 3</div>
</div>
.con { overflow:hidden; }
.lft { width:100px; height:100px; float:left; }
.rgt { width:100px; height:100px; float:left; }
只需将右上角的单元格留空即可。