域名注冊(cè) 網(wǎng)站制作
您現(xiàn)在的位置:首頁(yè) >> 網(wǎng)站建設(shè) >> 內(nèi)容

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

時(shí)間:2014/11/18 11:31:18 點(diǎn)擊:589

摘要:div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程(一)今天學(xué)習(xí)《十天學(xué)會(huì)web標(biāo)準(zhǔn)(div+css)》的最后一個(gè)章節(jié),本章節(jié)把前面學(xué)習(xí)的零碎內(nèi)容串聯(lián)起來(lái),組織成一個(gè)網(wǎng)站,將根據(jù)本人這些年來(lái)的從業(yè)經(jīng)驗(yàn),從建立站點(diǎn)...

DIV+CSS網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程(一)

今天學(xué)習(xí)《十天學(xué)會(huì)web標(biāo)準(zhǔn)(div+css)》的最后一個(gè)章節(jié),本章節(jié)把前面學(xué)習(xí)的零碎內(nèi)容串聯(lián)起來(lái),組織成一個(gè)網(wǎng)站,將根據(jù)本人這些年來(lái)的從業(yè)經(jīng)驗(yàn),從建立站點(diǎn)到一個(gè)完整的div+css網(wǎng)頁(yè)的完成,整個(gè)流程下來(lái),希望能對(duì)各位有所幫助。由于本節(jié)內(nèi)容較多,將分三部分來(lái)講解。

一、 建立站點(diǎn)
二、結(jié)構(gòu)分析
三、搭建框架
四、切割效果圖
五、布局頁(yè)面——頭部和導(dǎo)航
六、布局頁(yè)面——側(cè)邊欄
七、布局頁(yè)面——主體部分
八、底部和細(xì)節(jié)調(diào)整
九、相對(duì)路徑和相對(duì)于根目錄路徑
十、創(chuàng)建服務(wù)器環(huán)境
十一、建立數(shù)據(jù)庫(kù)
十二、本地和遠(yuǎn)程服務(wù)器連接
十三、PHP讀取數(shù)據(jù)
十四、頁(yè)面調(diào)試及瀏覽器兼容

一、建立站點(diǎn)

前面的課程都是零碎講解一些相關(guān)知識(shí),那么要做一個(gè)網(wǎng)站,首先需要建立一個(gè)站點(diǎn)。那么什么是站點(diǎn),為什么要建立一個(gè)站點(diǎn)呢?因?yàn)榫W(wǎng)站不同于其它文件,比如一個(gè)圖片,放到哪個(gè)盤(pán)哪個(gè)目錄下都可以訪問(wèn)。而網(wǎng)站是許多文件相互關(guān)聯(lián)的,所以要專(zhuān)門(mén)一個(gè)目錄把它們分門(mén)別類(lèi)存放起來(lái)。如果搞過(guò)視頻編輯的朋友都知道,需要先建立一個(gè)工程,把原始的視頻文件、圖片素材分類(lèi)放好,也是這個(gè)道理。下面以在D盤(pán)建立一個(gè)jiaocheng文件夾為例,在dreamweaver(簡(jiǎn)稱(chēng)DW)里創(chuàng)建一個(gè)站點(diǎn)指向這個(gè)文件夾,然后在目錄下新建images文件夾、css文件夾等把各類(lèi)文件分別存放起來(lái)。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

保存后,一個(gè)站點(diǎn)就建立起來(lái)了,我用的是DW cs5版本,不同版本界面有所不同。如果要連接FTP,需要設(shè)置服務(wù)器選項(xiàng)(后面會(huì)涉及到)。站點(diǎn)建立好后,我們先建立一個(gè)images和css文件夾,分別用來(lái)存放圖片和css文件。直接在windows的資源管理器下建立或者在dw里建立都是可以的;在dw建立需要在文件面板列表的根目錄上點(diǎn)擊右鍵,選擇新建文件夾后更改名字即可。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

二、結(jié)構(gòu)分析

創(chuàng)建完站點(diǎn)后,就需要對(duì)頁(yè)面結(jié)構(gòu)進(jìn)行分析了,根據(jù)效果圖,分析頁(yè)面分為幾大塊,該怎么布局更合理。下面這個(gè)圖是我做的一個(gè)企業(yè)網(wǎng)站的模板,雖然不怎么好看,但目的是把前邊學(xué)的東西全都給串起來(lái),讓大家掌握各種情況的處理方法,先看下效果圖及在網(wǎng)頁(yè)中顯示的樣式:

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

在瀏覽器中打開(kāi)效果圖預(yù)覽

從圖中可以看出整個(gè)頁(yè)面分為頭部區(qū)域、導(dǎo)航區(qū)域、主體部分和底部,其中主體部分又分為左右兩列,整個(gè)頁(yè)面居中顯示,看明白了這點(diǎn),下邊的框架就好搭建了。整體框架結(jié)果圖如下:

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

三、搭建框架

首先在dw里新建一個(gè)HTML文件:

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

點(diǎn)擊創(chuàng)建后會(huì)自動(dòng)生成如下代碼的一個(gè)html文件,保存為index.html并把無(wú)標(biāo)題文檔改為:主頁(yè)。強(qiáng)調(diào)一點(diǎn),許多同學(xué)喜歡把第一行代碼刪除掉,認(rèn)為沒(méi)用,其實(shí)這句話的作用大著呢,它標(biāo)明以何種形式解析文檔,如果刪除可能會(huì)引起樣式表失效或其它意想不到的問(wèn)題。接下來(lái)需要插入以上各個(gè)塊的標(biāo)簽了,以插入header的標(biāo)簽為例,其它的插入方法類(lèi)同。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>主頁(yè)</title>

</head>

<body>

</body>

</html>

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

按照上圖的方法依次插入標(biāo)簽,或者直接在代碼視圖中手工輸入,代碼如下:(注意main和side在maincontent里包含著呢)

<div id="header">此處顯示 id "header" 的內(nèi)容</div>

<div id="nav">此處顯示 id "nav" 的內(nèi)容</div>

<div id="maincontent">

<div id="main">此處顯示 id "main" 的內(nèi)容</div>

<div id="side">此處顯示 id "side" 的內(nèi)容</div>

</div>

<div id="footer">此處顯示 id "footer" 的內(nèi)容</div>

從上邊的效果圖分析得知,整個(gè)網(wǎng)頁(yè)是居中瀏覽器顯示的,按照這樣的寫(xiě)法需要把以上的header、nav、maincontent、footer都設(shè)置寬度并居中,這樣做起來(lái)很麻煩,所以再在這些標(biāo)簽外增加一下父標(biāo)簽,設(shè)置這個(gè)父標(biāo)簽寬度并居中后,是不是所有的標(biāo)簽都居中了呢。增加后的代碼如下:

<div id="container">

<div id="header">此處顯示 id "header" 的內(nèi)容</div>

<div id="nav">此處顯示 id "nav" 的內(nèi)容</div>

<div id="maincontent">

<div id="main">此處顯示 id "main" 的內(nèi)容</div>

<div id="side">此處顯示 id "side" 的內(nèi)容</div>

</div>

<div id="footer">此處顯示 id "footer" 的內(nèi)容</div>

</div>

html框架代碼寫(xiě)完后,下邊就需要設(shè)置css樣式表了。先測(cè)量下效果圖的整體寬度,然后設(shè)置container也是這個(gè)寬度并居中。說(shuō)起測(cè)量效果圖寬度,方法有多種,可以直接查看圖片尺寸。如果測(cè)量其中某一塊的寬度,可以使用測(cè)量軟件,也可以在ps下測(cè)量。本人一般在ps下測(cè)量,因?yàn)樾Ч麍D在ps下制作的,所以用ps測(cè)量也比較方便。方法是首選項(xiàng)里把ps的單位改為像素,然后用選區(qū)選中要測(cè)量的部分,在信息面板中就顯示出當(dāng)前選區(qū)的寬高了(如果你實(shí)在不知道怎么改單位,怎么選區(qū)怎么查看的,就要補(bǔ)習(xí)一下ps啦)。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

測(cè)量后得知:整體寬度為900px,main部的寬度為664px,side寬度為228px。把這三個(gè)基本的寬度測(cè)量后,下面就可以寫(xiě)css代碼了。由于本實(shí)例是按照實(shí)際當(dāng)中應(yīng)用來(lái)做的,所以css樣式表就最好寫(xiě)在單獨(dú)文件里了,不要再寫(xiě)在文件內(nèi)部了,這樣可以利用代碼的重用性,減少很多勞動(dòng)強(qiáng)度。下面就新建一個(gè)css樣式表文件:在DW文件菜單選擇新建,然后在打開(kāi)的窗口頁(yè)面類(lèi)型中選擇css,創(chuàng)建后保存在css文件夾中并命名為layout.css

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程
div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

保存后先設(shè)置全局的樣式,而后寫(xiě)每一塊單獨(dú)的樣式,全局樣式如下:

body { margin:0 auto; font-size:12px; font-family:Verdana; line-height:1.5;}

ul,dl,dd,h1,h2,h3,h4,h5,h6,form,p { padding:0; margin:0;}

ul { list-style:none;}

img { border:0px;}

