現代學網頁技術的同窗愈來愈多,可是不少初學制做網頁的朋友,可能會遇到的一個常見問題,就是在CSS中加了margin:0 auto;卻沒有效果,不能居中的問題!margin:0 auto;的意思就是:上下邊界爲0,左右根據寬度自適應!其實就是水平居中的意思,呵呵!小六哥哥在這裏說兩個典型的錯誤引發的不能居中的問題:html
一、沒有設置寬度前端
沒有高度寬度的div,就好像不存在的東西同樣,除非你設置了border寬度,要否則你休想在網頁裏看到它。web
<div style="margin:0 auto;"></div>
看看上面的代碼,根本沒有設置DIV的寬度,如何根據寬度自適應呢?新手比較容易忽略的問題!瀏覽器
二、沒聲明DOCTYPE
①DOCTYPE是document type(文檔類型)的簡寫,在web設計中用來講明你用的XHTML或者HTML是什麼版本。要創建符合標準的網頁,DOCTYPE聲明是必不可少的關鍵組成部分!框架
②看看下面的代碼,是否是很熟悉?像這樣的,在文檔最頂端,全部代碼之上的亂七八糟的東西,就是用來聲明DOCTYPE的!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">spa
③你有三種選擇,用來聲明DOCTYPE
* 過渡的(Transitional):要求很是寬鬆的DTD,它容許你繼續使用HTML4.01的標識(可是要符合xhtml的寫法),完整代碼以下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">設計
* 嚴格的(Strict):要求嚴格的DTD,你不能使用任何表現層的標識和屬性,例如<br>,完整代碼以下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">code
* 框架的(Frameset):專門針對框架頁面設計使用的DTD,若是你的頁面中包含有框架,須要採用這種DTD,完整代碼以下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">前端設計
④至於選擇哪一種。。使用過分的就能夠了。。htm
說了半天,margin:0 atuo;不起做用,不能居中的話,看看你的文檔最頂端有沒有聲明DOCTYPE,沒有就複製粘貼一下,就能夠了!
最後面介紹我經常使用的一種解決方案,完美秒殺任何瀏覽器的兼容
1 body { 2 margin: 0; 3 padding: 0; 4 color:#777; 5 font:12px Verdana,Arial,Tahoma; 6 text-align:center; 7 background:#fff; 8 }
後面的div盒子模型,所有采用左浮動,float:left;
至於有的網友會問,那麼個人網頁盒子模型之間的空白怎麼弄出來呢?若是這個你想不到,我只好說你不適合學網頁前端設計,絕對沒有用到像margin-left,margin-right這些屬性。不懂的朋友私信我吧