解決DIV水平居中和垂直居中的多種方案
你對(duì)DIV水平居中和垂直居中的解決方法是否了解,這里和大家分享一下,相信本文介紹一定會(huì)讓你有所收獲。
DIV水平居中和垂直居中的多種解決方案
在定義網(wǎng)頁(yè)的CSS樣式的時(shí)候,我們或許并不怎么用到垂直居中。在div-css.net中,大量的文章介紹了這些知識(shí)。在和別人合作的時(shí)候,你的代碼的自適應(yīng)性就需要做到最大程度的好。你自己在做自己的網(wǎng)頁(yè)的時(shí)候或許可以保證在視覺上是居中的,但是如果讓這個(gè)元素或者他的父元素變大了,你還能保證居中嗎?
vertical-align是個(gè)不錯(cuò)的屬性,但是這個(gè)屬性起初是針對(duì)表格的cell的。當(dāng)然這個(gè)屬性雖然對(duì)塊級(jí)元素不起作用,但是對(duì)行內(nèi)元素比如span還是有作用的(這時(shí)候,這個(gè)屬性設(shè)置為負(fù)值元素內(nèi)容就下移,正值則上移)。
下面是比較專業(yè)的垂直居中的集中解決方案。記錄于此,以便查閱。
1、單行垂直居中
文字在層中垂直居中vertical-align屬性是做不到的.我們這里有個(gè)比較巧妙的方法就是:設(shè)置height的高度與line-height的高度相同!
ExampleSourceCode[]
- <divstyledivstyle="line-height:500px;height:500;">
2、層水平居中
設(shè)置div的寬度小于父div的寬度,設(shè)置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層垂直水平居中,英文超長(zhǎng)換行
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垂直滾動(dòng)
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>
【編輯推薦】
- DIV CSS隱藏內(nèi)容樣式方法詳解
- IE6.0對(duì)padding的解讀分析
- 揭露CSS中margins折疊現(xiàn)象內(nèi)幕
- 七大CSS選擇符用法說明
- 技術(shù)分享 如何使用CSS控制超鏈接文字樣式