a { color:#05a; text-decoration:none;}

a:hover { color:#f00;}

全局的樣式定義完后,下面定義以上幾大塊的樣式,先設(shè)置下#containerr的樣式如下:

#container { width:900px; margin:0 auto;}

預(yù)覽下index.html,發(fā)現(xiàn)并沒(méi)有改變,這是為什么呢?因?yàn)閯偠x的樣式表沒(méi)有和html文件關(guān)聯(lián),所以設(shè)置的樣式當(dāng)然不能對(duì)它生效了,還記得第一天課時(shí)講的幾種樣式并聯(lián)方式嗎?下面我操作一遍:在css面板中點(diǎn)擊附加樣式表按鈕,然后在彈出的窗口中選擇剛才創(chuàng)建的樣式表文件,確定,ok了,預(yù)覽一下,是不是整體已經(jīng)居中了呢。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程
div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

如果已經(jīng)是寬度為900px并居中,說(shuō)明樣式和文件關(guān)聯(lián)好了。這就是為什么要定義一個(gè)站點(diǎn)了,因?yàn)樵S多文件要關(guān)聯(lián)在一起才能構(gòu)成一個(gè)完整的網(wǎng)頁(yè),所以要把它們放在一起,才能讓這個(gè)頁(yè)面找到和它相關(guān)的文件在哪里。下面設(shè)置內(nèi)部幾大塊的樣式,為了便于觀察,我們把部分塊設(shè)置了背景色。代碼如下:

/*body*/

#container { width:900px; margin:0 auto;}

/*header*/

#header { height:70px; background:#CCFFCC; margin-bottom:8px;}

#nav { height:30px; background:#CCFFCC; margin-bottom:8px;}

/*main*/

#maincontent { margin-bottom:8px;}

#main { float:left; width:664px; height:500px; background:#FFFF99;}

#side { float:right; width:228px; height:500px; background:#FFCC99;}

/*footer*/

#footer { height:70px; background:#CCFFCC;}

現(xiàn)在預(yù)覽一下:在IE6下#maincontent的底部外邊距并沒(méi)有生效,而在IE8下,#footer干脆跑到#maincontent的下邊了,這又是怎么回事呢?如果前邊幾天你都認(rèn)真學(xué)的話,那么這個(gè)問(wèn)題已經(jīng)不是問(wèn)題了。這就是之前我們講的,如果一個(gè)容器內(nèi)的元素都浮動(dòng)的話,那么它的高度將不會(huì)去適應(yīng)內(nèi)部元素的高度。解決辦法是在#maincontent增加 overflow:autol; zoom:1;,這樣就可以讓它自動(dòng)適應(yīng)內(nèi)部元素的高度了。

現(xiàn)在再預(yù)覽一下,是不是都正常了。為了更加保險(xiǎn),建議在header、nav、maincontent、footer之間增加如下一句代碼并設(shè)置css樣式如下,它的作用是清除浮動(dòng)。

<div></div>

.clearfloat {clear:both;height:0;font-size: 1px;line-height: 0px;}

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>主頁(yè)</title>

<link rel="stylesheet" type="text/css" />

</head>

<body>

<div id="container">

<div id="header">此處顯示 id "header" 的內(nèi)容</div>

<div></div>

<div id="nav">此處顯示 id "nav" 的內(nèi)容</div>

<div></div>

<div id="maincontent">

<div id="main">此處顯示 id "main" 的內(nèi)容</div>

<div id="side">此處顯示 id "side" 的內(nèi)容</div>

</div>

<div></div>

<div id="footer">此處顯示 id "footer" 的內(nèi)容</div>

</div>

</body>

</html>
提示:可以先修改部分代碼后再運(yùn)行

四、切割效果圖

基本框架搭建完畢后,下一步就是要分析每一塊該怎么切圖了。切圖方法有多種,可以使用ps或fireworks自帶的切片工具,也可以用QQ的截屏或者創(chuàng)建新文件,把需要的部分復(fù)制過(guò)來(lái)保存都可以,關(guān)鍵看個(gè)人喜好了。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程
用ps的切片工具的話,把需要切割的區(qū)域用切片工具切分,如果要設(shè)置圖片的名稱(chēng),請(qǐng)使用切片選擇工具,然后在切片上雙擊,會(huì)彈出如下窗口,填寫(xiě)名字后確定即可。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程
切割完后,需要保存圖片了,選擇文件——存儲(chǔ)為web和設(shè)備所用格式,在彈出的窗口中點(diǎn)擊選中切片,然后在右側(cè)可以設(shè)置當(dāng)前切片的圖片格式。這里有個(gè)技巧,一般小型色彩單一的圖片,采用gif格式,照片類(lèi)大型圖片采用jpg,這樣生成的圖片既能保證質(zhì)量,圖片體積又小,

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

設(shè)置完圖片的格式后,就可以存儲(chǔ)了,這里選擇到images的上一級(jí)目錄就行了,ps會(huì)自動(dòng)創(chuàng)建images目錄并把圖片文件放入,如果已存在,直接放入。在格式處選擇僅限圖像,如果選擇html和圖像,ps會(huì)自動(dòng)生成一個(gè)表格式的網(wǎng)頁(yè),這個(gè)頁(yè)面不是我們需要的,就不讓它生成了;還有一個(gè)需要注意的地方就是選擇所有用戶切片,這樣只把我們手動(dòng)切割的圖片保存下來(lái),其它的就不保存了。保存后的圖片如下所示,其中hot_bg.gif這張圖片切割時(shí)沒(méi)有隱藏上邊的文字,一會(huì)兒在ps里再處理一下把文字抹掉。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程
div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

目前所切的圖片只是一部分,并沒(méi)有把整個(gè)頁(yè)面所需的圖片全都切割下來(lái),比如導(dǎo)航部分所用背景圖片可以放到一張圖片上,下面就用新建文件,然后用QQ截屏,粘貼過(guò)去的方法來(lái)創(chuàng)建。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

分析一下上圖的導(dǎo)航部分:1、兩端的圓角;2、鼠標(biāo)劃過(guò)狀態(tài)和當(dāng)前欄目狀態(tài)寬度應(yīng)該隨著字?jǐn)?shù)的多少而改變;3、二級(jí)導(dǎo)航有鼠標(biāo)劃過(guò)時(shí)的狀態(tài)。分析完之后,就需要把需要的圖片整合到一張圖片上了,整合的結(jié)果如下圖,這個(gè)根據(jù)自己的需要進(jìn)行整合。其實(shí)完全可以把其它一些小圖標(biāo)都整合在一張,但那樣操作起來(lái)比較麻煩,所以我們還是歸一下類(lèi),把相關(guān)的圖標(biāo)整合到一起。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

接下來(lái)整合側(cè)邊欄的背景圖片,分析發(fā)現(xiàn)側(cè)邊欄應(yīng)用同樣的樣式,只不過(guò)高度有所不同,而且是四角都是圓角,所以只用一個(gè)通用的就可以滿足所有側(cè)邊欄塊的需求了。那么怎么制作這個(gè)通用的背景呢?從下圖我們發(fā)現(xiàn),標(biāo)題的高度都是一樣的,只不過(guò)是下邊的內(nèi)容高度不同而已,那么我們把下邊內(nèi)容的背景制作的足夠長(zhǎng),超過(guò)可能出現(xiàn)的最大高度就可以滿足需求了。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程
div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

整合后的效果如上圖,如果你現(xiàn)在還不明白為什么要這么做,那么一會(huì)兒寫(xiě)完樣式表你就明白了。下面把三個(gè)圖標(biāo)也給切出來(lái),如下圖:

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

這些完事后,還有聯(lián)系我們的圖片和修飾小圖標(biāo)了。聯(lián)系我們的圖片如下,這里的圖片和小圖標(biāo)要背景透明,這樣才不會(huì)遮蓋下面的背景。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程
div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

(接下一篇)

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程(二)

(接上一篇,本節(jié)教程文字較多,比較枯燥,如果前邊知識(shí)學(xué)習(xí)牢固,可以直接下載源代碼查看,哪個(gè)地方不明白,再回過(guò)頭來(lái)看哪一部分)

五、布局頁(yè)面——頭部和導(dǎo)航

有了上邊的基礎(chǔ),下面的任務(wù)就是要利用html和css制作完成一個(gè)完整的網(wǎng)頁(yè)了。先從頭部開(kāi)始,第三小節(jié)時(shí)我們已經(jīng)把整體框架給搭建好了,就像蓋房子一樣,整體結(jié)構(gòu)已經(jīng)出來(lái)了,下面就需要填磚分割空間了。先分析下頭部:分為兩部分,一個(gè)是logo靠左側(cè)顯示,一個(gè)是搜索靠右側(cè)顯示,那么布局時(shí)插入兩個(gè)div,一個(gè)向左浮動(dòng),一個(gè)向右浮動(dòng)的方式來(lái)完成。另外還有很多種實(shí)現(xiàn)方法,比如logo用h1標(biāo)簽,搜索用span,或者把logo做為背景圖片也是可以的,不管采用哪種方法,要根據(jù)頁(yè)面的需求選用一種最合理的方法。如果要在logo加上鏈接的話,那么就不能用背景圖片的方法了。

<div id="header">

<div id="logo">此處顯示 id "logo" 的內(nèi)容</div>

<div id="search">此處顯示 id "search" 的內(nèi)容</div>

</div>

