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