除了使用CSS表格使用display: table-cell;
,你也可以用絕對定位來獲得類似的佈局。
使用你的HTML作爲是(沒有多餘的元素),應用下面的CSS:
html, body {
height: 100%;
width: 100%;
font-size: 13px;
}
.parent {
background-color: grey;
height: 20%;
line-height: 1.6em;
font-size: 1.6em;
min-height: 1.6em;
position: relative;
}
.left, .right {
position: absolute;
top: 50%;
margin-top: -0.8em;
}
.left {
background-color: yellow;
padding-left: 20px;
left: 0;
}
.right {
background-color: red;
padding-right: 20px;
right: 0;
}
你可以看到在演示小提琴:http://jsfiddle.net/audetwebdesign/cByHa/
在.parent
容器,設置行高以明確的值(1.6em作爲字體大小),position: relative
和min-height
來爲文本保持足夠的高度。
兩個子元素.left
和.right
與top: 50%
絕對定位和使用margin-top: -0.8em
得到垂直居中(使用的line-height值的一半)。
根據需要使用左右偏移(或填充)來調整子元素的水平位置。
如果你想取兩個孩子身高是DIV的全長那麼你可以使用高度:100%重要..但即使那樣也不會將內容與中心對齊 –