先在header里插入以上兩塊元素。然后分別插入相應(yīng)的內(nèi)容,在logo里插入我們事先切割好的logo圖片,在search里插入一個(gè)表單,一個(gè)文本框和一個(gè)按鈕,插入后如下:

<div id="header">

<div id="logo"><img src="images/logo.gif" width="181" height="45" /></div>

<div id="search">

<form id="form1" name="form1" method="post" action="">

搜索產(chǎn)品

<input type="text" name="textfield" id="textfield" />

<input type="submit" name="button" id="button" value="查詢" />

</form>

</div>

</div>

接下來(lái)定義css吧,在ps里測(cè)量,頭部的高度是71px,logo距頂部18px,搜索產(chǎn)品距頂部30px,下面在css里把這些參數(shù)都給定義上,看顯示的效果和效果圖中的效果是不是一樣呢?

#logo { float:left; margin-top:18px;}

#search { float:right; margin-top:30px;}

這兩項(xiàng)的位置已經(jīng)差不多了。預(yù)覽你會(huì)發(fā)現(xiàn),搜索框和按鈕跟效果圖中的不一樣,這是因?yàn)槲覀冞沒(méi)對(duì)它設(shè)置樣式,接下來(lái)把文本框增加一個(gè)class為inp_srh樣式,按鈕增加btn_srh的樣式,然后定義這兩個(gè)樣式的屬性。

#search { float:right; height:24px; margin-top:30px; color:#444;}

.inp_srh { width:140px; height:17px; padding-left:20px; background:url(../images/srh_bg.gif) 0 0 no-repeat; border:1px solid #cbcbcb;}

.btn_srh { width:58px; height:23px; background:url(../images/btn_srh.gif) 0 0 no-repeat; border:none; cursor:pointer; text-indent:-999em;}

#search * { vertical-align:middle;}

我們給search增加了高度和文字顏色,這點(diǎn)不用多解釋?zhuān)叨葹槭裁词?4px,是為了照顧 IE6,大家去掉測(cè)試下就知道了;

inp_srh的寬度和高度并不是實(shí)際效果圖中的寬高,是因?yàn)槟J(rèn)情況下文本框帶有內(nèi)邊距造成的。另外就是padding的值也會(huì)算到總寬度上的;

btn_srh就是應(yīng)用背景圖像來(lái)實(shí)現(xiàn)的,說(shuō)明一點(diǎn)這里的border的值為none指的是無(wú)邊框,cursor定義鼠標(biāo)樣式為手形,之前許多朋友用hand,但這個(gè)通不過(guò)w3c認(rèn)證。text-indent:-999em這個(gè)屬性許多朋友可能不理解是干什么用的了,它的作用相當(dāng)于word中的首行縮進(jìn),這里設(shè)置成-999,意思是向左側(cè)縮進(jìn)-999em,這樣是不是就看不到文字啦,所以它的作用是將按鈕上的文字隱藏,當(dāng)然也可以在html代碼中插入空格代替文字,但這樣做有點(diǎn)不太好,在不支持css的設(shè)備上查看時(shí),用戶不知道這個(gè)按鈕是干什么的了。所以建議采用這種形式;

有必要解釋下最后一行,它的特殊之處在樣式名和大括號(hào)之間加了一個(gè)*號(hào),這里兼容所用的,屬于css hack部分內(nèi)容,是定義這些元素都垂直居中對(duì)齊。css hack本身就是無(wú)意思的東西,所以不做過(guò)多解釋?zhuān)喇?dāng)需要垂直居中對(duì)齊時(shí)就采用這種寫(xiě)法就行了,但是一定不要濫用,這個(gè)屬性也是有缺陷的,當(dāng)有英文和中文同時(shí)出現(xiàn)時(shí),英文會(huì)靠上顯示的。有關(guān)css hack更多的內(nèi)容,請(qǐng)參考http://www.100181.com/special/css_hack/index.shtml

這些設(shè)置完后,把最初搭建框架時(shí)設(shè)置的header的背景色和底部外邊距給去掉吧。

#header { height:71px;}

至此,頭部的樣式就完成了,下邊該制作導(dǎo)航了。分析一下,導(dǎo)航分為一級(jí)導(dǎo)航和二級(jí)導(dǎo)航,所以我需要在nav下再插入nav_main和nav_son兩個(gè)塊元素。

<div id="nav">

<div id="nav_l"></div>

<div id="nav_r"></div>

<div>

<ul>

<li><a href="#"><span>首頁(yè)</span></a></li>

<li><a href="#" id="nav_current"><span>企業(yè)新聞</span></a></li>

<li><a href="#"><span>企業(yè)簡(jiǎn)介</span></a></li>

<li><a href="#"><span>產(chǎn)品展廳</span></a></li>

<li><a href="#"><span>企業(yè)歷史</span></a></li>

<li><a href="#"><span>招商加盟</span></a></li>

<li><a href="#"><span>網(wǎng)上下單</span></a></li>

<li><a href="#"><span>聯(lián)系我們</span></a></li>

</ul>

</div>

<div>

<ul>

<li><a href="#">企業(yè)動(dòng)態(tài)</a></li>

<li><a href="#">領(lǐng)導(dǎo)活動(dòng)</a></li>

<li><a href="#">產(chǎn)品資訊</a></li>

<li><a href="#">通知公告</a></li>

</ul>

</div>

</div>

先設(shè)置nav的高度及背景圖片樣式。

#nav { height:66px; background:url(../images/nav_bg.gif) 0 0 repeat-x; margin-bottom:8px;}

完了之后該一級(jí)菜單和二級(jí)菜單的樣式了

.nav_main { height:36px; overflow:hidden;}

.nav_main ul li { float:left; font-size:14px; font-weight:bold; margin:5px 5px 0 5px;}

