在定義網頁的CSS樣式的時候,我們或許並不怎麼用到垂直居中。在webjx.com中,大量的文章介紹了這些知識。在和別人合作的時候,你的代碼的自適應性就需要做到最大程度的好。你自己在做自己的網頁的時候或許可以保證在視覺上是居中的,但是如果讓這個元素或者他的父元素變大了,你還能保證居中嗎?
vertical-align是個不錯的屬性,但是這個屬性起初是針對表格的cell的。當然這個屬性雖然對塊級元素不起作用,但是對行內元素比如span還是有作用的(這時候,這個屬性設置為負值元素內容就下移,正值則上移)。
下面是比較專業的垂直居中的集中解決方案。記錄於此,以便查閱。
1、單行垂直居中 文字在層中垂直居中vertical-align 屬性是做不到的.我們這裡有個比較巧妙的方法就是:設置height的高度與line-height的高度相同!
<div style="line-height:500px;height:500;">
2、層水平居中 設置div的寬度小於父div的寬度,設置 margin:0 auto;,即可讓div居中。
#parentdiv
{
width: 500px;
}
#childdiv {
width: 200px;
margin:0 auto;
}
3、層中的文字水平居中 在childdiv的CSS加上text-align:center;
#parentdiv
{
width: 500px;
}
#childdiv {
width: 200px;
margin:0 auto;
text-align:center;
}
4、div層垂直居中
<div style="width:275px;height:375px;border: solid red;">
<div style=" background:green;height: 375px; width: 275px; position: relative; display: table-cell; vertical-align: middle;">
<div
style=" background:red;position:static;position:absolute\9; top: 50%;">
<div
style=" background:blue;position: relative; top: -50%;">
www.webjx.com
</div>
</div>
</div>
</div>
5、div層垂直水平居中,英文超長換行
<div style="float:left;width:275px;height:375px;border: solid red;">
<div
style=" height: 375px; width: 275px; position: relative; display: table-cell; vertical-align: middle;">
<div
style="position:static;position:absolute\9; top: 50%;">
<div style="position: relative; top: -50%; text-align: center;">
<div style="width: 85px;WORD-WRAP: break-word;TABLE-LAYOUT: fixed;Word-break:break-all;margin:0 auto;">
www.webjx.comwww.webjx.comwww.webjx.comwww.webjx.comwww.webjx.comwww.webjx.comwww.webjx.com
</div>
</div>
</div>
</div>
</div>
6、div垂直滾動
<div
style="width: 160px; height: 260px; overflow-y: scroll; border: 1px solid;">
www.webjx.com
</div>
7、垂直居中和使用text-align水平居中
<div style="float:left;width:275px;height:375px;border: solid red;">
<div
style=" height: 375px; width: 275px; position: relative; display: table-cell; vertical-align: middle;">
<div
style="position:static;position:absolute\9;top: 50%;">
<div
style="position: relative; top: -50%; text-align:center;">
<div style="width: 275px;">
<div style="width: 160px;WORD-WRAP: break-word;TABLE-LAYOUT: fixed;Word-break:break-all;text-align:left;">
www.webjx.comwww.webjx.comwww.webjx.comwww.webjx.comwww.webjx.comwww.webjx.comwww.webjx.com
</div>
</div>
</div>
</div>
</div>
</div>
8、垂直居中和使用margin水平居中
<div style="float:left;width:275px;height:375px;border: solid red;">
<div
style=" height: 375px; width: 275px; position: relative; display: table-cell; vertical-align: middle;">
<div
style="position:static;position:absolute\9; top: 50%;">
<div
style="position: relative; top: -50%; ">
<div style="margin:0 auto;width: 160px;WORD-WRAP: break-word;TABLE-LAYOUT: fixed;Word-break:break-all;">
www.webjx.comwww.webjx.comwww.webjx.comwww.webjx.comwww.webjx.comwww.webjx.comwww.webjx.comwww.webjx.com
</div>
</div>
</div>
</div>
</div>