Web標(biāo)準(zhǔn)實戰(zhàn)CSS網(wǎng)頁布局Google首頁_DIV+CSS實例
教程Tag:暫無Tag,歡迎添加,賺取U幣!
今天我們來學(xué)習(xí)用 Web 標(biāo)準(zhǔn)的方法來制作 Google 首頁(中文)。Google 首頁一直是用 table 布局的。我們把 Google 首頁用 PrtScr 截屏,作為制作時的設(shè)計稿參考,并且不打開 Google 首頁查看其源代碼——就當(dāng)它不存在。這樣和真實項目工作比較接近。
第一部分、HTML 的構(gòu)建(基于XHTML Transitional)
從設(shè)計稿上看到的內(nèi)容,去揣摩結(jié)構(gòu)。因為整個頁面內(nèi)容較少,輕易理解,但也碰到了我們的第一個問題:是用 <p> 標(biāo)簽還是 <div>?各自代表著 paragraph 和 division,原則上說,這個頁面上沒有任何的段落存在,所以不應(yīng)該用 <p>。但這里涉及到一個問題,拋開樣式表顯示的話,用 <p> 更加的清楚,因為默認(rèn) <div> 的 margin 和 padding 值都為零。好吧,用 <p> 還是用 <div> 是一個個人喜好問題,但是原則上應(yīng)當(dāng)用后者。在本例中也使用后者。開始找個稱手的編輯器寫 HTML :
這包括頭部的登陸狀態(tài)和中間的大 Logo。我們先不增加任何樣式 id 和 class。
然后我們看到中間有“網(wǎng)頁 圖片 資訊 論壇 更多 ?”這些鏈接。怎么做?一般就兩種寫法,看個人喜好。把這幾個鏈接寫一行里面或者寫在一個 ul 里面,如下:
或者:
這兩種寫法各有什么優(yōu)缺點呢?這里一共有 5 項,第一項是加粗的文字,其余 4 項是鏈接。假如使用第一種寫法對于樣式的控制就顯得力不從心,比如控制這 5 項之間的間距;假如使用第二種寫法,那么在脫離樣式的情況下,分了 5 行顯示。這里我把缺點都寫出來,根據(jù)本例情況,我們還是選擇第一種寫法,這樣要控制樣式就需要在每一項前后增加無意義的 <span>。
我們先繼續(xù)往下寫,碰到了搜索表單以及邊上的高級搜索等三個鏈接。先寫哪一個?看上去是平級的啊。這個時候最好問一下產(chǎn)品設(shè)計師的本意。我們在這里先寫表單。如下:
注重給每一項 radio button 添加一個 label,具體的效果大家可以自行測試一下。另外這里采用了 label 包含的寫法,也可以寫成 <label for="foo"> 針對 id 為 foo 的 label </label>。怎么寫這也是看個人喜好的。
接下來是高級搜索等三個鏈接,以及底部的版權(quán)信息等,代碼如下:
到這里我們基本完成了 Google 首頁的 HTML 構(gòu)建,這里是樣例文件,待會兒我們還會再修整一部分代碼。
第二部分、樣式表
我們采用直接把樣式寫在 head 里面的方式,較為簡單也方便演示。首先我們看到除了頭部的登陸狀態(tài),其余部分都是居中對齊的,并且發(fā)現(xiàn)字體是 Arial,默認(rèn)文字大小為 13 px。我們在 head 區(qū)域增加以下樣式:
這里使用了 px 這個絕對單位。關(guān)于絕對單位和相對單位,網(wǎng)上相關(guān)文章很多,并且也一直是 Web 前臺的熱門話題,本文簡單起見,直接使用絕對單位。
然后我們逐步增加其他樣式:
之后的搜索表單,我們碰到了樣式化的難點,首先作為搜索的 size 為 55 的輸入框從布局上來說是絕對居中的,而右側(cè)高級搜索那三項的寬度加上輸入框在內(nèi)并不是絕對居中。也就是說視覺上,高級搜索那三項偏右了。如下圖所示:
這里我們使用絕對定位的方法來處理它(在 HTML 中將高級搜索這三項的內(nèi)容放入 form 之內(nèi)):
最后我們加上底部鏈接和版權(quán)信息部分的樣式:
在瀏覽器里面預(yù)覽并且微調(diào)一下各個數(shù)值,這樣就完成了 Google 首頁的制作。最終效果及源文件:
[ 可先修改部分代碼 再運行查看效果 ]
這在 Firefox 1.5 下測試,與 Google 首頁沒有任何像素的差異。在 IE 下會有一些像素上的差異,這就是各個瀏覽器的兼容性問題,留給大家自行處理了。本系列以后會有專門的文章討論這些問題。
本例的最終代碼還能夠有進一步的優(yōu)化,做法每個人習(xí)慣不同,希望本文能夠幫助到大家。
懌飛補充:
1、對于“?”使用代碼“&raquo;”來代替;
2、label寫法推薦寫成 <label for="foo"> 針對 id 為 foo 的 label </label>。因為<label><input />xxxxx</label>只有在FF等對標(biāo)準(zhǔn)支持很好的瀏覽器里才顯示正常,在IE6中無法顯示正常的效果。
3、對于strong,需要重點顯示出來的內(nèi)容,可以使用strong,而對于布局里需要區(qū)分主次點的部分,就寫到樣式里,比如分類的一級分類為粗體,二級分類為一般字體……,其實strong對于搜索引擎優(yōu)化也有一定的作用,搜索引擎會優(yōu)先strong的內(nèi)容,而寫在樣式里就不會有這樣的效果!
第一部分、HTML 的構(gòu)建(基于XHTML Transitional)
從設(shè)計稿上看到的內(nèi)容,去揣摩結(jié)構(gòu)。因為整個頁面內(nèi)容較少,輕易理解,但也碰到了我們的第一個問題:是用 <p> 標(biāo)簽還是 <div>?各自代表著 paragraph 和 division,原則上說,這個頁面上沒有任何的段落存在,所以不應(yīng)該用 <p>。但這里涉及到一個問題,拋開樣式表顯示的話,用 <p> 更加的清楚,因為默認(rèn) <div> 的 margin 和 padding 值都為零。好吧,用 <p> 還是用 <div> 是一個個人喜好問題,但是原則上應(yīng)當(dāng)用后者。在本例中也使用后者。開始找個稱手的編輯器寫 HTML :
示例代碼 [www.wf0088.com]
<div><strong>junchenwu@gmail.com</strong> | <a href="ig">個性化主頁</a> | <a href="MyAccount">我的帳戶</a> | <a href="logout">退出</a></div>
<div><img src="http://p1.mb5u.com/divcss/logo.gif" alt="Google" /></div>
<div><img src="http://p1.mb5u.com/divcss/logo.gif" alt="Google" /></div>
這包括頭部的登陸狀態(tài)和中間的大 Logo。我們先不增加任何樣式 id 和 class。
然后我們看到中間有“網(wǎng)頁 圖片 資訊 論壇 更多 ?”這些鏈接。怎么做?一般就兩種寫法,看個人喜好。把這幾個鏈接寫一行里面或者寫在一個 ul 里面,如下:
示例代碼 [www.wf0088.com]
<div><strong>網(wǎng)頁</strong> <a href="pic">圖片</a> <a href="info">資訊</a> <a href="group">論壇</a> <a href="more"><strong>更多 ?</strong></a></div>
或者:
示例代碼 [www.wf0088.com]
<ul>
<li><strong>網(wǎng)頁</strong></li>
<li><a href="pic">圖片</a></li>
<li><a href="info">資訊</a></li>
<li><a href="group">論壇</a></li>
<li><a href="more"><strong>更多 ?</strong></a></li>
</ul>
<li><strong>網(wǎng)頁</strong></li>
<li><a href="pic">圖片</a></li>
<li><a href="info">資訊</a></li>
<li><a href="group">論壇</a></li>
<li><a href="more"><strong>更多 ?</strong></a></li>
</ul>
這兩種寫法各有什么優(yōu)缺點呢?這里一共有 5 項,第一項是加粗的文字,其余 4 項是鏈接。假如使用第一種寫法對于樣式的控制就顯得力不從心,比如控制這 5 項之間的間距;假如使用第二種寫法,那么在脫離樣式的情況下,分了 5 行顯示。這里我把缺點都寫出來,根據(jù)本例情況,我們還是選擇第一種寫法,這樣要控制樣式就需要在每一項前后增加無意義的 <span>。
我們先繼續(xù)往下寫,碰到了搜索表單以及邊上的高級搜索等三個鏈接。先寫哪一個?看上去是平級的啊。這個時候最好問一下產(chǎn)品設(shè)計師的本意。我們在這里先寫表單。如下:
示例代碼 [www.wf0088.com]
<form action="" method="post">
<div><input type="text" size="55" title="Google 搜索" /></div>
<div><button type="submit">Google 搜索</button><button>手氣不錯</button></div>
<div><label><input type="radio" name="t" checked="checked" /> 搜索所有網(wǎng)頁</label> <label><input type="radio" name="t" /> 中文網(wǎng)頁</label> <label><input type="radio" name="t" /> 簡體中文網(wǎng)頁</label></div>
</form>
<div><input type="text" size="55" title="Google 搜索" /></div>
<div><button type="submit">Google 搜索</button><button>手氣不錯</button></div>
<div><label><input type="radio" name="t" checked="checked" /> 搜索所有網(wǎng)頁</label> <label><input type="radio" name="t" /> 中文網(wǎng)頁</label> <label><input type="radio" name="t" /> 簡體中文網(wǎng)頁</label></div>
</form>
注重給每一項 radio button 添加一個 label,具體的效果大家可以自行測試一下。另外這里采用了 label 包含的寫法,也可以寫成 <label for="foo"> 針對 id 為 foo 的 label </label>。怎么寫這也是看個人喜好的。
接下來是高級搜索等三個鏈接,以及底部的版權(quán)信息等,代碼如下:
示例代碼 [www.wf0088.com]
<div><a href="advanced_search">高級搜索</a> <a href="pref">使用偏好</a> <a href="lang">語言工具</a></div>
<div><a href="ad">廣告計劃</a> - <a href="all">Google 大全</a> - <a href="en">Google.com in English</a></div>
<div>?2007 Google</div>
<div><a href="ad">廣告計劃</a> - <a href="all">Google 大全</a> - <a href="en">Google.com in English</a></div>
<div>?2007 Google</div>
到這里我們基本完成了 Google 首頁的 HTML 構(gòu)建,這里是樣例文件,待會兒我們還會再修整一部分代碼。
第二部分、樣式表
我們采用直接把樣式寫在 head 里面的方式,較為簡單也方便演示。首先我們看到除了頭部的登陸狀態(tài),其余部分都是居中對齊的,并且發(fā)現(xiàn)字體是 Arial,默認(rèn)文字大小為 13 px。我們在 head 區(qū)域增加以下樣式:
示例代碼 [www.wf0088.com]
body{
font-family: Arial, sans-serif;
font-size: 13px;
text-align: center;
margin-top: 3px;
}
a:link{
color: #00C;
}
a:visited{
color: #551a8b;
}
font-family: Arial, sans-serif;
font-size: 13px;
text-align: center;
margin-top: 3px;
}
a:link{
color: #00C;
}
a:visited{
color: #551a8b;
}
這里使用了 px 這個絕對單位。關(guān)于絕對單位和相對單位,網(wǎng)上相關(guān)文章很多,并且也一直是 Web 前臺的熱門話題,本文簡單起見,直接使用絕對單位。
然后我們逐步增加其他樣式:
示例代碼 [www.wf0088.com]
#login{ /*這是頭部的登陸狀態(tài)*/
text-align: right;
}
#stype{ /*這就是上文提到的那 5 項搜索類型*/
margin-bottom: 4px;
}
#stype span{ /*此處增加了無意義的 span*/
padding: 0 6px;
}
text-align: right;
}
#stype{ /*這就是上文提到的那 5 項搜索類型*/
margin-bottom: 4px;
}
#stype span{ /*此處增加了無意義的 span*/
padding: 0 6px;
}
之后的搜索表單,我們碰到了樣式化的難點,首先作為搜索的 size 為 55 的輸入框從布局上來說是絕對居中的,而右側(cè)高級搜索那三項的寬度加上輸入框在內(nèi)并不是絕對居中。也就是說視覺上,高級搜索那三項偏右了。如下圖所示:
這里我們使用絕對定位的方法來處理它(在 HTML 中將高級搜索這三項的內(nèi)容放入 form 之內(nèi)):
示例代碼 [www.wf0088.com]
#search{ /*這是搜索表單*/
margin: 0 auto;
width: 400px;
position: relative;
}
#more{
width: 4em; /*4個漢字寬,這樣可以形成類似列表的效果*/
position: absolute;
top: 0;
right: -4.5em;
}
margin: 0 auto;
width: 400px;
position: relative;
}
#more{
width: 4em; /*4個漢字寬,這樣可以形成類似列表的效果*/
position: absolute;
top: 0;
right: -4.5em;
}
最后我們加上底部鏈接和版權(quán)信息部分的樣式:
示例代碼 [www.wf0088.com]
#ft{
margin: 54px auto 16px;
}
margin: 54px auto 16px;
}
在瀏覽器里面預(yù)覽并且微調(diào)一下各個數(shù)值,這樣就完成了 Google 首頁的制作。最終效果及源文件:
代碼調(diào)試框 [www.wf0088.com]
[ 可先修改部分代碼 再運行查看效果 ]
這在 Firefox 1.5 下測試,與 Google 首頁沒有任何像素的差異。在 IE 下會有一些像素上的差異,這就是各個瀏覽器的兼容性問題,留給大家自行處理了。本系列以后會有專門的文章討論這些問題。
本例的最終代碼還能夠有進一步的優(yōu)化,做法每個人習(xí)慣不同,希望本文能夠幫助到大家。
懌飛補充:
1、對于“?”使用代碼“&raquo;”來代替;
2、label寫法推薦寫成 <label for="foo"> 針對 id 為 foo 的 label </label>。因為<label><input />xxxxx</label>只有在FF等對標(biāo)準(zhǔn)支持很好的瀏覽器里才顯示正常,在IE6中無法顯示正常的效果。
3、對于strong,需要重點顯示出來的內(nèi)容,可以使用strong,而對于布局里需要區(qū)分主次點的部分,就寫到樣式里,比如分類的一級分類為粗體,二級分類為一般字體……,其實strong對于搜索引擎優(yōu)化也有一定的作用,搜索引擎會優(yōu)先strong的內(nèi)容,而寫在樣式里就不會有這樣的效果!
相關(guān)DIV+CSS實例:
- 固定div容器的寬高,圖片居中(圖片不限制大小)
- 用css制作有滾動條的居中彈出框
- 鼠標(biāo)指住(hover)變色的按鈕演示demo
- 10個很酷的涂鴉風(fēng)格國外網(wǎng)店設(shè)計展示
- jquery模擬瀏覽器滾動條效果
- 仿谷歌google的搜索框下拉提示列表效果
- JS顯示網(wǎng)頁最后更新時間
- CSS技巧:text-indent隱藏文字(以圖換字)
- CSS實例:三列自適應(yīng)等高且中列寬度自適應(yīng)
- DivCSS布局實例:很實用的圖文混排CSS列表-富有語義
- DivCSS實例:CSS菜單Flash效果用圖片模擬實現(xiàn)
- DivCSS布局實例用dldtdd來制作列表
DIV+CSS實例Rss訂閱Div+Css教程搜索
DIV+CSS實例推薦
- 鼠標(biāo)指住(hover)變色的按鈕演示demo
- CSS導(dǎo)航菜單:仿淘寶首頁導(dǎo)航條布局效果
- DIV CSS網(wǎng)頁布局分析的兩個小例子
- CSS菜單:一個圖片構(gòu)建菜單的三種狀態(tài)一例!
- HowCSSLayoutWorks-如何進行CSS布局
- 用css網(wǎng)站布局之十步實錄!(二)
- Web標(biāo)準(zhǔn)實戰(zhàn)CSS網(wǎng)頁布局豆瓣首頁
- DivCSS實例:符合web標(biāo)準(zhǔn)的嵌入Flash的方法-JS調(diào)用
- DIV CSS布局實例:半透明陰影效果的實現(xiàn)
- CSS滑動式條狀圖表如何實現(xiàn)?
- 相關(guān)鏈接:
復(fù)制本頁鏈接| 搜索Web標(biāo)準(zhǔn)實戰(zhàn)CSS網(wǎng)頁布局Google首頁
- 教程說明:
DIV+CSS實例-Web標(biāo)準(zhǔn)實戰(zhàn)CSS網(wǎng)頁布局Google首頁。