.nav_main ul li a { float:left; display:block; height:26px; line-height:26px; color:#fff; padding-left:20px;}

.nav_main ul li a span { display:block; padding-right:20px;}

.nav_main ul li a:hover { background:url(../images/nav_bg.gif) 0 -163px no-repeat;}

.nav_main ul li a:hover span { background:url(../images/nav_bg.gif) right -163px no-repeat;}

.nav_main ul li a#nav_current { height:31px; line-height:31px; background:url(../images/nav_bg.gif) 0 -132px no-repeat; color:#646464;}

.nav_main ul li a#nav_current span { height:31px; background:url(../images/nav_bg.gif) right -132px no-repeat;}

.nav_son { height:30px;}

.nav_son ul li { float:left; margin-top:4px;}

.nav_son ul li a { display:block; width:78px; height:22px; line-height:22px; text-align:center; color:#6e6e6e;}

.nav_son ul li a:hover { background:url(../images/nav_bg.gif) 0 -198px no-repeat;}

這些樣式的作用就不多講了,以前的課程當(dāng)中已詳細(xì)講解過(guò)了,只不過(guò)本例使用了雙導(dǎo)航菜單而已,F(xiàn)在在瀏覽器下預(yù)覽一下吧,看看效果怎么樣,是不是和效果圖差不多了,但還有最后一步就是兩端的圓角沒(méi)實(shí)現(xiàn),實(shí)現(xiàn)圓角的方法也不復(fù)雜,只需再增加兩行代碼和兩個(gè)樣式即可。在nav下nav_main之前增加如下兩行代碼:

<div id="nav_l"></div>

<div id="nav_r"></div>

然后用樣式表定義一個(gè)左側(cè)的圓角,一個(gè)右側(cè)的圓角。css樣式如下:

#nav_l { float:left; height:66px; width:5px; overflow:hidden; background:url(../images/nav_bg.gif) 0 -66px no-repeat; margin-right:10px;}

#nav_r { float:right; height:66px; width:5px; overflow:hidden; background:url(../images/nav_bg.gif) -5px -66px no-repeat;}

預(yù)覽一下吧,看看頭部和導(dǎo)航是不是和效果圖中的一樣呢

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>主頁(yè)</title>

<link rel="stylesheet" type="text/css" />

</head>

<body>

<div id="container">

<div id="header">

<div id="logo"><img src="http://www.100181.com/upload/2010-09/21/images/logo.gif" width="181" height="45" /></div>

<div id="search">

<form id="form1" name="form1" method="post" action="">

搜索產(chǎn)品

<input type="text" name="textfield" id="textfield" />

<input type="submit" name="button" id="button" value="查詢" />

</form>

</div>

</div>

<div></div>

<div id="nav">

<div id="nav_l"></div>

<div id="nav_r"></div>

<div>

<ul>

<li><a href="#"><span>首頁(yè)</span></a></li>

<li><a href="#" id="nav_current"><span>企業(yè)新聞</span></a></li>

<li><a href="#"><span>企業(yè)簡(jiǎn)介</span></a></li>

<li><a href="#"><span>產(chǎn)品展廳</span></a></li>

<li><a href="#"><span>企業(yè)歷史</span></a></li>

<li><a href="#"><span>招商加盟</span></a></li>

<li><a href="#"><span>網(wǎng)上下單</span></a></li>

<li><a href="#"><span>聯(lián)系我們</span></a></li>

</ul>

</div>

<div>

<ul>

<li><a href="#">企業(yè)動(dòng)態(tài)</a></li>

<li><a href="#">領(lǐng)導(dǎo)活動(dòng)</a></li>

<li><a href="#">產(chǎn)品資訊</a></li>

<li><a href="#">通知公告</a></li>

</ul>

</div>

</div>

<div></div>

<div id="maincontent">

<div id="main">此處顯示 id "main" 的內(nèi)容</div>

<div id="side">此處顯示 id "side" 的內(nèi)容</div>

</div>

<div></div>

<div id="footer">此處顯示 id "footer" 的內(nèi)容</div>

</div>

</body>

</html>

提示:可以先修改部分代碼后再運(yùn)行

六、布局頁(yè)面——側(cè)邊欄

主體部分涉及side和main兩部分,的內(nèi)容比較多,但都不難,本節(jié)教程沒(méi)有增加什么新的知識(shí)點(diǎn),學(xué)起來(lái)并不吃力。主體部分先從側(cè)邊欄說(shuō)起,講解如何切圖時(shí)已經(jīng)說(shuō)過(guò),側(cè)邊欄可以共用一個(gè)樣式,下面就先做一個(gè)通用的,插入如下html代碼

<div>

<h2><strong>產(chǎn)品</strong>導(dǎo)購(gòu)</h2>

<div>此處顯示 class "side_con" 的內(nèi)容</div>

</div>

這里的標(biāo)題采用h2標(biāo)簽,沒(méi)必要再用個(gè)div,還有“產(chǎn)品導(dǎo)購(gòu)”中“產(chǎn)品”二字是紅色字體,這里用strong標(biāo)簽,這樣可以省去很多沒(méi)必要的定義,所以在頁(yè)面布局當(dāng)中一定要合理利用每一個(gè)標(biāo)簽。講到這里,有必要說(shuō)一下第一節(jié)教程中講的為什么不能叫div+css而應(yīng)該叫xhtml+css了,因?yàn)閐iv只是xhtml中的一個(gè)標(biāo)簽,叫div+css會(huì)讓許多朋友誤認(rèn)為遇到塊級(jí)元素就得用div,造成了div的濫用,而合理利用每個(gè)標(biāo)簽,才是web標(biāo)準(zhǔn)設(shè)計(jì)的一個(gè)準(zhǔn)則。回過(guò)頭來(lái)定義側(cè)邊欄的樣式如下:

#side { float:right; width:228px;}

.side_box { margin-bottom:8px;}

.side_box h2 { height:25px; padding:6px 10px 0 10px; background:url(../images/side_bg.gif) 0 0 no-repeat; font-size:14px; color:#444;}

.side_box h2 strong { color:#f30;}

.side_con { padding:10px; background:url(../images/side_bg.gif) 0 bottom no-repeat;}

預(yù)覽一下效果吧,是不是整體效果出來(lái)了,下邊就需要定義里邊各個(gè)部分了。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

先看下產(chǎn)品導(dǎo)購(gòu)部分,內(nèi)容分為三部分,可以用ul、li列表的形式實(shí)現(xiàn),前邊的圖標(biāo)用背景圖片來(lái)實(shí)現(xiàn),可以在li上設(shè)置背景圖片,但這樣麻煩一點(diǎn),每個(gè)都需要設(shè)置,而且還得定位,有個(gè)更簡(jiǎn)便的方法是定義ul的背景圖片,因?yàn)樵谇袌D標(biāo)時(shí),每個(gè)圖標(biāo)之間的間距是按照效果圖的間距來(lái)切的。

<div>

<h2><strong>產(chǎn)品</strong>導(dǎo)購(gòu)</h2>

<div class="side_con product">

<ul>

<li><strong>語(yǔ)音業(yè)務(wù):</strong><a href="#">普通電話</a> | <a href="#">語(yǔ)音數(shù)字中繼</a></li>

<li><strong>語(yǔ)音業(yè)務(wù):</strong><a href="#">普通電話</a> | <a href="#">語(yǔ)音數(shù)字中繼</a></li>

<li><strong>語(yǔ)音業(yè)務(wù):</strong><a href="#">普通電話</a> | <a href="#">語(yǔ)音數(shù)字中繼</a></li>

</ul>

</div>

</div>

細(xì)心的用戶已發(fā)現(xiàn),這里的class后跟了兩個(gè)樣式名稱(chēng),說(shuō)明一個(gè)元素是可以定義多個(gè)樣式的,中間用空格分開(kāi)。也可以把product樣式定義在ul上。

說(shuō)到可以定義多個(gè)樣式,強(qiáng)調(diào)一點(diǎn):許多新手朋友常常大量使用,如一個(gè)塊元素需要設(shè)置邊框,綠色文字和灰色背景所以就在css里定義:

.border { border:1px solid #f60;}

.color { color:#080;}

.bg { background:#ccc;}

然后在塊元素上增加:

<div class="border color bg">此處顯示新 Div 標(biāo)簽的內(nèi)容</div>

其實(shí)這是一個(gè)非常不好的寫(xiě)法,這樣表面看似達(dá)到了代碼重用性,但實(shí)際當(dāng)中,當(dāng)需要把其中一個(gè)元素的的邊框改為2px,怎么改?如果把.border的邊框改了,那么所有應(yīng)用這一樣式的元素都改了。如果再在代碼中增加一個(gè)樣式,那么又得去改html代碼,和代碼和結(jié)構(gòu)分離的理念相違背了。一個(gè)好的代碼布局,不管以后怎么改風(fēng)格,只用改樣式表,而不用去改html代碼,這才真正做到兩者分離了。

扯遠(yuǎn)了,不過(guò)這點(diǎn)很重要,新手很容易犯這個(gè)毛病;氐絼偛诺膯(wèn)題上,給第三個(gè)li定義了一個(gè)product3樣式,然后在樣式表中定義它的底部邊框?yàn)闊o(wú),因?yàn)榍斑叾xli的底邊框?yàn)?px的虛線,而最后一個(gè)不需要,所以單獨(dú)定義個(gè)樣式把它取消掉,這里的product根據(jù)需要自己定義的名稱(chēng),一般用能表達(dá)這塊內(nèi)容意思的簡(jiǎn)潔英文來(lái)表示,或者用拼音。有關(guān)樣式命名上請(qǐng)參考:http://www.100181.com/web_w3c/248.shtml!爱a(chǎn)品導(dǎo)購(gòu)”的樣式定義如下:

.product { padding:0px 10px;}

.product ul { background:url(../images/icon2.gif) 5px 12px no-repeat;}

.product ul li { height:58px; padding:14px 0 0 64px; border-bottom:1px dashed #dcdcdc; color:#777;}

.product ul li strong { display:block; height:24px; color:#333;}

.product ul li a { color:#777;}

.product ul li a:hover { text-decoration:underline;}

.product ul li.product3 { border-bottom:none;}

“產(chǎn)品導(dǎo)購(gòu)”完成后,下邊該“使用問(wèn)答”了!笆褂脝(wèn)答”部分都是一問(wèn)一答的形式,問(wèn)答各采用不同的圖標(biāo),而且問(wèn)的文字加粗了。所以這部分采用dl、dt、dd的形式來(lái)完成。

<div class="side_con ask">

<dl>

<dt><a href="#">最新出的這個(gè)產(chǎn)品如何使用?</a></dt>

<dd>該產(chǎn)品采用全新的技術(shù),較上一產(chǎn)品有質(zhì)的飛躍,功能上增強(qiáng)了許多,使用方法更加簡(jiǎn)便...</dd>

</dl>

<dl>

<dt><a href="#">最新出的這個(gè)產(chǎn)品如何使用?</a></dt>

<dd>該產(chǎn)品采用全新的技術(shù),較上一...</dd>

</dl>

<dl>

<dt><a href="#">最新出的這個(gè)產(chǎn)品如何使用?</a></dt>

<dd>該產(chǎn)品采用全新的技術(shù),較上一產(chǎn)品有質(zhì)的飛躍,功能上增強(qiáng)了...</dd>

</dl>

<dl>

<dt><a href="#">最新出的這個(gè)產(chǎn)品如何使用?</a></dt>

<dd>該產(chǎn)品采用全新的技術(shù),較上一產(chǎn)品有質(zhì)的飛躍,功能上增強(qiáng)...</dd>

</dl>

<dl>

<dt><a href="#">最新出的這個(gè)產(chǎn)品如何使用?</a></dt>

<dd>該產(chǎn)品采用全新的技術(shù),較上一產(chǎn)品有質(zhì)的飛躍,功能上增強(qiáng)了許多,使用方法更加簡(jiǎn)便...</dd>

</dl>

</div>

.ask dl { padding:10px 0; border-bottom:1px dashed #dcdcdc;}

.ask dl dt { height:22px; overflow:hidden; font-weight:bold; background:url(../images/icon.gif) 0 -149px no-repeat; padding-left:20px;}

.ask dl dt a { color:#666;}

.ask dl dd { color:#666; background:url(../images/icon.gif) 0 -198px no-repeat; padding-left:20px;}

“使用問(wèn)答”完成后,側(cè)邊欄就剩下“聯(lián)系我們”了,這個(gè)更簡(jiǎn)單,直接插入圖片就行了,然后調(diào)整一下位置就可以了。

<div>

<h2><strong>聯(lián)系</strong>我們</h2>

<div class="side_con contact"><a href="#"><img src="images/tel.gif" width="222" height="112" /></a></div>

</div>

.contact { padding:2px;}

七、布局頁(yè)面——主體部分

主體部分可以分三大部分,頂部是幻燈和熱點(diǎn)新聞,中間是圖片列表,下邊是左右兩塊,先來(lái)布局主體部分的頂部。頂部實(shí)際上還是個(gè)左右兩列布局,沒(méi)什么復(fù)雜之處,就不再貼代碼了,本節(jié)結(jié)尾會(huì)提供實(shí)例的源代碼。講解一點(diǎn):熱點(diǎn)新聞列表中的日期,是用一個(gè)span標(biāo)簽寫(xiě)在了內(nèi)容的前邊,然后把span向右浮動(dòng)就實(shí)現(xiàn)了,“個(gè)人登錄”和“商戶登錄”的實(shí)現(xiàn)方法也是如此。

之前許多朋友問(wèn),像標(biāo)準(zhǔn)之路主頁(yè)的幻燈是怎么實(shí)現(xiàn)的?其實(shí)實(shí)很簡(jiǎn)單,只要你動(dòng)動(dòng)手,就知道怎么做的了。但許多同學(xué)遇到個(gè)問(wèn)題不去考慮靠自己能力能否解決,而是上來(lái)就問(wèn),這是一個(gè)很不好的學(xué)習(xí)態(tài)度?先找找辦法,如果實(shí)在解決不了,再來(lái)問(wèn)也不遲。方法是查看標(biāo)準(zhǔn)之路主頁(yè)源代碼,找到幻燈部分,你會(huì)發(fā)現(xiàn)有如下一段js代碼,而且代碼中有幾個(gè)設(shè)置參數(shù)的地方,那么要想在自己網(wǎng)站實(shí)現(xiàn)這樣的功能,直接把這部分代碼插入到自己網(wǎng)站相應(yīng)位置,修改參數(shù)中的大小為自己的大小、圖片地址為自己的圖片地址,還有就是下載swf文件,并改為相應(yīng)正確的地址。如果你有html基礎(chǔ)的話,這些一點(diǎn)都不難,還是那句話,一定要多動(dòng)手,多動(dòng)腦。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

把如上一段代碼拷貝到本例的幻燈圖片位置,下載實(shí)現(xiàn)幻燈的swf文件到本地images文件夾下,地址為:http://www.100181.com/v3/images/indexpic.swf,接下來(lái)修改/v3/images/indexpic.swf為images/indexpic.swf;修改swf_width和swf_height的值為269和210;files的值為圖片路徑,links為圖片的鏈接地址,texts為標(biāo)題名稱(chēng),中間也是用|分隔,這樣就實(shí)現(xiàn)了幻燈圖片展示了。

幻燈實(shí)現(xiàn)后,接下來(lái)該中間部分圖片列表了,和第六天學(xué)習(xí)的橫向圖文列表是一樣的。唯一區(qū)別就是多了一個(gè)標(biāo)題。在index_top下插入如下代碼:

<div id="index_pic">

<h2><span></span></h2>

<ul>

<li><a href="#"><img src="images/pic4.gif" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="images/pic4.gif" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="images/pic4.gif" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="images/pic4.gif" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="images/pic4.gif" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="images/pic4.gif" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="images/pic4.gif" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="images/pic4.gif" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

</ul>

</div>

#index_pic { border:1px solid #dbdbdb; margin-bottom:8px;}

#index_pic h2 { height:28px; background:url(../images/box_tit_bg.gif) 0 0; border-bottom:1px solid #dbdbdb;}

#index_pic h2 span { display:block; height:25px; background:url(../images/rmcp.gif) 12px 6px no-repeat;}

#index_pic ul { padding:0 0 15px 0; overflow:auto; zoom:1;}

#index_pic ul li { width:107px; float:left; margin:15px 0 0px 21px; display:inline; text-align:center;}

#index_pic ul li a { display:block;}

#index_pic ul li img { margin-bottom:3px;}

這次沒(méi)做鼠標(biāo)劃過(guò)時(shí)邊框效果,相對(duì)之前的簡(jiǎn)單一點(diǎn),需要了解鼠標(biāo)劃過(guò)改變邊框效果的請(qǐng)學(xué)習(xí)http://www.100181.com/div_css/907.shtml。本例中“熱門(mén)產(chǎn)品”的圖標(biāo)采用了背景圖片,也可以采用一個(gè)圖片直接插入,但從用戶體驗(yàn)的角度來(lái)講,這些圖片還是以背景圖片插入為好,因?yàn)楸尘皥D片在整個(gè)頁(yè)面加載過(guò)程中后來(lái)加載的。

圖片列表完了之后,主體部分就剩下“企業(yè)歷史”和“招商加盟”兩塊了。這兩塊也是應(yīng)用左右浮動(dòng)的方式實(shí)現(xiàn)。這兩塊的代碼就不貼出來(lái)了,一會(huì)兒看實(shí)例。強(qiáng)調(diào)一點(diǎn)是這里的more:hover的寫(xiě)法,因?yàn)閙ore直接加在a上,所以鼠標(biāo)進(jìn)過(guò)的樣式就不用再寫(xiě)a了,或者寫(xiě)成a.more:hover。

八、底部和細(xì)節(jié)調(diào)整

底部比較簡(jiǎn)單,灰色背景部分可以用h類(lèi)標(biāo)簽完成,也可以用dl、dt、dd來(lái)完成,再或者其它標(biāo)簽也可以,其它的就不再贅述。

底部完成后,最后的步驟是要做一些細(xì)節(jié)調(diào)整,比如該對(duì)齊的地方是否對(duì)齊,圖片的alt屬性是否都加上了,在各種瀏覽器下是否顯示一樣等等。至此整個(gè)前臺(tái)頁(yè)面算制作完成了下面的任務(wù)就是該用程序來(lái)讀取數(shù)據(jù)庫(kù)里的內(nèi)容了,來(lái)完成整個(gè)站點(diǎn)的制作。

瀏覽器兼容問(wèn)題一直是讓新手朋友頭疼的地方,其實(shí)只要掌握幾個(gè)常用瀏覽器的特性后,不需要過(guò)多的css hack就可以解決問(wèn)題的。本例中使用的css hack大致有:

zoom=1:用來(lái)解決自適應(yīng)高度時(shí)IE6的兼容問(wèn)題(這個(gè)屬性通不過(guò)w3c認(rèn)證);

display:inline:解決IE6雙倍邊距bug問(wèn)題;

*:在樣式名和屬性中間加*,這個(gè)常用在需要垂直居中時(shí)使用;

IE6 3像素bug:在布局時(shí)采用左右都浮動(dòng)的辦法避免了這個(gè)問(wèn)題;

另外還有一些做法也是為了解決兼容問(wèn)題而寫(xiě)的,比如固定高度,就是因?yàn)楦鳛g覽器之間解釋差異,為了使顯示效果盡可能一樣而采用的折中辦法?傊裱稽c(diǎn),css hack能少用盡量少用,這樣便于以后維護(hù)。

完成這樣一個(gè)布局方法有多種,本例中所講解的方法,只是本人的觀點(diǎn),不一定是最好的方法,希望大家通過(guò)本本例的學(xué)習(xí)能做到舉一反三,掌握更多的方法。

本側(cè)是左寬右窄型的布局,如果想把兩個(gè)調(diào)換個(gè)位置,太簡(jiǎn)單不過(guò)了,只需把#main和#side的向左向右浮動(dòng)調(diào)換一下就實(shí)現(xiàn),這是表格布局所不及的。所以不管#main和#side在html代碼中是誰(shuí)先誰(shuí)后,而讓它們顯示在哪里完全是css來(lái)完成的。這里建議#main的代碼寫(xiě)在#side前邊,因?yàn)檫@要在頁(yè)面加載的過(guò)程中會(huì)先加載main部分,用戶首先看到的是主要內(nèi)容,搜索引擎收錄時(shí)也會(huì)先找到main部分的內(nèi)容。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>主頁(yè)</title>

<link rel="stylesheet" type="text/css" />

</head>

<body>

<div id="container">

<div id="header">

<div id="logo"><img src="http://www.100181.com/upload/2010-09/21/images/logo.gif" alt="企業(yè)名稱(chēng)" width="181" height="45" /></div>

<div id="search">

<form id="form1" name="form1" method="post" action="">

搜索產(chǎn)品

<input type="text" name="textfield" id="textfield" />

<input type="submit" name="button" id="button" value="查詢" />

</form>

</div>

</div>

<div></div>

<div id="nav">

<div id="nav_l"></div>

<div id="nav_r"></div>

<div>

<ul>

<li><a href="#"><span>首頁(yè)</span></a></li>

<li><a href="#" id="nav_current"><span>企業(yè)新聞</span></a></li>

<li><a href="#"><span>企業(yè)簡(jiǎn)介</span></a></li>

<li><a href="#"><span>產(chǎn)品展廳</span></a></li>

<li><a href="#"><span>企業(yè)歷史</span></a></li>

<li><a href="#"><span>招商加盟</span></a></li>

<li><a href="#"><span>網(wǎng)上下單</span></a></li>

<li><a href="#"><span>聯(lián)系我們</span></a></li>

</ul>

</div>

<div>

<ul>

<li><a href="#">企業(yè)動(dòng)態(tài)</a></li>

<li><a href="#">領(lǐng)導(dǎo)活動(dòng)</a></li>

<li><a href="#">產(chǎn)品資訊</a></li>

<li><a href="#">通知公告</a></li>

</ul>

</div>

</div>

<div></div>

<div id="maincontent">

<div id="main">

<div id="index_top">

<div id="pic">

<script language='javascript' type="text/javascript">

linkarr = new Array();

picarr = new Array();

textarr = new Array();

var swf_width=269;

var swf_height=210;

var files = "http://www.100181.com/upload/2010-09/21/images/pic.jpg|http://www.100181.com/upload/2010-09/21/images/pic1.jpg|http://www.100181.com/upload/2010-09/21/images/pic2.jpg|http://www.100181.com/upload/2010-09/21/images/pic3.jpg";

var links = "#|#|#|#";

var texts = "";

for(i=1;i<picarr.length;i++){

if(files=="") files = picarr[i];

else files += "|"+picarr[i];

}

for(i=1;i<linkarr.length;i++){

if(links=="") links = linkarr[i];

else links += "|"+linkarr[i];

}

for(i=1;i<textarr.length;i++){

if(texts=="") texts = textarr[i];

else texts += "|"+textarr[i];

}

document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" height="'+ swf_height +'">');

document.write('<param name="movie" value="http://www.100181.com/upload/2010-09/21/images/indexpic.swf"><param name="quality" value="high">');

document.write('<param name="menu" value="false"><param name=wmode value="opaque">');

document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');

document.write('<embed src="http://www.100181.com/upload/2010-09/21/images/indexpic.swf" wmode="opaque" FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+ swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');

</script>

<div id="login"><span><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/btn_login1.gif" alt="個(gè)人用戶登錄" width="131" height="39" /></a></span><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/btn_login.gif" alt="經(jīng)銷(xiāo)商登錄" width="131" height="39" /></a></div>

</div>

<div id="hot_news">

<div id="news_top">

<h1>蘋(píng)果iphone 4手機(jī)將于9月25日在中國(guó)上市</h1>

<p>日前中國(guó)聯(lián)通正式宣布將于9月25日9時(shí)在中國(guó)大陸市場(chǎng)全面推出iPhone4,并為iPhone4用戶量身定制了合約計(jì)劃。</p>

</div>

<div id="news_list">

<ul>

<li><span>9-22</span><a href="#">純CSS實(shí)現(xiàn)三列DIV等高布局</a></li>

<li><span>9-22</span><a href="#">HTML元素的ID和Name屬性的區(qū)別</a></li>

<li><span>9-22</span><a href="#">完美兼容ie6,ie7,ie8以及firefox的css透明濾鏡</a></li>

<li><span>9-22</span><a href="#">DIV+CSS實(shí)現(xiàn)放大鏡效果的分頁(yè)樣式</a></li>

<li><span>9-22</span><a href="#">javascript為FF設(shè)置首頁(yè)</a></li>

<li><span>9-22</span><a href="#">復(fù)制到系統(tǒng)剪貼板之IE,ff兼容版</a></li>

</ul>

</div>

</div>

</div>

<div id="index_pic">

<h2><span></span></h2>

<ul>

<li><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/pic4.gif" alt="產(chǎn)品名稱(chēng)" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/pic4.gif" alt="產(chǎn)品名稱(chēng)" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/pic4.gif" alt="產(chǎn)品名稱(chēng)" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/pic4.gif" alt="產(chǎn)品名稱(chēng)" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/pic4.gif" alt="產(chǎn)品名稱(chēng)" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/pic4.gif" alt="產(chǎn)品名稱(chēng)" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/pic4.gif" alt="產(chǎn)品名稱(chēng)" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/pic4.gif" alt="產(chǎn)品名稱(chēng)" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/pic4.gif" alt="產(chǎn)品名稱(chēng)" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

<li><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/pic4.gif" alt="產(chǎn)品名稱(chēng)" width="107" height="87" />產(chǎn)品名稱(chēng)</a></li>

</ul>

</div>

<div id="index_box">

<div>

<h2><a href="#">更多..</a><span>企業(yè)歷史</span></h2>

<div>

<dl>

<dt><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/pic5.gif" alt="多角度對(duì)比 蘋(píng)果iPod系列真機(jī)" width="91" height="70" /></a></dt>

<dd><a href="#"><strong>多角度對(duì)比 蘋(píng)果iPod系列真機(jī)</strong></a>

導(dǎo)言:北京時(shí)間9月2日凌晨1點(diǎn)蘋(píng)果在舊金山舉行新品發(fā)布會(huì),數(shù)碼特派記者在美國(guó)現(xiàn)場(chǎng)直播&hellip;</dd>

</dl>

<ul>

<li><a href="#">純CSS實(shí)現(xiàn)三列DIV等高布局</a></li>

<li><a href="#">HTML元素的ID和Name屬性的區(qū)別</a></li>

<li><a href="#">完美兼容ie6,ie7,ie8以及firefox的css透明濾鏡</a></li>

<li><a href="#">DIV+CSS實(shí)現(xiàn)放大鏡效果的分頁(yè)樣式</a></li>

<li><a href="#">javascript為FF設(shè)置首頁(yè)</a></li>

<li><a href="#">復(fù)制到系統(tǒng)剪貼板之IE,ff兼容版</a></li>

<li><a href="#">DIV+CSS實(shí)現(xiàn)放大鏡效果的分頁(yè)樣式</a></li>

</ul>

</div>

</div>

<div class="box box1">

<h2><a href="#">更多..</a><span>企業(yè)歷史</span></h2>

<div>

<dl>

<dt><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/pic5.gif" alt="多角度對(duì)比 蘋(píng)果iPod系列真機(jī)" width="91" height="70" /></a></dt>

<dd><a href="#"><strong>多角度對(duì)比 蘋(píng)果iPod系列真機(jī)</strong></a>

導(dǎo)言:北京時(shí)間9月2日凌晨1點(diǎn)蘋(píng)果在舊金山舉行新品發(fā)布會(huì),數(shù)碼特派記者在美國(guó)現(xiàn)場(chǎng)直播&hellip;</dd>

</dl>

<ul>

<li><a href="#">純CSS實(shí)現(xiàn)三列DIV等高布局</a></li>

<li><a href="#">HTML元素的ID和Name屬性的區(qū)別</a></li>

<li><a href="#">完美兼容ie6,ie7,ie8以及firefox的css透明濾鏡</a></li>

<li><a href="#">DIV+CSS實(shí)現(xiàn)放大鏡效果的分頁(yè)樣式</a></li>

<li><a href="#">javascript為FF設(shè)置首頁(yè)</a></li>

<li><a href="#">復(fù)制到系統(tǒng)剪貼板之IE,ff兼容版</a></li>

<li><a href="#">DIV+CSS實(shí)現(xiàn)放大鏡效果的分頁(yè)樣式</a></li>

</ul>

</div>

</div>

</div>

</div>

<div id="side">

<div>

<h2><strong>產(chǎn)品</strong>導(dǎo)購(gòu)</h2>

<div class="side_con product">

<ul>

<li><strong>語(yǔ)音業(yè)務(wù):</strong><a href="#">普通電話</a> | <a href="#">語(yǔ)音數(shù)字中繼</a></li>

<li><strong>語(yǔ)音業(yè)務(wù):</strong><a href="#">普通電話</a> | <a href="#">語(yǔ)音數(shù)字中繼</a></li>

<li><strong>語(yǔ)音業(yè)務(wù):</strong><a href="#">普通電話</a> | <a href="#">語(yǔ)音數(shù)字中繼</a></li>

</ul>

</div>

</div>

<div>

<h2><strong>使用</strong>問(wèn)答</h2>

<div class="side_con ask">

<dl>

<dt><a href="#">最新出的這個(gè)產(chǎn)品如何使用?</a></dt>

<dd>該產(chǎn)品采用全新的技術(shù),較上一產(chǎn)品有質(zhì)的飛躍,功能上增強(qiáng)了許多,使用方法更加簡(jiǎn)便...</dd>

</dl>

<dl>

<dt><a href="#">最新出的這個(gè)產(chǎn)品如何使用?</a></dt>

<dd>該產(chǎn)品采用全新的技術(shù),較上一...</dd>

</dl>

<dl>

<dt><a href="#">最新出的這個(gè)產(chǎn)品如何使用?</a></dt>

<dd>該產(chǎn)品采用全新的技術(shù),較上一產(chǎn)品有質(zhì)的飛躍,功能上增強(qiáng)了...</dd>

</dl>

<dl>

<dt><a href="#">最新出的這個(gè)產(chǎn)品如何使用?</a></dt>

<dd>該產(chǎn)品采用全新的技術(shù),較上一產(chǎn)品有質(zhì)的飛躍,功能上增強(qiáng)...</dd>

</dl>

<dl>

<dt><a href="#">最新出的這個(gè)產(chǎn)品如何使用?</a></dt>

<dd>該產(chǎn)品采用全新的技術(shù),較上一產(chǎn)品有質(zhì)的飛躍,功能上增強(qiáng)了許多,使用方法更加簡(jiǎn)便...</dd>

</dl>

</div>

</div>

<div>

<h2><strong>聯(lián)系</strong>我們</h2>

<div class="side_con contact"><a href="#"><img src="http://www.100181.com/upload/2010-09/21/images/tel.gif" alt="聯(lián)系我們" width="222" height="112" /></a></div>

</div>

</div>

</div>

<div></div>

<div id="footer">

<dl>

<dt><a href="#">關(guān)于我們</a> || <a href="#">產(chǎn)品目錄</a> || <a href="#">聯(lián)系我們</a> || <a href="#">友情鏈接</a> || <a href="#">反饋問(wèn)題</a> || <a href="#">廣告合作</a></dt>

<dd>Copyright &copy; 2007 - 2010 100181.com All Rights Reserved<br />

標(biāo)準(zhǔn)之路 版權(quán)所有 京ICP備10007159號(hào)</dd>

</dl>

</div>

</div>

</body>

</html>
提示:可以先修改部分代碼后再運(yùn)行

點(diǎn)擊此處下載實(shí)例源代碼及psd源文件

九、相對(duì)路徑和相對(duì)于根目錄路徑

上邊的例子學(xué)完后,你會(huì)發(fā)現(xiàn)在html中插入的圖片路徑是images/pic4.gif,而在css中插入的圖片路徑是這樣的../images/nav_bg.gif,后者比前者多出了../,這是什么意思呢?

這就是相對(duì)路徑和絕對(duì)路徑,../表示返回上一級(jí),因?yàn)閏ss文件在css文件夾里,圖片在images文件夾下,那么layout.css就需要返回上一級(jí)找到images文件夾才能找到相應(yīng)的圖片。直接文件夾名或是./開(kāi)頭表示和當(dāng)前平級(jí),因?yàn)閕ndex.html和images文件夾平級(jí)。不管是帶../還是不帶,這種寫(xiě)法都叫相對(duì)路徑;另一種叫相對(duì)于根目錄路徑,它的寫(xiě)法必須以/開(kāi)始,意思是從根目錄開(kāi)始一級(jí)一級(jí)向下查找,不管在哪里,要使用pic4.gif這個(gè)圖片,路徑都必須是/images/pic4.gif;還有一種寫(xiě)法叫絕對(duì)路徑,是以http://加域名開(kāi)始的,這個(gè)不多多說(shuō)了。

使用相對(duì)路徑時(shí),當(dāng)根目錄放到一個(gè)二級(jí)目錄下時(shí),文件仍然可以正常訪問(wèn),而使用相對(duì)于根目錄路徑時(shí),其中一個(gè)頁(yè)面放到其它位置時(shí),照樣能關(guān)聯(lián)么相關(guān)的圖片和其它文件,比如:本例如果用相對(duì)于根目錄路徑的話,把index.html放到一個(gè)文件夾下后,還是可以正常訪問(wèn)的?傊畠煞N方法各有優(yōu)劣,根據(jù)你的需要采用一種合適的方法。相對(duì)路徑和相對(duì)于根目錄路徑是可以相互更改的,在站點(diǎn)管理——編輯——高級(jí)設(shè)置的本地信息里有鏈接相對(duì)于,如下圖,默認(rèn)為文檔(就是所說(shuō)的相對(duì)路徑),也可以改為站點(diǎn)根目錄,相對(duì)路徑一般為直接目錄名,需要返回上級(jí)時(shí)用../,向上返回兩級(jí)時(shí)用../../;相對(duì)于根目錄路徑始終以/開(kāi)頭,不管該文件現(xiàn)在在哪一級(jí),它都是以根目錄開(kāi)始向下找。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程(三)

前邊兩節(jié)學(xué)完后,前臺(tái)工作基本上完成了,下邊的任務(wù)該程序員添加程序了。為什么說(shuō)是基本完成呢?因?yàn)橐龅墓ぷ鬟很多,不但要把首頁(yè)做出來(lái),其它的列表頁(yè)詳細(xì)頁(yè)等頁(yè)面也得做。還要配合程序員把整個(gè)網(wǎng)站完成,這樣才能呈現(xiàn)給用戶。應(yīng)部分同學(xué)的要求,講解一下程序怎么添加的,這樣和程序員配合起來(lái)也更默契,還有怎么連接FTP上傳下載,后期出現(xiàn)問(wèn)題怎么調(diào)試等等。添加程序部分只需要了解就行了,連接ftp上傳下載,頁(yè)面調(diào)試查找問(wèn)題這部分一定要掌握喲。

§ 創(chuàng)建服務(wù)器環(huán)境

§ 建立數(shù)據(jù)庫(kù)

§ 本地和遠(yuǎn)程服務(wù)器連接

§ php讀取數(shù)據(jù)

§ 頁(yè)面調(diào)試及瀏覽器兼容

一、創(chuàng)建服務(wù)器環(huán)境

程序語(yǔ)言有多種,常用的有asp、php、jsp等,之前做的html頁(yè)面,可以直接在瀏覽器上運(yùn)行,因?yàn)閔tml是客戶端語(yǔ)言,而這些是服務(wù)器端語(yǔ)言,也就說(shuō)你所看到的頁(yè)面是經(jīng)過(guò)服務(wù)器加工之后傳輸過(guò)來(lái)的,不管使用哪種語(yǔ)言環(huán)境,最終目的就是把數(shù)據(jù)庫(kù)的數(shù)據(jù)讀取出來(lái)展示到網(wǎng)頁(yè)上。不同的語(yǔ)言有不同的運(yùn)行環(huán)境,要想運(yùn)行這些語(yǔ)言,首先要?jiǎng)?chuàng)建一個(gè)適應(yīng)他們的環(huán)境,下邊以php為例,講解一下php環(huán)境的搭建。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

