DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS特效代碼 >> CSS水平和垂直居中的幾種實現方法
CSS水平和垂直居中的幾種實現方法
編輯:CSS特效代碼     

一、CSS 居中 — 水平居中

DIV等標簽本身沒有定義自己居中的屬性,網上很多的方法都是介紹用上級的text-align: center,然後嵌套一層DIV來解決問題。可是這個方法有時候完全不起作用,而且對於布局是非常不科學的方法。正確的的設置寫法如下(對頁面構造沒有影響):div {margin-left: auto; margin-right: auto; }這句CSS居中的意思就是讓div自己調整左右margin間隔的距離以達到水平居中的效果。有時候我們還可以簡寫為 div { margin:0px auto; }但這樣的簡寫法,如果你調整 margin-top 或者 margin-bottom 就會失去CSS居中的水平居中效果。另外,如果你的div還沒有指定寬度(可以是相對的大小),這種CSS居中寫法也起不到應有的效果,解決辦法是為這個div指定一個width寬度,例如: width:auto; 或者 width:50% 之類的。同時,你的頁面類型即document type必須聲明為xhtml。至於松散還是嚴格都不影響。這個寫法也適用於圖片img和一些其他的盒狀標簽的CSS居中。最後,假如你在IE和FireFox兩個浏覽器中看起來不一樣,你最好采用 text-align:center; 和 margin 兩個CSS居中一起設置的方法。例如:#layout  {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; 就可以了。

二. CSS居中 — 垂直居中

1. 如何使圖片在DIV 中垂直居中對這個CSS居中問題,我們可以使用設置背景圖片的方法。舉例:body {BACKGROUND: url(”sample.gif”) #FFF no-repeat center;}關鍵就在於這個Center屬性,它表示讓該背景圖片在容器中居中。你也可以把Cener換成Top Left或者直接寫上數字來調整它的位置。

2.如何使文本在DIV中垂直居中對於文字,便不能用背景方法,可以用增高行距的辦法變通實現垂直居中,示范代碼如下:#center{ MARGIN-RIGHT: auto; MARGIN-LEFT: auto;  height:200px;  vertical-align:middle;  line-height:200px; }<div id=”center”><p>test content</p></div>說明:vertical-align:middle;表示行內垂直居中,我們將行距增加到和整個DIV一樣高line-height:200px;然後插入文字,就垂直居中了。

3.CSS+DIV控制頁面中元素垂直居中代碼,實現全局和區域CSS垂直居中示范代碼:

<style type=”text/css” media=screen>body{text-align: center;}#a{width: 200px;height: 400px;background: #000;}#b{margin-top: expression((a.clientHeight-50)/2);width: 50px;height: 50px;background: #FFF;}#c{position: absolute;left: expression((body.clientWidth-50)/2);top: expression((body.clientHeight-50)/2);width: 50px;height: 50px;background: #F00;}</style><div id=”a”><div id=”b”></div></div><div id=”c”></div>

另一CSS居中方法:

<div style=”background:blue;position:absolute;left:expression((body.clientWidth-50)/2);top:expression((body.clientHeight-50)/2);width:50;height:50″></div>

加一種CSS水平垂直居中方法,

#LoginBar { position: absolute; left:50%; Top:50%; margin-top: -68px; z-index: 1; margin-left: -150px; width: 300px;  

Height: 156px;text-align:left;


XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved