我有这个布局:
<div id="container">
<div id="left">LEFT</div>
<div id="mtop">MIDTOP</div>
<div id="mbotton">MIDBOT</div>
<div id="right">RIGHT</div>
<div id="botton">BOTTON</div>
</div>
#container {
height:200px;
width:300px;
vertical-align:middle;
display:table-cell;
background-color:yellow;
}
#left {
height:100px;
color:white;
background-color:blue;
font-size:20px;
width:100px;
}
#right {
height:100px;
color:white;
background-color:red;
font-size:20px;
width:100px;
}
#botton {
height:20px;
display: block;
vertical-align: botton color:white;
background-color:green;
font-size:20px;
width:100%;
}
#mtop {
height:50px;
color:white;
background-color:orange;
font-size:20px;
width:100px;
}
#mbotton {
height:50px;
color:white;
background-color:pink;
font-size:20px;
width:100px;
}
#left, #right {
display: inline-block;
vertical-align: middle
}
#mtop, #mbotton {
display: inline-block;
vertical-align: top
}
但我需要这种布局
感谢您的帮助。
答案 0 :(得分:3)
答案 1 :(得分:2)
当您将#right
div移到#mtop
div之上时,float: left
div需要#left
,float: right
div需要#right
{1}} div
HTML:
<div id="container">
<div id="left">LEFT</div>
<div id="right">RIGHT</div>
<div id="mtop">MIDTOP</div>
<div id="mbotton">MIDBOT</div>
<div id="botton">BOTTON</div>
</div>
CSS:
#left {
float: left;
}
#right {
float: right;
}
您还应删除所有vertical-align
并更改
#container {
height:200px;
width:300px;
vertical-align:bottom;
display:table-cell;
background-color:yellow;
}
然后,所有div
将整齐地对齐#container
的底部。
修改后的JSFiddle
答案 2 :(得分:1)
您应该创建一个<div>
来同时包含MIDTOP
和MIDBOT
更好的是,完全避免容器<div>
并使用带有0 px边框的<table>
。