點(diǎn)擊下載:WampServer 5 集成環(huán)境

下載wamp安裝完成后,php運(yùn)行所需的 Apache、 MySQL、PHP 5等都具備了,安裝完成后需要啟動(dòng)WampSeaver,啟動(dòng)后會(huì)在托盤(pán)區(qū)顯示一圖標(biāo)(如上圖),當(dāng)它正常運(yùn)行后,說(shuō)明服務(wù)器環(huán)境已經(jīng)創(chuàng)建成功了。接下來(lái)打開(kāi)如上圖中的php.ini文件,找到short_open_tag,把值改為On,作用是開(kāi)啟短標(biāo)簽支持,以免后邊教程中使用短標(biāo)簽時(shí)報(bào)錯(cuò)。有關(guān)軟件的安裝,及服務(wù)器環(huán)境問(wèn)題本站不做過(guò)多介紹,如想詳細(xì)了解,請(qǐng)百度相關(guān)文章,asp環(huán)境的搭建更簡(jiǎn)單了,如想知道,也請(qǐng)百度。

二、建立數(shù)據(jù)庫(kù)

php的作用是從數(shù)據(jù)庫(kù)讀取數(shù)據(jù),下面我們就先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),并錄入部分?jǐn)?shù)據(jù)。點(diǎn)擊如上圖的phpMyAdmin,然后會(huì)在瀏覽器中打開(kāi)數(shù)據(jù)庫(kù)。創(chuàng)建一個(gè)名為:jiaocheng的數(shù)據(jù)庫(kù)和news的表

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程
div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

