實(shí)例解析:使用DIV CSS網(wǎng)頁(yè)布局實(shí)現(xiàn)Google首頁(yè)
本文和大家重點(diǎn)討論一下用DIV CSS網(wǎng)頁(yè)布局之Google首頁(yè)實(shí)現(xiàn),Google首頁(yè)一直是用table布局的。我們把Google首頁(yè)用PrtScr截屏,作為制作時(shí)的設(shè)計(jì)稿參考,并且不打開(kāi)Google首頁(yè)查看其源代碼——就當(dāng)它不存在。這樣和真實(shí)項(xiàng)目工作比較接近。
用DIV CSS網(wǎng)頁(yè)布局之Google首頁(yè)實(shí)現(xiàn)
今天我們來(lái)學(xué)習(xí)用Web標(biāo)準(zhǔn)的方法來(lái)制作Google首頁(yè)(中文)。Google首頁(yè)一直是用table布局的。我們把Google首頁(yè)用PrtScr截屏,作為制作時(shí)的設(shè)計(jì)稿參考,并且不打開(kāi)Google首頁(yè)查看其源代碼——就當(dāng)它不存在。這樣和真實(shí)項(xiàng)目工作比較接近。
***部分、DIV CSS網(wǎng)頁(yè)布局之HTML的構(gòu)建(基于XHTMLTransitional)
從設(shè)計(jì)稿上看到的內(nèi)容,去揣摩結(jié)構(gòu)。因?yàn)檎麄€(gè)頁(yè)面內(nèi)容較少,容易理解,但也碰到了我們的***個(gè)問(wèn)題:是用
標(biāo)簽還是
。但這里涉及到一個(gè)問(wèn)題,拋開(kāi)樣式表顯示的話(huà),用
更加的清晰,因?yàn)槟J(rèn)
還是用
- <div><strong>junchenwu@gmail.com< span>strong>|<ahrefahref="ig">個(gè)性化主頁(yè)
- < span>a>|<ahrefahref="MyAccount">我的帳戶(hù)< span>a>|<ahrefahref="logout">退出< span>a>< span>div>
- <div><imgsrcimgsrc="http://www.google.com/intl/zh-CN_ALL/images/logo.gif"alt="Google"/>< span>div>
這包括頭部的登陸狀態(tài)和中間的大Logo。我們先不增加任何樣式id和class。
然后我們看到中間有“網(wǎng)頁(yè)圖片資訊論壇更多»”這些鏈接。怎么做?一般就兩種寫(xiě)法,看個(gè)人喜好。把這幾個(gè)鏈接寫(xiě)一行里面或者寫(xiě)在一個(gè)ul里面,如下:
- <div><strong>網(wǎng)頁(yè)< span>strong><ahrefahref="pic">圖片< span>a><ahrefahref="info">
- 資訊< span>a><ahrefahref="group">論壇< span>a><ahrefahref="more">
- <strong>更多»< span>strong>< span>a>< span>div>
或者:
- <ul>
- <li><strong>網(wǎng)頁(yè)< span>strong>< span>li>
- <li><ahrefahref="pic">圖片< span>a>< span>li>
- <li><ahrefahref="info">資訊< span>a>< span>li>
- <li><ahrefahref="group">論壇< span>a>< span>li>
- <li><ahrefahref="more"><strong>更多»< span>strong>< span>a>< span>li>
- < span>ul>
這兩種寫(xiě)法各有什么優(yōu)缺點(diǎn)呢?這里一共有5項(xiàng),***項(xiàng)是加粗的文字,其余4項(xiàng)是鏈接。如果使用***種寫(xiě)法對(duì)于樣式的控制就顯得力不從心,比如控制這5項(xiàng)之間的間距;如果使用第二種寫(xiě)法,那么在脫離樣式的情況下,分了5行顯示。這里我把缺點(diǎn)都寫(xiě)出來(lái),根據(jù)本例情況,我們還是選擇***種寫(xiě)法,這樣要控制樣式就需要在每一項(xiàng)前后增加無(wú)意義的。
我們先繼續(xù)往下寫(xiě),遇到了搜索表單以及邊上的高級(jí)搜索等三個(gè)鏈接。先寫(xiě)哪一個(gè)?看上去是平級(jí)的啊。這個(gè)時(shí)候***問(wèn)一下產(chǎn)品設(shè)計(jì)師的本意。我們?cè)谶@里先寫(xiě)表單。如下:
- <formactionformaction=""method="post">
- <div><inputtypeinputtype="text"size="55"title="Google搜索"/>< span>div>
- <div><buttontypebuttontype="submit">Google搜索< span>button><button>手氣不錯(cuò)< span>button>< span>div>
- <div><label><inputtypeinputtype="radio"name="t"checked="checked"/>
- 搜索所有網(wǎng)頁(yè)< span>label><label><inputtypeinputtype="radio"name="t"/>
- 中文網(wǎng)頁(yè)< span>label><label><inputtypeinputtype="radio"name="t"/>簡(jiǎn)體中文網(wǎng)頁(yè)< span>label>< span>div>
- < span>form>
注意給每一項(xiàng)radiobutton添加一個(gè)label,具體的效果大家可以自行測(cè)試一下。另外這里采用了label包含的寫(xiě)法,也可以寫(xiě)成
接下來(lái)是高級(jí)搜索等三個(gè)鏈接,以及底部的版權(quán)信息等,代碼如下:
- <div><ahrefahref="advanced_search">高級(jí)搜索< span>a><ahrefahref="pref">使用偏好< span>a><ahrefahref="lang">語(yǔ)言工具< span>a>< span>div>
- <div><ahrefahref="ad">廣告計(jì)劃< span>a>-<ahrefahref="all">Google大全< span>a>-<ahrefahref="en">Google.cominEnglish< span>a>< span>div>
- <div>©2007Google< span>div>
到這里我們基本完成了Google首頁(yè)的HTML構(gòu)建,這里是樣例文件,待會(huì)兒我們還會(huì)再修整一部分代碼。#p#
第二部分、DIV CSS網(wǎng)頁(yè)布局之樣式表
我們采用直接把樣式寫(xiě)在head里面的方式,較為簡(jiǎn)單也方便演示。首先我們看到除了頭部的登陸狀態(tài),其余部分都是居中對(duì)齊的,并且發(fā)現(xiàn)字體是Arial,默認(rèn)文字大小為13px。我們?cè)趆ead區(qū)域增加以下樣式:
- body{
- font-family:Arial,sans-serif;
- font-size:13px;
- text-align:center;
- margin-top:3px;
- }
- a:link{
- color:#00C;
- }
- a:visited{
- color:#551a8b;
- }
這里使用了px這個(gè)絕對(duì)單位。關(guān)于絕對(duì)單位和相對(duì)單位,網(wǎng)上相關(guān)文章很多,并且也一直是Web前臺(tái)的熱門(mén)話(huà)題,本文簡(jiǎn)單起見(jiàn),直接使用絕對(duì)單位。
然后我們逐步增加其他樣式:
- #login{/*這是頭部的登陸狀態(tài)*/
- text-align:right;
- }
- #stype{/*這就是上文提到的那5項(xiàng)搜索類(lèi)型*/
- margin-bottom:4px;
- }
- #stypespan{/*此處增加了無(wú)意義的span*/
- padding:06px;
- }
之后的搜索表單,我們碰到了樣式化的難點(diǎn),首先作為搜索的size為55的輸入框從布局上來(lái)說(shuō)是絕對(duì)居中的,而右側(cè)高級(jí)搜索那三項(xiàng)的寬度加上輸入框在內(nèi)并不是絕對(duì)居中。也就是說(shuō)視覺(jué)上,高級(jí)搜索那三項(xiàng)偏右了。如下圖所示:
這里我們使用絕對(duì)定位的方法來(lái)處理它(在HTML中將高級(jí)搜索這三項(xiàng)的內(nèi)容放入form之內(nèi)):
- #search{/*這是搜索表單*/
- margin:0auto;
- width:400px;
- position:relative;
- }
- #more{
- width:4em;/*4個(gè)漢字寬,這樣可以形成類(lèi)似列表的效果*/
- position:absolute;
- top:0;
- right:-4.5em;
- }
***我們加上底部鏈接和版權(quán)信息部分的樣式:
- #ft{
- margin:54pxauto16px;
- }
在瀏覽器里面預(yù)覽并且微調(diào)一下各個(gè)數(shù)值,這樣就完成了Google首頁(yè)的制作。#p#
第三部分、DIV CSS網(wǎng)頁(yè)布局之完整代碼
如下:
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml">
- <head>
- <metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/>
- <title>Google< span>title>
- <styletypestyletype="text/css">
- body{
- background:#FFF;
- color:#000;
- font-family:Arial,sans-serif;
- font-size:13px;
- text-align:center;
- margin-top:3px;
- }
- a:link{
- color:#00C;
- }
- a:visited{
- color:#551a8b;
- }
- #login{
- text-align:right;
- }
- #stype{
- margin-bottom:4px;
- }
- #stypespan{
- padding:06px;
- }
- #search{
- margin:0auto;
- width:400px;
- position:relative;
- }
- #more{
- width:4em;
- position:absolute;
- top:0;
- right:-4.5em;
- }
- #ft{
- margin:54pxauto16px;
- }
- < span>style>
- < span>head>
- <body>
- <divstyledivstyle="text-align:right"><ahrefahref="ig">個(gè)性化主頁(yè)< span>a>|<ahrefahref="MyAccount">
- 我的帳戶(hù)< span>a>|<ahrefahref="logout">退出< span>a>< span>div>
- <divstyledivstyle="margin:4pxauto19px;">
- <imgsrcimgsrc="http://www.google.com/intl/zh-CN_ALL/images/logo.gif"alt="Google"/>< span>div>
- <dividdivid="stype"><span><strong>網(wǎng)頁(yè)< span>strong>< span>span><span><ahrefahref="pic">圖片< span>a>
- < span>span><span><ahrefahref="info">資訊< span>a>< span>span><span><ahrefahref="group">論壇< span>a>< span>span><span>
- <ahrefahref="more"><strong>更多»< span>strong>< span>a>< span>span>< span>div>
- <formidformid="search"action=""method="post">
- <div><inputtypeinputtype="text"size="55"title="Google搜索"/>< span>div>
- <div><buttontypebuttontype="submit">Google搜索< span>button><button>手氣不錯(cuò)< span>button>< span>div>
- <divstyledivstyle="margin-top:6px;"><label><inputtypeinputtype="radio"name="t"checked="checked"/>
- 搜索所有網(wǎng)頁(yè)< span>label><label><inputtypeinputtype="radio"name="t"/>中文網(wǎng)頁(yè)< span>label><label>
- <inputtypeinputtype="radio"name="t"/>簡(jiǎn)體中文網(wǎng)頁(yè)< span>label>< span>div>
- <dividdivid="more"><ahrefahref="advanced_search">高級(jí)搜索< span>a>
- <ahrefahref="pref">使用偏好< span>a><ahrefahref="lang">語(yǔ)言工具< span>a>< span>div>
- < span>form>
- <dividdivid="ft"><ahrefahref="ad">廣告計(jì)劃< span>a>-<ahrefahref="all">
- Google大全< span>a>-<ahrefahref="en">Google.cominEnglish< span>a>< span>div>
- <div>©2007Google< span>div>
- < span>body>
- < span>html>
【編輯推薦】
- DIV CSS實(shí)例教程要點(diǎn)總結(jié)
- 解析DIV布局之四大屬性用法
- Html中DIV和Span的區(qū)別揭秘
- 使用Div CSS構(gòu)架的三大好處
- Div CSS實(shí)例教程:頁(yè)面制作方法全程指導(dǎo)







51CTO技術(shù)棧公眾號(hào)

速覽