完美實現CSS頁面居中方法揭秘
本文向大家描述一下實現CSS頁面居中的幾種方法,常用的有margin:0auto;方法,還有用text-align實現居中,這個方法把整個頁面當作文本對待,把body的屬性設置為{text-align:center;},這樣的話頁面所有內容全部居中了。
***實現CSS頁面居中方法揭秘
◆我們常用的margin:0auto;方法
這個方法是大家用的最多的方法,使用的時候必須為容器指定寬度。
例子:#main{width:960px;margin:0auto;}這個在大部分瀏覽器里面都可以很好的實現效果。
但是在IE6之前的版本中卻不被支持,下面看一下第二種方法。
◆用text-align實現居中,這個方法其實算是一個hack
這個方法把整個頁面當作文本對待,把body的屬性設置為{text-align:center;}這樣的話頁面所有內容全部居中了,還需要把頁面總的外框(wrap)屬性{text-align:left;}
這樣的話頁面就居中了。
viewplaincopytoclipboardprint?
- body{text-align:center;}
- wrap{text-align:left;}
- body{text-align:center;}
- wrap{text-align:left;}
負的外邊距
負外邊距需要和絕對定位同時使用,才會生效。
首先需要一個{wrap}來包裹所有的頁面內容,并將其定位到頁面的50%。這樣{warp}容器據瀏覽器左邊50%的距離。
然后再用負邊距,將容器左邊距設置為{wrap}寬度的一半即可。
viewplaincopytoclipboardprint?
- #wrap{
- width:800px;
- position:absolute;
- left:50%;
- margin:000-400px;
- }
- #wrap{
- width:800px;
- position:absolute;
- left:50%;
- margin:000-400px;
- }
這樣wrap就居中對齊了,這個方法基本上可以兼容所有的瀏覽器了。
綜上所述:***種方法是我們大家***的解決方案,第二種方法其實可以和***種方法結合起來用更好,第三種方法是是可以兼容所有的瀏覽器,如果你對你的也頁面兼容性要求的高些,這個也可以作為你的***哈!
在了解XHTML代碼規范后,我們就要進行CSS布局。首先先介紹一些CSS的入門知識。如果你已經很熟悉了,可以跳過這一節,直接進入下一節CSS是CascadingStyleSheets(層疊樣式表)的縮寫。是一種對web文檔添加樣式的簡單機制,屬于表現層的布局語言。#p#
基本語法規范
分析一個典型CSS的語句:
- p{COLOR:#FF0000;BACKGROUND:#FFFFFF}
其中"p"我們稱為"選擇器"(selectors),指明我們要給"p"定義樣式;
樣式聲明寫在一對大括號"{}"中;
COLOR和BACKGROUND稱為"屬性"(property),不同屬性之間用分號";"分隔;
"#FF0000"和"#FFFFFF"是屬性的值(value)。
◆顏色值
顏色值可以用RGB值寫,例如:color:rgb(255,0,0),也可以用十六進制寫,就象上面例子color:#FF0000。
如果十六進制值是成對重復的可以簡寫,效果一樣。例如:#FF0000可以寫成#F00。但如果不重復就不可以簡寫,例如#FC1A1B必須寫滿六位。
◆定義字體
web標準推薦如下字體定義方法:
viewplaincopytoclipboardprint?
- body{font-family:"LucidaGrande",Verdana,
- Lucida,Arial,Helvetica,宋體,sans-serif;}
- body{font-family:"LucidaGrande",
- Verdana,Lucida,Arial,Helvetica,宋體,sans-serif;}
字體按照所列出的順序選用。如果用戶的計算機含有LucidaGrande字體,文檔將被指定為LucidaGrande。沒有的話,就被指定為Verdana字體,如果也沒有Verdana,就指定為Lucida字體,依此類推;LucidaGrande字體適合MacOSX;Verdana字體適合所有的Windows系統;Lucida適合UNIX用戶"宋體"適合中文簡體用戶;如果所列出的字體都不能用,則默認的sans-serif字體能保證調用;
◆群選擇器
當幾個元素樣式屬性一樣時,可以共同調用一個聲明,元素之間用逗號分隔。
p,td,li{font-size:12px;}
◆派生選擇器
可以使用派生選擇器給一個元素里的子元素定義樣式,例如這樣:
- listrong{font-style:italic;font-weight:normal;}
就是給li下面的子元素strong定義一個斜體不加粗的樣式。
◆id選擇器
用CSS布局主要用層"div"來實現,而div的樣式通過"id選擇器"來定義。例如我們首先定義一個層
- <dividdivid="menubar">div>
然后在樣式表里這樣定義
- #menubar{MARGIN:0px;BACKGROUND:#FEFEFE;COLOR:#666;}
其中"menubar"是你自己定義的id名稱。注意在前面加"#"號。
id選擇器也同樣支持派生,例如:#menubarp{text-align:right;margin-top:10px;}
這個方法主要用來定義層和那些比較復雜,有多個派生的元素。#p#
◆類別選擇器
在CSS里用一個點開頭表示類別選擇器定義,例如:.
- 14px{color:#f60;font-size:14px;}
在頁面中,用class="類別名"的方法調用:
- <spanclassspanclass="14px">14px大小的字體span>
這個方法比較簡單靈活,可以隨時根據頁面需要新建和刪除。
◆定義鏈接的樣式
CSS中用四個偽類來定義鏈接的樣式,分別是:a:link、a:visited、a:hover和a:active,例如:
viewplaincopytoclipboardprint?
- a:link{font-weight:bold;text-decoration:none;color:#c00;}
- a:visited{font-weight:bold;
- text-decoration:none;color:#c30;}
- a:hover{font-weight:bold;text-decoration:underline;color:#f60;}
- a:active{font-weight:bold;
- text-decoration:none;color:#F90;}
- a:link{font-weight:bold;text-decoration:none;color:#c00;}
- a:visited{font-weight:bold;
- text-decoration:none;color:#c30;}
- a:hover{font-weight:bold;
- text-decoration:underline;color:#f60;}
- a:active{font-weight:bold;
- text-decoration:none;color:#F90;}
以上語句分別定義了"鏈接、已訪問過的鏈接、鼠標停在上方時、點下鼠標時"的樣式。注意,必須按以上順序寫,否則顯示可能和你預想的不一樣。記住它們的順序是“LVHA”。
【編輯推薦】
- CSS***實現垂直居中的方法及優缺點
- CSS Sprites樣式生成工具用法詳解
- FireFox和IE中CSS兼容技巧匯總
- CSS代碼整理及優化七大原則
- 深入剖析Firefox下 margin-top失效原因與解決方案