設(shè)置表結(jié)構(gòu)如下:

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

注意將ID字段設(shè)置為主鍵并在額外中選擇auto_increment選項(xiàng)。表結(jié)構(gòu)創(chuàng)建完后,選擇插入,插入一條數(shù)據(jù):

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程
div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

依次插入更多條數(shù)據(jù),為后面程序調(diào)用做準(zhǔn)備,選擇性將某些數(shù)據(jù)插入形象圖片,以便在幻燈處調(diào)用。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

三、本地和遠(yuǎn)程服務(wù)器連接

只有本地和遠(yuǎn)程服務(wù)器連接后,才能把我們做的頁(yè)面上傳到服務(wù)器上來(lái)運(yùn)行。連接的前提是你知道服務(wù)器的地址及網(wǎng)管給你分配的用戶名和密碼,有了這些后,在dw的站點(diǎn)——管理站點(diǎn)中,選中jiaocheng,然后編輯,在彈出的對(duì)話框中選擇服務(wù)器選項(xiàng),然后填寫(xiě)ftp地址,用戶名和密碼,如果一切正常應(yīng)該可以順利連接了,點(diǎn)擊測(cè)試按鈕一下吧,如果無(wú)法連接,就需要查找問(wèn)題了(下面的截圖是dw cs5的界面,其它版本略有不同)。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

