如何使div垂直水平居中的css代碼
發(fā)布時間:2010-02-23 16:06:27 作者:佚名
我要評論

很多人都會遇到這樣的問題:如何使DIV居中,div垂直居中,div水平居中.
主要的樣式定義如下,這也是最簡單的方法:
body {TEXT-ALIGN: center;}
#center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; }
說明:
首先在父級元素定義TEXT-ALIGN: center;這個的意思就是在父級元素內(nèi)的內(nèi)容居中;對于IE這樣設(shè)定就已經(jīng)可以了。但在mozilla中不能居中。解決辦法就是在子元素定義時候設(shè)定時再加上“MARGIN-RIGHT: auto;MARGIN-LEFT: auto; ”
需要說明的是,如果你想用這個方法使整個頁面要居中,建議不要套在一個DIV里,你可以依次拆出多個div,只要在每個拆出的div里定義MARGIN-RIGHT: auto;MARGIN-LEFT: auto; 就可以了。
如何使圖片在DIV 中垂直居中
用背景的方法。舉例:
body{
BACKGROUND: url(http://www.w3cn.org/style/001/logo_w3cn_194×79.gif) #FFF no-repeat center;
}
關(guān)鍵就是最后的center,這個參數(shù)定義圖片的位置。還可以寫成“top left”(左上角)或者”bottom right”等,也可以直接寫數(shù)值”50 30″
效果如下:
如何使文本在DIV中垂直居中
如果是文字,便不能用背景方法,可以用增高行距的辦法變通實現(xiàn)垂直居中,完整代碼如下:
<html>
<head>
<style>
body{
TEXT-ALIGN: center;
}
#center{
MARGIN-RIGHT: auto;
MARGIN-LEFT: auto;
height:200px;
background:#F00;
width:400px;
vertical-align:middle;
line-height:200px;
}
</style>
</head>
<body>
<div id=”center”>
<p>test content</p>
</div>
</body>
</html>
說明信息:
vertical-align:middle;表示行內(nèi)垂直居中,我們將行距增加到和整個DIV一樣高line-height:200px;然后插入文字,就垂直居中了。
關(guān)于CSS 控制DIV水平居中問題
我看到很多新人搞不明月。記得第一次看CSS是一個老外寫的書,那個里面談到居中使用。
margin-left:auto;
margin-right:auto;
其實等同于: view sourceprint?margin:0 auto;
于是可以使用這種方式,但是有人用IE時發(fā)現(xiàn)沒有居中。這里建議你看看是否遺漏了DTD聲明。 view sourceprint?<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
非常多的人犯過類似的錯誤!這種方法也可以說屢試不爽,但是在某些情況下還是行不通的。
于是有了第二種方法:
margin-left:50%;
left: -width/2;
這里的width不是CSS中的Width,而是你的DIV的寬度例如你的div是768px寬,那么你就應(yīng)該設(shè)置left:-384px。很好,已經(jīng)有兩種方法了,可以說已經(jīng)能夠解決你可能遇到的問題了。 有時候你會發(fā)現(xiàn),這兩個還不行。不能兼容一些瀏覽器。于是發(fā)現(xiàn)有了第三種方法,這中方法主要是考慮IE,它是建立在第一種方法的基礎(chǔ)之上。它需要設(shè)置body。 view sourceprint?body {text-align: center;}
這樣IE下也居中了,但是它帶來一個新的問題,你發(fā)現(xiàn)你的頁面中所有文字都是居中的,這樣很不好看。這個就很容易解決了,只需要在你的DIV定義中加上 text-align: left; 之類調(diào)整的設(shè)置就行了。
body {TEXT-ALIGN: center;}
#center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; }
說明:
首先在父級元素定義TEXT-ALIGN: center;這個的意思就是在父級元素內(nèi)的內(nèi)容居中;對于IE這樣設(shè)定就已經(jīng)可以了。但在mozilla中不能居中。解決辦法就是在子元素定義時候設(shè)定時再加上“MARGIN-RIGHT: auto;MARGIN-LEFT: auto; ”
需要說明的是,如果你想用這個方法使整個頁面要居中,建議不要套在一個DIV里,你可以依次拆出多個div,只要在每個拆出的div里定義MARGIN-RIGHT: auto;MARGIN-LEFT: auto; 就可以了。
如何使圖片在DIV 中垂直居中
用背景的方法。舉例:
body{
BACKGROUND: url(http://www.w3cn.org/style/001/logo_w3cn_194×79.gif) #FFF no-repeat center;
}
關(guān)鍵就是最后的center,這個參數(shù)定義圖片的位置。還可以寫成“top left”(左上角)或者”bottom right”等,也可以直接寫數(shù)值”50 30″
效果如下:
如何使文本在DIV中垂直居中
如果是文字,便不能用背景方法,可以用增高行距的辦法變通實現(xiàn)垂直居中,完整代碼如下:
復(fù)制代碼
代碼如下:<html>
<head>
<style>
body{
TEXT-ALIGN: center;
}
#center{
MARGIN-RIGHT: auto;
MARGIN-LEFT: auto;
height:200px;
background:#F00;
width:400px;
vertical-align:middle;
line-height:200px;
}
</style>
</head>
<body>
<div id=”center”>
<p>test content</p>
</div>
</body>
</html>
說明信息:
vertical-align:middle;表示行內(nèi)垂直居中,我們將行距增加到和整個DIV一樣高line-height:200px;然后插入文字,就垂直居中了。
關(guān)于CSS 控制DIV水平居中問題
我看到很多新人搞不明月。記得第一次看CSS是一個老外寫的書,那個里面談到居中使用。
margin-left:auto;
margin-right:auto;
其實等同于: view sourceprint?margin:0 auto;
于是可以使用這種方式,但是有人用IE時發(fā)現(xiàn)沒有居中。這里建議你看看是否遺漏了DTD聲明。 view sourceprint?<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
非常多的人犯過類似的錯誤!這種方法也可以說屢試不爽,但是在某些情況下還是行不通的。
于是有了第二種方法:
margin-left:50%;
left: -width/2;
這里的width不是CSS中的Width,而是你的DIV的寬度例如你的div是768px寬,那么你就應(yīng)該設(shè)置left:-384px。很好,已經(jīng)有兩種方法了,可以說已經(jīng)能夠解決你可能遇到的問題了。 有時候你會發(fā)現(xiàn),這兩個還不行。不能兼容一些瀏覽器。于是發(fā)現(xiàn)有了第三種方法,這中方法主要是考慮IE,它是建立在第一種方法的基礎(chǔ)之上。它需要設(shè)置body。 view sourceprint?body {text-align: center;}
這樣IE下也居中了,但是它帶來一個新的問題,你發(fā)現(xiàn)你的頁面中所有文字都是居中的,這樣很不好看。這個就很容易解決了,只需要在你的DIV定義中加上 text-align: left; 之類調(diào)整的設(shè)置就行了。
相關(guān)文章
- 本文給大家分享CSS 垂直水平居中的5種最佳解決方案以及各自的優(yōu)缺點,本文給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友參考下吧2018-01-11
- 這篇文章主要介紹了CSS水平垂直居中的幾種方法總結(jié),垂直居中是布局中十分常見的效果之一,本文介紹了幾種方法,有興趣的可以了解一下。2016-12-19
純css多種方法實現(xiàn)div中單行文字、多行文字及嵌套div垂直水平居中
經(jīng)常遇到要居中的問題,水平居中問題比較好解決,而垂直居中問題因為vertical-align經(jīng)常失效,下面與大家分享下幾個不錯的解決方法2014-04-24大小不固定的圖片和多行文字的垂直水平居中實現(xiàn)分析
其核心原理其實與第二種利用font-size大小實現(xiàn)IE下圖片垂直居中是一致的。將font-size設(shè)置得很大,目的是撐開IE下默認文字空間的高度,其性質(zhì)類似于空格,然后通過vertical2012-12-07CSS 實現(xiàn)未知內(nèi)容高度的垂直水平居中(改良版)
垂直居中在IE瀏覽器下的實現(xiàn)比較難實現(xiàn),而更難實現(xiàn)的應(yīng)該是未知內(nèi)容高度的垂直水平居中!還好網(wǎng)上也有很多高人發(fā)布了一些解決的方法!這里我進行了一些改良,兼容FF,IE62009-06-05- 今天有人問起,晚上試著寫出來,供參考; 以下代碼兼容主流瀏覽器IE6、IE7、Firefox、Opera。 從最簡單的開始………… 一、如何讓一個DIV水平居2009-04-04
- 這篇文章主要介紹了CSS水平垂直居中解決方案(6種)的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-10