關於CSS 控制DIV水平置中問題,我看到很多新人搞不明月。記得第一次看CSS是一個老外寫的書,那個裡面談到置中使用。
margin-left:auto;
margin-right:auto;
其實等同於:
margin:0 auto;
於是可以使用這種方式,但是有人用IE時發現沒有置中。這裡建議你看看是否遺漏了DTD聲明。
<!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寬,那麼你就應該設定left:-384px。很好,已經有兩種方法了,可以說已經能夠解決你可能遇到的問題了。
有時候你會發現,這兩個還不行。不能相容一些瀏覽器。於是發現有了第三種方法,這中方法主要是考慮IE,它是建立在第一種方法的基礎之上。它需要設定body。
body {text-align: center;}
這樣IE下也置中了,但是它帶來一個新的問題,你發現你的頁面中所有文字都是置中的,這樣很不好看。這個就很容易解決了,只需要在你的DIV定義中加上 text-align: left; 之類調整的設定就行了。
以上文字僅是一個飯後參考與小品。大家在實際工作中可以引起注意!
如何使DIV置中,div垂直置中,div水平置中.
主要的樣式定義如下:
body {TEXT-ALIGN: center;}
#center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; }
說明:
首先在父級元素定義TEXT-ALIGN: center;這個的意思就是在父級元素內的內容置中;對於IE這樣設定就已經可以了。但在mozilla中不能置中。解決辦法就是在子項目定義時候設定時再加上“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_194x79.gif) #FFF no-repeat center;}
關鍵就是最後的center,這個參數定義圖片的位置。還可以寫成“top left”(左上方)或者"bottom right"等,也可以直接寫數值"50 30"
效果如下:
如何使文本在DIV中垂直置中
如果是文字,便不能用背景方法,可以用增高行距的辦法變通實現垂直置中,完整代碼如下:
<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;表示行內垂直置中,我們將行距增加到和整個DIV一樣高line-height:200px;然後插入文字,就垂直置中了。
http://www.google.cn/search?hl=zh-CN&q=div+%E5%B1%85%E4%B8%AD&meta=&aq=2&oq=div