剛才我們?cè)谧约弘娔X上創(chuàng)建了服務(wù)器環(huán)境,那么這里的連接就用本地網(wǎng)絡(luò)了。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

設(shè)置完后,在文件面板站點(diǎn)上點(diǎn)擊右鍵,選擇上傳,將文件上傳到服務(wù)器文件夾中。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

完了之后打開(kāi)瀏覽器,在地址欄中輸入http://localhost/index.html,就可以訪問(wèn),或者直接在dw中點(diǎn)擊地球圖標(biāo),也可以直接打開(kāi)瀏覽器預(yù)覽。如果能正常打開(kāi)頁(yè)面,說(shuō)明本地和服務(wù)器連接成功,修改完文件后,把文件上傳到服務(wù)器上就可以了。如果是協(xié)同辦公,修改文件之前一定要先下載,這樣才能保證本地的文件為最新,如果你上次修改完之后,別人又修改了,你沒(méi)下載,直接修改本地的文件又上傳了,那么別人的修改將被覆蓋掉,所以一定要養(yǎng)成好習(xí)慣,修改前先下載。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

四、php讀取數(shù)據(jù)

以上的工作都完成后,下面就該用程序讀取數(shù)據(jù)了。首先需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接文件,讓php程序可以訪問(wèn)數(shù)據(jù)庫(kù),這樣才能讀取里邊的數(shù)據(jù),在根目錄下創(chuàng)建一個(gè)inc文件夾,并創(chuàng)建一個(gè)conn.php文件,然后打開(kāi)文件,在源代碼里插入如下代碼:

