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