版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
-o-DIV布局快速入門前言如果你想嘗試一下不用表格來排版網(wǎng)頁,而是用CSS來排版你的網(wǎng)頁,也就是常聽的用DIV來編排你的網(wǎng)頁結(jié)構(gòu),又或者說你想學(xué)習(xí)網(wǎng)頁標(biāo)準(zhǔn)設(shè)計,再或者說你的上司要你改變傳統(tǒng)的表格排版方式,提高企業(yè)競爭力,那么你一定要接觸到的一個知識點就是CSS的盒子模式,這就是DIV排版的核心所在,傳統(tǒng)的表格排版是通過大小不一的表格和表格嵌套來定位排版網(wǎng)頁內(nèi)容,改用CSS排版后,就是通過由CSS定義的大小不一的盒子和盒子嵌套來編排網(wǎng)頁。因為用這種方式排版的網(wǎng)頁代碼簡潔,更新方便,能兼容更多的瀏覽器,比方PDA設(shè)備也能正常瀏覽,所以放棄自己之前鐘愛的表格排版也是值得的,更重要的是CSS排版網(wǎng)頁的優(yōu)勢遠(yuǎn)遠(yuǎn)不只這些,本人在這里就不多說,自己可以去查找相關(guān)信息。理解CSS盒子模型什么是CSS的盒子模式呢?為什么叫它是盒子?先說說我們在網(wǎng)頁設(shè)計中常聽的屬性名:內(nèi)容(content)、填充(padding)、邊框(border)、邊界(margin),CSS盒子模式都具備這些屬性。
CSS盒子模式這些屬性我們可以把它轉(zhuǎn)移到我們?nèi)粘I钪械暮凶印蚕渥印成蟻砝斫猓粘I钪兴姷暮凶右簿哂羞@些屬性,所以叫它盒子模式。那么內(nèi)容就是盒子里裝的東西;而填充就是怕盒子里裝的東西〔貴重的〕損壞而添加的泡沫或者其它抗震的輔料;邊框就是盒子本身了;至于邊界那么說明盒子擺放的時候的不能全部堆在一起,要留一定空隙保持通風(fēng),同時也為了方便取出嘛。在網(wǎng)頁設(shè)計上,內(nèi)容常指文字、圖片等元素,但是也可以是小盒子〔DIV嵌套〕,與現(xiàn)實生活中盒子不同的是,現(xiàn)實生活中的東西一般不能大于盒子,否那么盒子會被撐壞的,而CSS盒子具有彈性,里面的東西大過盒子本身最多把它撐大,但它不會損壞的。填充只有寬度屬性,可以理解為生活中盒子里的抗震輔料厚度,而邊框有大小和顏色之分,我們又可以理解為生活中所見盒子的厚度以及這個盒子是用什么顏色材料做成的,邊界就是該盒子與其它東西要保存多大距離。在現(xiàn)實生活中,假設(shè)我們在一個廣場上,把不同大小和顏色的盒子,以一定的間隙和順序擺放好,最后從廣場上空往下看,看到的圖形和結(jié)構(gòu)就類似我們要做的網(wǎng)頁版面設(shè)計了,如下列圖。由“盒子〞堆出來的網(wǎng)頁版面現(xiàn)在對CSS盒子模式理解多少了,如果還不夠透徹,繼續(xù)往下看,我會在后面舉例,并延用盒子的概念來解釋它。轉(zhuǎn)變我們的思路傳統(tǒng)的前臺網(wǎng)頁設(shè)計是這樣進(jìn)行的:根據(jù)要求,先考慮好主色調(diào),要用什么類型的圖片,用什么字體、顏色等等,然后再用Photoshop這類軟件自由的畫出來,最后再切成小圖,再不自由的通過設(shè)計HTML生成頁面,改用CSS排版后,我們要轉(zhuǎn)變這個思想,此時我們主要考慮的是頁面內(nèi)容的語義和結(jié)構(gòu),因為一個強(qiáng)CSS控制的網(wǎng)頁,等做好網(wǎng)頁后,你還可以輕松的調(diào)你想要的網(wǎng)頁風(fēng)格,況且CSS排版的另外一個目的是讓代碼易讀,區(qū)塊清楚,強(qiáng)化代碼重用,所以結(jié)構(gòu)很重要。如果你想說我的網(wǎng)頁設(shè)計的很復(fù)雜,到后來能不能實現(xiàn)那樣的效果?我要告訴你的是,如果用CSS實現(xiàn)不了的效果,一般用表格也是很難實現(xiàn)的,因為CSS的控制能力實在是太強(qiáng)大了,順便說一點的是用CSS排版有一個很實用的好處是,如果你是接單做網(wǎng)站的,如果你用了CSS排版網(wǎng)頁,做到后來客戶有什么不滿意,特別是色調(diào)的話,那么改起來就相當(dāng)容易,甚至你還可以定制幾種風(fēng)格的CSS文件供客戶選擇,又或者寫一個程序?qū)崿F(xiàn)動態(tài)調(diào)用,讓網(wǎng)站具有動態(tài)改變風(fēng)格的功能。實現(xiàn)結(jié)構(gòu)與表現(xiàn)別離在真正開始布局實踐之前,再來認(rèn)識一件事——結(jié)構(gòu)和表現(xiàn)相別離,這也用CSS布局的特色所在,結(jié)構(gòu)與表現(xiàn)別離后,代碼才簡潔,更新才方便,這不正是我們學(xué)習(xí)CSS的目的所在嗎?舉個例來說P是結(jié)構(gòu)化標(biāo)簽,有P標(biāo)簽的地方表示這是一個段落區(qū)塊,margin是表現(xiàn)屬性,我要讓一個段落右縮進(jìn)2字高,有些人會想到加空格,然后不斷地加空格,但現(xiàn)在可以給P標(biāo)簽指定一個CSS樣式:P{text-indent:2em;},這樣結(jié)果body內(nèi)容局部就如下,這沒有外加任何表現(xiàn)控制的標(biāo)簽:<p>加進(jìn)天涯社區(qū)有一段時間了,但一直沒有時間寫點東西,今天寫了一篇有關(guān)CSS布局的文章,并力求通過一種通俗的語言來說明知識點,還配以實例和圖片,相信對初學(xué)CSS布局的人會帶來一定的幫助。</p>如果還要對這個段落加上字體、字號、背景、行距等修飾,直接把對應(yīng)的CSS加進(jìn)P樣式里就行了,不用像這樣來寫了:<p><fontcolor="#FF0000"face="宋體">段落內(nèi)容</font></p>這個是結(jié)構(gòu)和表現(xiàn)混合一起寫的,如果很多段落有統(tǒng)一結(jié)構(gòu)和表現(xiàn)的話,再這樣累加寫下去代碼就繁冗了。再直接列一段代碼加深理解結(jié)構(gòu)和表現(xiàn)相別離:用CSS排版<styletype="text/css">
<!--
#photoListimg{height:80;width:100;margin:5pxauto;
}
-->
</style><divid="photoList">
<imgsrc="://blueidea/tech/web/2007/01.jpg"/>
<imgsrc="://blueidea/tech/web/2007/02.jpg"/>
<imgsrc="://blueidea/tech/web/2007/03.jpg"/>
<imgsrc="://blueidea/tech/web/2007/04.jpg"/>
<imgsrc="://blueidea/tech/web/2007/05.jpg"/>
</div>不用CSS排版<imgsrc="://blueidea/tech/web/2007/01.jpg"width="100"height="80"align="middle"/>
<imgsrc="://blueidea/tech/web/2007/02.jpg"width="100"height="80"align="middle"/>
<imgsrc="://blueidea/tech/web/2007/03.jpg"width="100"height="80"align="middle"/>
<imgsrc="://blueidea/tech/web/2007/04.jpg"width="100"height="80"align="middle"/>
<imgsrc="://blueidea/tech/web/2007/05.jpg"width="100"height="80"align="middle"/>第一種方法是結(jié)構(gòu)表現(xiàn)相別離,內(nèi)容局部代碼簡單吧,如果還有更多的圖片列表的話,那么第一種CSS布局方法就更有優(yōu)勢,我打個比喻你好理解:我在BODY向你介紹一個人,我只對你說他是一個人,至于他是一個什么樣的人,有多高,是男是女,你去CSS那里查下就知道。這樣我在BODY的工作就簡單了,也就是說BODY的代碼就簡單了。如果BODY有一個團(tuán)隊人在那里,我在CSS記錄一項就行了,這有點像Flash軟件里的元件和實例的概念,不同的實例共享同一個元件,這樣動畫文件就不大了,把這種想法移到CSS網(wǎng)頁設(shè)計中,就是代碼不復(fù)雜,網(wǎng)頁文件體積小能較快被客戶端下載了。內(nèi)容局部主要放入文章內(nèi)容,有標(biāo)題和段落,標(biāo)題加粗,為了標(biāo)準(zhǔn)化,我用H標(biāo)簽,段落要自動實現(xiàn)首行縮進(jìn)2個字,同時所有內(nèi)容看起來要和外層大盒子邊框有一定距離,這里用填充。內(nèi)容區(qū)塊樣式代碼為:#content{height:auto;width:740px;line-height:1.5em;padding:10px;}#contentp{text-indent:2em;}#contenth3{font-size:16px;margin:10px;版權(quán)欄,給它加個背景,與頁頭相映,里面文字要自動居中對齊,有多行內(nèi)容時,行間距適宜,這里的鏈接樣式也可以單獨指定,我這里就不做了。其樣式代碼如下:#footer{height:50px;width:740px;line-height:2em;text-align:center;background-color:#009966;padding:10px;}最后回到樣式開頭大家會看到這樣的樣式代碼:*{margin:0px;padding:0px;}這是用了通配符初始化各標(biāo)簽邊界和填充,〔因為有局部標(biāo)簽?zāi)J(rèn)會有一定的邊界,如Form標(biāo)簽〕那么接下來就不用對每個標(biāo)簽再加以這樣的控制,這可以在一定程度上簡化代碼。最終完成全部樣式代碼是這樣的:<styletype="text/css"><!--*{margin:0px;padding:0px;}body{font-family:Arial,Helvetica,sans-serif;font-size:12px;margin:0pxauto;height:auto;width:760px;border:1pxsolid#006633;}#header{height:100px;width:760px;background-image:url(headPic.gif);background-repeat:no-repeat;margin:0px0px3px0px;}#nav{height:25px;width:760px;font-size:14px;list-style-type:none;}#navli{float:left;}#navlia{color:#000000;text-decoration:none;padding-top:4px;display:block;width:97px;height:22px;text-align:center;background-color:#009966;margin-left:2px;}#navlia:hover{background-color:#006633;color:#FFFFFF;}#content{height:auto;width:740px;line-height:1.5em;padding:10px;}#contentp{text-indent:2em;}#contenth3{font-size:16px;margin:10px;}#footer{height:50px;width:740px;line-height:2em;text-align:center;background-color:#009966;padding:10px;}--></style>結(jié)構(gòu)代碼是這樣的:<body><divid="header"></div><ulid="nav"><li><ahref="#">首頁</a></li><li><ahref="#">文章</a></li><li><ahref="#">相冊</a></li><li><ahref="#">Blog</a></li><li><ahref="#">論壇</a></li><li><ahref="#">幫助</a></li></ul><divid="content"><h3>前言</h3><p>第一段內(nèi)容</p><h3>理解CSS盒子模式</h3><p>第二段內(nèi)容</p></div><divid="footer"><p>關(guān)于華升|廣告效勞|華升招聘|客服中心|QQ留言|網(wǎng)站管理|會員登錄|購物車</p><p>Copyright©2006-2023TangGuohui.AllRightsReserved</p></div></body>好了,此文到此結(jié)束,更多內(nèi)容,如:CSS中的盒子寬度計算,瀏覽器兼容問題,XHTML標(biāo)準(zhǔn)化寫法等請大家去參考其它資料。如果覺得此文還可以,看過之后記得跟帖,你的鼓勵是我不斷出新文章的動力^-^本文完全為個人原創(chuàng)作品,轉(zhuǎn)摘請注明作者,唐國輝。感謝經(jīng)典論壇網(wǎng)頁標(biāo)準(zhǔn)化專欄斑竹blankzheng指點優(yōu)化幾處[提示:你可先修改局部代碼,再按運行]用CSS排版減小網(wǎng)頁文件體積像上面我做的那個版面,一共分為四個區(qū)塊,每個區(qū)塊的框架是一樣的,這個框架就是用CSS寫出來的,樣式寫一次,就可以被無數(shù)次調(diào)用了(用class調(diào)用,而不是ID),只要改變其中的文字內(nèi)容就可以生成風(fēng)格統(tǒng)一的眾多板塊了,它的樣式和結(jié)構(gòu)代碼是〔請不要直接復(fù)制生成網(wǎng)頁,把下面代碼分別粘貼到網(wǎng)頁中它們應(yīng)在的位置〕:<styletype="text/css">
<!--
*{margin:0px;padding:0px;}
body{
font-size:12px;
margin:0pxauto;
height:auto;
width:805px;
}
.mainBox{
border:1pxdashed#0099CC;
margin:3px;
padding:0px;
float:left;
height:300px;
width:192px;
}
.mainBoxh3{
float:left;
height:20px;
width:179px;
color:#FFFFFF;
padding:6px3px3px10px;
background-color:#0099CC;
font-size:16px;
}
.mainBoxp{
line-height:1.5em;
text-indent:2em;
margin:35px5px5px5px;
}
-->
</style>
<divclass="mainBox">
<h3>前言</h3>
<p>正文內(nèi)容</p>
</div>
<divclass="mainBox">
<h3>CSS盒子模式</h3>
<p>正文內(nèi)容</p>
</div>
<divclass="mainBox">
<h3>轉(zhuǎn)變思想</h3>
<p>正文內(nèi)容</p>
</div>
<divclass="mainBox">
<h3>熟悉步驟</h3>
<p>正文內(nèi)容</p>
</div>熟悉工作流程在真正開始工作之前我們腦海中要形成這樣一種思想:表格是什么我不知道,在內(nèi)容局部我不能讓它再出現(xiàn)表現(xiàn)控制標(biāo)簽,如:font、color、height、width、align等標(biāo)簽不能再出現(xiàn),〔簡單說工作前先洗腦,忘掉以前的一慣做法,去接受和使用全新的方法〕,我不是單純的用DIV來實現(xiàn)排版的嵌套,DIV是塊級元素,而像P也是塊級元素,例如要分出幾個文字內(nèi)容塊,不是一定要用DIV才叫DIV排版,不是“<div>文字塊一</div><div>文字塊二</div><div>文字塊三</div>〞,而用“<p>文字塊一</p><p>文字塊二</p><p>文字塊三</p>〞更適宜。用DIV+CSS設(shè)計思路是這樣的:1.用div來定義語義結(jié)構(gòu);2.然后用CSS來美化網(wǎng)頁,如參加背景、線條邊框、對齊屬性等;3.最后在這個CSS定義的盒子內(nèi)加上內(nèi)容,如文字、圖片等〔沒有表現(xiàn)屬性的標(biāo)簽〕,下面大家跟我一起來做一個實例加深對這個步驟的理解。先看結(jié)果圖:
CSS排版結(jié)果圖用div來定義語義結(jié)構(gòu)現(xiàn)在我要給大家演示的是一個典型的版面分欄結(jié)構(gòu),即頁頭、導(dǎo)航欄、內(nèi)容、版權(quán)〔如下列圖〕典型版面分欄結(jié)構(gòu)其結(jié)構(gòu)代碼如下:<divid="header"></div><divid="nav"></div><divid="content"></div><divid="footer"></div>上面我們定義了四個盒子,按照我們想要的結(jié)果是,我們要讓這些盒子等寬,并從下到下整齊排列,然后在整個頁面中居中對齊,為了方便控制,我們再把這四個盒子裝進(jìn)一個更大的盒子,這個盒子就是BODY,這樣代碼就變成:<body><divid="header"></div><divid="nav"></div><divid="content"></div><divid="footer"></div></body>最外邊的大盒子〔裝著小盒子的大盒子〕我們要讓它在頁面居中,并重定義其寬度為760像素,同時加上邊框,那么它的樣式是:body{font-family:Arial,Helvetica,sans-serif;font-size:12px;margin:0pxauto;height:auto;width:760px;border:1pxsolid#006633;}頁頭為了簡單起見,我們這里只要讓它整個區(qū)塊應(yīng)用一幅背景圖就行了,并在其下邊界設(shè)計定一定間隙,目的是讓頁頭的圖像不要和下面要做的導(dǎo)航欄連在一起,這樣也是為了美觀。其樣式代碼為:#header{height:100px;width:760px;background-image:url(headPic.gif);background-repeat:no-repeat;margin:0px0px3px0px;}導(dǎo)航欄我做成像一個個小按鈕,鼠標(biāo)移上去會改變按鈕背景色和字體色,那么這些小小的按鈕我們又可以理解為小盒子,如此一來這是一個盒子嵌套問題了,樣式代碼如下:#nav{height:25px;width:760px;font-size:14px;list-style-type:none;}#navli{float:left;}#navlia{color:#000000;text-decoration:none;padding-top:4px;display:block;width:97px;height:22px;text-align:center;background-color:#009966;margin-left:2px;}#navlia:hover{background-color:#006633;color:#FFFFFF;}內(nèi)容局部主要放入文章內(nèi)容,有標(biāo)題和段落,標(biāo)題加粗,為了標(biāo)準(zhǔn)化,我用H標(biāo)簽,段落要自動實現(xiàn)首行縮進(jìn)2個字,同時所有內(nèi)容看起來要和外層大盒子邊框有一定距離,這里用填充。內(nèi)容區(qū)塊樣式代碼為:#content{height:auto;width:740px;line-height:1.5em;padding:10px;}#contentp{text-indent:2em;}#contenth3{font-size:16px;margin:10px;版權(quán)欄,給它加個背景,與頁頭相映,里面文字要自動居中對齊,有多行內(nèi)容時,行間距適宜,這里的鏈接樣式也可以單獨指定,我這里就不做了。其樣式代碼如下:#footer{height:50px;width:740px;line-height:2em;text-align:center;background-color:#009966;padding:10px;}最后回到樣式開頭大家會看到這樣的樣式代碼:*{margin:0px;padding:0px;}這是用了通配符初始化各標(biāo)簽邊界和填充,〔因為有局部標(biāo)簽?zāi)J(rèn)會有一定的邊界,如Form標(biāo)簽〕那么接下來就不用對每個標(biāo)簽再加以這樣的控制,這可以在一定程度上簡化代碼。最終完成全部樣式代碼是這樣的:<styletype="text/css"><!--*{margin:0px;padding:0px;}body{font-family:Arial,Helvetica,sans-serif;font-size:12px;margin:0pxauto;height:auto;width:760px;border:1pxsolid#006633;}#header{height:100px;width:760px;background-image:url(headPic.gif);background-repeat:no-repeat;margin:0px0px3px0px;}#nav{height:25px;width:760px;font-size:14px;list-style-type:none;}#navli{float:left;}#navlia{color:#000000;text-decoration:none;padding-top:4px;displ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 海事處廉政教育月黨課
- 七年級信息技術(shù)教案
- 七年級美術(shù)的說課稿10篇
- 浙江省紹興市職業(yè)教育中心2024-2025學(xué)年高一上學(xué)期期中考試中國特色社會主義試題
- 借款協(xié)議書(2篇)
- 統(tǒng)編版語文七年級上冊第10課《往事依依》練習(xí)題(含答案)
- 江蘇鹽城七校2024至2025學(xué)年高二上學(xué)期10月聯(lián)考化學(xué)試卷試題及答案解析
- 行政年度工作參考計劃范文
- 2025年汽油發(fā)電機(jī)組項目發(fā)展計劃
- 學(xué)校車輛租賃合同書范本
- 消化道出血護(hù)理新進(jìn)展
- MOOC 心理健康與創(chuàng)新能力-電子科技大學(xué) 中國大學(xué)慕課答案
- 黃蒿界礦井及選煤廠建設(shè)項目環(huán)境影響報告書
- MOOC 數(shù)字電路分析與設(shè)計-浙江大學(xué) 中國大學(xué)慕課答案
- 感動中國人物張桂梅心得體會(30篇)
- 2024年云南昆明市公安局文職輔警招聘筆試參考題庫附帶答案詳解
- 采購計劃員年終工作總結(jié)
- 技術(shù)總監(jiān)年度述職報告
- 第十四章出口管制課件
- 常用井下工具原理與用途課件
- 廣東省東莞市2023-2024學(xué)年高一上學(xué)期期末生物試題
評論
0/150
提交評論