<?

$conn = mysql_connect ("localhost","root","") or die ("數(shù)據(jù)庫(kù)連接出錯(cuò)" . mysql_error());

mysql_select_db ("jiaocheng",$conn);

mysql_query("set names 'gbk'");

?>

之所以單獨(dú)創(chuàng)建一下文件,是因?yàn)楹筮吅芏囗?yè)面都要用,這樣只需包含這個(gè)頁(yè)面即可,不用每個(gè)頁(yè)面再寫(xiě)這段代碼了。數(shù)據(jù)庫(kù)連接文件創(chuàng)建好后,下面就該在index.html調(diào)用了。注意:這里要將后綴改為php才行,如果還是html的話,那么它將直接輸出,不會(huì)經(jīng)過(guò)服務(wù)器加工。接下來(lái)打開(kāi)index.php,在源代碼的最頂部插入如下代碼,把conn.php文件包含進(jìn)來(lái):

<?

include("inc/conn.php");

?>

記得要把inc文件夾上傳到服務(wù)器上喲。下面就先做“熱門(mén)新聞”列表吧,把原來(lái)做的#news_list下的ul列表改為如下形式:

<ul>

<?

$sql="select * from news order by id desc limit 0,6";

$query=mysql_query($sql);

while($row=mysql_fetch_array($query)){

?>

<li><span><?=$row['add_time']?></span><a href="#"><?=$row['title']?></a></li>

<? }?>

</ul>

第一句是創(chuàng)建一個(gè)sql查詢語(yǔ)句,表示查詢news表以id的倒序排列且只查詢前6條,接下來(lái)循環(huán)讀取出來(lái)。上傳預(yù)覽一下吧,是不是變形了,一方面標(biāo)題太長(zhǎng)了,另一方面日期應(yīng)該只顯示月和日,日期通過(guò)程序只取月日兩位,處理標(biāo)題有兩種方法,一種是用程序截取,一種是css超出隱藏。下面先把日期給改了,把<?=$row['add_time']?>替換為:<?=date('m-d',strtotime($row['add_time']))?>

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

把日期改短后,顯示正常了,但為了防止以后出現(xiàn)長(zhǎng)標(biāo)題把頁(yè)面撐亂,讓程序員注意截取一下標(biāo)題或者你用css來(lái)實(shí)現(xiàn),css超出隱藏的話可以給li定義高度和overflow:hidden屬性。得了,從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)出來(lái),就這么簡(jiǎn)單,下面說(shuō)一下幻燈部分的實(shí)現(xiàn)吧。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

和上邊的讀取方法一樣,只不過(guò)用if判斷一下$pic是否為空,來(lái)解決開(kāi)頭沒(méi)有|的問(wèn)題。上傳上再預(yù)覽一下吧,看看是不是顯示出來(lái)了呢?是吧,已經(jīng)顯示出來(lái)了,打開(kāi)源代碼看看,剛才我們添加的程序部分并沒(méi)有顯示出來(lái),取而代之的是數(shù)據(jù)庫(kù)中的數(shù)據(jù),這就是程序的奇妙之處。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

好了,有關(guān)程序部分就講這么多了,相信你也該明白是怎么回事了,剩下的你可以自己對(duì)照著制作個(gè)試試,如果你想學(xué)習(xí)程序的話,給大家推薦以前我學(xué)過(guò)的教程,asp的話可以學(xué)習(xí)fif小組的asp視頻教程,在百度里搜索:fif asp,就出來(lái)了,第一個(gè)結(jié)果便是網(wǎng)易學(xué)院的fif視頻教程;如果你對(duì)php感興趣的話,建議去php100中文網(wǎng),聽(tīng)聽(tīng)張恩民老師講解的php系列教程,相信很快你也會(huì)成為一個(gè)程序高手的。

五、頁(yè)面調(diào)試及瀏覽器兼容

在和程序員配合完成網(wǎng)站的過(guò)程中或網(wǎng)站上線后,常常會(huì)出現(xiàn)一些小問(wèn)題,比如頁(yè)面撐開(kāi),顯示錯(cuò)亂等,這時(shí)候就需要查找問(wèn)題出在哪里了。查找這些問(wèn)題,希望大家裝上火狐瀏覽器(因?yàn)樗窍鄬?duì)標(biāo)準(zhǔn)的瀏覽器,這樣顯得你更專(zhuān)業(yè)一些,嘿嘿,最主要是有調(diào)試用的插件),裝上之后還需要裝兩個(gè)插件:web developer,firebug

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程
div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

插件的下載請(qǐng)點(diǎn)擊上圖中的獲取附加組件,然后輸入關(guān)鍵字搜索到后下載安裝即可。

web developer作用很強(qiáng)大,如下圖所示可以查看當(dāng)前頁(yè)面所用到的圖片,包括css中的背景圖片,具體使用教程請(qǐng)參看:http://www.100181.com/div_css/255.shtml

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

firebug這是個(gè)更好的一個(gè)插件,使用時(shí)點(diǎn)擊瀏覽器右下角的螢火蟲(chóng)圖標(biāo)或者按F12,會(huì)啟用這個(gè)插件,如需查看某一部分代碼,點(diǎn)擊插件上的查看頁(yè)面元素按鈕后,鼠標(biāo)移到網(wǎng)頁(yè)上,會(huì)出現(xiàn)一個(gè)相應(yīng)的框,當(dāng)框選中需要查看源代碼的元素后點(diǎn)擊,在插件區(qū)域就顯示出當(dāng)前區(qū)域的代碼及樣式了,可以禁用某些樣式,還可以添加新的樣式來(lái)查找問(wèn)題所在。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程
div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

如上圖,先點(diǎn)1中的查看頁(yè)面元素按鈕,然后鼠標(biāo)移動(dòng)到2的地方,將會(huì)出現(xiàn)圖中所示的藍(lán)色線框,然后點(diǎn)擊鼠標(biāo),會(huì)在插件中選中3位置的代碼并在4位置出現(xiàn)對(duì)該區(qū)域生效的所有樣式,即是上邊框選部分的代碼和樣式,當(dāng)鼠標(biāo)移動(dòng)到圈4位置時(shí),會(huì)出現(xiàn)一個(gè)禁止圖標(biāo),點(diǎn)擊后禁用當(dāng)前樣式,這樣便于查找問(wèn)題所在,另外還可以在后邊雙擊插入新的樣式。

另外,如果你裝的是IE8瀏覽器,同樣具備類(lèi)似的功能,打開(kāi)瀏覽器后,按F12鍵,即可打開(kāi)該功能,使用方法和火狐的firebug類(lèi)似。

希望大家多多研究,對(duì)查找問(wèn)題能起到事半功倍的效果。不過(guò)這些修改只停留在瀏覽器層面,不會(huì)對(duì)你本地和服務(wù)器上的文件做任何改動(dòng),查找到哪里出問(wèn)題后,及時(shí)在dw里將出錯(cuò)的地方改過(guò)來(lái)。

學(xué)會(huì)了怎么調(diào)試頁(yè)面后,兼容問(wèn)題也是一個(gè)不容忽視的問(wèn)題,現(xiàn)在瀏覽器市場(chǎng)魚(yú)龍混雜,別的不說(shuō),IE的6/7/8版本兼容就夠讓人頭疼了,現(xiàn)在又出了個(gè)IE9,還有火狐、chome、opera、Safari等等,而且標(biāo)準(zhǔn)不統(tǒng)一,一片混亂的狀況。從下圖中標(biāo)準(zhǔn)之路網(wǎng)站的訪問(wèn)情況來(lái)看,目前IE6仍然占最大比重,而IE6恰恰也是讓設(shè)計(jì)者最為頭疼的瀏覽器,bug太多了。鑒于這種混亂情況,目前只用考慮兼容最常用的IE6/7/8和firefox就可以了,其它使用人數(shù)很少的瀏覽器可以暫不考慮。只要我們掌握了各個(gè)瀏覽器的特性,避免一些使它解析錯(cuò)誤的寫(xiě)法,還是不用太多的css hack就可以使頁(yè)面在各個(gè)瀏覽器下顯示基本一致,所以這個(gè)需要大家的多觀察,多實(shí)踐,多總結(jié)。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

因IE瀏覽器的特殊性,一臺(tái)電腦同時(shí)只能裝一個(gè)版本的IE瀏覽器,不過(guò)呢有高人提供了IE Tester,把IE的幾個(gè)版本集成到一塊,專(zhuān)門(mén)供測(cè)試兼容使用。大家可以下載安裝一下,測(cè)試下頁(yè)面在各個(gè)瀏覽器下的顯示效果。

div+css網(wǎng)頁(yè)標(biāo)準(zhǔn)布局實(shí)例教程

文章出處:標(biāo)準(zhǔn)之路 編輯:楊雨晨思

轉(zhuǎn)載請(qǐng)保留原文地址: http://www.frontstepsmusic.com/show-334.html

責(zé)編:王麗 作者:不詳 來(lái)源:網(wǎng)絡(luò)