HowCSSLayoutWorks-如何進(jìn)行CSS布局_DIV+CSS實(shí)例
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
HTML的局限性迫使設(shè)計(jì)師們?nèi)ラ_(kāi)發(fā)更聰明的方式來(lái)使他們的網(wǎng)頁(yè)更美觀。過(guò)去最常用的工具是<table>標(biāo)簽,它本是用來(lái)創(chuàng)建電子數(shù)據(jù)表——比如由數(shù)據(jù)行和列組成的信息顯示表。但是設(shè)計(jì)師們卻用HTML的表格來(lái)創(chuàng)建一種用來(lái)組織網(wǎng)頁(yè)內(nèi)容的腳手架(見(jiàn)圖11-1)。可是由于<table>標(biāo)簽本來(lái)不是要用于布局的,因此設(shè)計(jì)師們不得不經(jīng)常以各種不平常的方式來(lái)使用這個(gè)標(biāo)簽——比如把一個(gè)表格放在另一個(gè)表格的單元里面——僅僅為了得到他們想要的效果。這種方法的工作量很大,增加了大量額外的HTML代碼,并使得后面要修改設(shè)計(jì)很難。但是在CSS出現(xiàn)之前,那就是網(wǎng)頁(yè)設(shè)計(jì)師們所擁有的一切辦法。

假如你已經(jīng)習(xí)慣于使用<table>標(biāo)簽,那么當(dāng)你開(kāi)始使用CSS進(jìn)行布局時(shí),必須發(fā)展一種新的思維。首先,忘掉行和列(運(yùn)用表格時(shí)的一種重要的觀念)。沒(méi)有列跨度、行跨度和格子狀的表格結(jié)構(gòu)在CSS中是找不到的。然而,你可以把一個(gè)<div>標(biāo)簽當(dāng)成一個(gè)表格單元。有了表格單元,<div>標(biāo)簽就是把你要的內(nèi)容定位在網(wǎng)頁(yè)區(qū)域的一個(gè)邏輯位置。此外,如你所見(jiàn),CSS設(shè)計(jì)經(jīng)常把一個(gè)div嵌套在另一個(gè)div里面,就像你把表格嵌套在表格里面來(lái)獲得特定的效果一樣——但是,幸運(yùn)的是,CSS方法只用少得多的HTML代碼。
強(qiáng)大的<div>標(biāo)簽
The Mighty <div> Tag
無(wú)論使用表格還是CSS,網(wǎng)頁(yè)布局都是把大塊的內(nèi)容放進(jìn)網(wǎng)頁(yè)的不同區(qū)域里面。有了CSS,最常用來(lái)組織內(nèi)容的元素就是<div>標(biāo)簽。如第18頁(yè)所述,<div>標(biāo)簽是沒(méi)有固有格式化屬性的一個(gè)HTML元素(除了瀏覽器把這個(gè)標(biāo)簽當(dāng)成前后有換行的塊之外);反之,它被用來(lái)標(biāo)識(shí)元素的一個(gè)邏輯組合或者網(wǎng)頁(yè)中的一個(gè)分區(qū)。
你將代表性地把一大塊屬于一起的HTML包圍在一個(gè)<div>里面。圖11-1中包含logo和導(dǎo)航欄的元素占據(jù)了網(wǎng)頁(yè)頂部,因此用一個(gè)<div>標(biāo)簽把它們包圍起來(lái)很有意義。至少,你要給網(wǎng)頁(yè)的所有主要區(qū)域包含<div>標(biāo)簽,例如橫幅、主要內(nèi)容區(qū)域、工具條、頁(yè)腳,等等。但是它也可能把一個(gè)或者更多的div包在一個(gè)<div>里面。一種最常用的方法就是把<body>標(biāo)簽里面的HTML包在一個(gè)<div>里面。然后可以通過(guò)把CSS應(yīng)用到包裝<div>,設(shè)置基礎(chǔ)的頁(yè)面屬性。你可以給網(wǎng)頁(yè)內(nèi)容設(shè)定一個(gè)整體的寬度,設(shè)置左邊距和右邊距,或者把所有網(wǎng)頁(yè)內(nèi)容在屏幕的中間居中。
一旦已經(jīng)把<div>標(biāo)簽放在了適當(dāng)?shù)奈恢蒙希俳o每個(gè)<div>標(biāo)簽添加一個(gè)類或者ID,變成你分別對(duì)每個(gè)<div>定義樣式的句柄。對(duì)于只出現(xiàn)一次和形成網(wǎng)頁(yè)的基本構(gòu)建塊的網(wǎng)頁(yè)部位,設(shè)計(jì)師們通常使用一個(gè)ID。一個(gè)網(wǎng)頁(yè)橫幅區(qū)域的<div>標(biāo)簽看起來(lái)可能像這樣:<div id="banner">。你可以對(duì)一個(gè)ID每頁(yè)只使用一次,因此當(dāng)有一個(gè)多次顯示的元素時(shí),就用一個(gè)類代替。假如你有幾個(gè)定位照片和照片說(shuō)明的div時(shí),可以創(chuàng)建一個(gè)樣式像這樣:<div class="photo">。
有了類似這些的樣式,就可以定位各種各樣的網(wǎng)頁(yè)元素了。利用CSS的float屬性,你可以定位不同的內(nèi)容塊給一張網(wǎng)頁(yè)的左邊或者右邊(或者一個(gè)包含塊比如另一個(gè)<div>的左邊或者右邊)。
至理名言
更多并非更好
雖然div對(duì)于CSS布局很重要,但也別對(duì)你的網(wǎng)頁(yè)濫用div。一個(gè)常見(jiàn)的陷阱是相信你必須把一張網(wǎng)頁(yè)中的一切都包圍在一個(gè)<div>標(biāo)簽里面。假設(shè)你的主導(dǎo)航欄是一個(gè)鏈接的無(wú)序列表。由于它是一個(gè)重要的元素,你可能會(huì)試探用一個(gè)<div>來(lái)把它圍起來(lái):<div id="mainNav"><ul>...</ul></div>。但是當(dāng)<ul>標(biāo)簽唾手可得時(shí),就沒(méi)有必要去添加一個(gè)<div>了。只要<ul>包含主要的導(dǎo)航欄鏈接,就只需添加ID樣式給這個(gè)標(biāo)簽:<ul id= "mainNav">。多余的<div>只是一些沒(méi)有必要的代碼。

假如你已經(jīng)習(xí)慣于使用<table>標(biāo)簽,那么當(dāng)你開(kāi)始使用CSS進(jìn)行布局時(shí),必須發(fā)展一種新的思維。首先,忘掉行和列(運(yùn)用表格時(shí)的一種重要的觀念)。沒(méi)有列跨度、行跨度和格子狀的表格結(jié)構(gòu)在CSS中是找不到的。然而,你可以把一個(gè)<div>標(biāo)簽當(dāng)成一個(gè)表格單元。有了表格單元,<div>標(biāo)簽就是把你要的內(nèi)容定位在網(wǎng)頁(yè)區(qū)域的一個(gè)邏輯位置。此外,如你所見(jiàn),CSS設(shè)計(jì)經(jīng)常把一個(gè)div嵌套在另一個(gè)div里面,就像你把表格嵌套在表格里面來(lái)獲得特定的效果一樣——但是,幸運(yùn)的是,CSS方法只用少得多的HTML代碼。
強(qiáng)大的<div>標(biāo)簽
The Mighty <div> Tag
無(wú)論使用表格還是CSS,網(wǎng)頁(yè)布局都是把大塊的內(nèi)容放進(jìn)網(wǎng)頁(yè)的不同區(qū)域里面。有了CSS,最常用來(lái)組織內(nèi)容的元素就是<div>標(biāo)簽。如第18頁(yè)所述,<div>標(biāo)簽是沒(méi)有固有格式化屬性的一個(gè)HTML元素(除了瀏覽器把這個(gè)標(biāo)簽當(dāng)成前后有換行的塊之外);反之,它被用來(lái)標(biāo)識(shí)元素的一個(gè)邏輯組合或者網(wǎng)頁(yè)中的一個(gè)分區(qū)。
你將代表性地把一大塊屬于一起的HTML包圍在一個(gè)<div>里面。圖11-1中包含logo和導(dǎo)航欄的元素占據(jù)了網(wǎng)頁(yè)頂部,因此用一個(gè)<div>標(biāo)簽把它們包圍起來(lái)很有意義。至少,你要給網(wǎng)頁(yè)的所有主要區(qū)域包含<div>標(biāo)簽,例如橫幅、主要內(nèi)容區(qū)域、工具條、頁(yè)腳,等等。但是它也可能把一個(gè)或者更多的div包在一個(gè)<div>里面。一種最常用的方法就是把<body>標(biāo)簽里面的HTML包在一個(gè)<div>里面。然后可以通過(guò)把CSS應(yīng)用到包裝<div>,設(shè)置基礎(chǔ)的頁(yè)面屬性。你可以給網(wǎng)頁(yè)內(nèi)容設(shè)定一個(gè)整體的寬度,設(shè)置左邊距和右邊距,或者把所有網(wǎng)頁(yè)內(nèi)容在屏幕的中間居中。
一旦已經(jīng)把<div>標(biāo)簽放在了適當(dāng)?shù)奈恢蒙希俳o每個(gè)<div>標(biāo)簽添加一個(gè)類或者ID,變成你分別對(duì)每個(gè)<div>定義樣式的句柄。對(duì)于只出現(xiàn)一次和形成網(wǎng)頁(yè)的基本構(gòu)建塊的網(wǎng)頁(yè)部位,設(shè)計(jì)師們通常使用一個(gè)ID。一個(gè)網(wǎng)頁(yè)橫幅區(qū)域的<div>標(biāo)簽看起來(lái)可能像這樣:<div id="banner">。你可以對(duì)一個(gè)ID每頁(yè)只使用一次,因此當(dāng)有一個(gè)多次顯示的元素時(shí),就用一個(gè)類代替。假如你有幾個(gè)定位照片和照片說(shuō)明的div時(shí),可以創(chuàng)建一個(gè)樣式像這樣:<div class="photo">。
有了類似這些的樣式,就可以定位各種各樣的網(wǎng)頁(yè)元素了。利用CSS的float屬性,你可以定位不同的內(nèi)容塊給一張網(wǎng)頁(yè)的左邊或者右邊(或者一個(gè)包含塊比如另一個(gè)<div>的左邊或者右邊)。
至理名言
更多并非更好
雖然div對(duì)于CSS布局很重要,但也別對(duì)你的網(wǎng)頁(yè)濫用div。一個(gè)常見(jiàn)的陷阱是相信你必須把一張網(wǎng)頁(yè)中的一切都包圍在一個(gè)<div>標(biāo)簽里面。假設(shè)你的主導(dǎo)航欄是一個(gè)鏈接的無(wú)序列表。由于它是一個(gè)重要的元素,你可能會(huì)試探用一個(gè)<div>來(lái)把它圍起來(lái):<div id="mainNav"><ul>...</ul></div>。但是當(dāng)<ul>標(biāo)簽唾手可得時(shí),就沒(méi)有必要去添加一個(gè)<div>了。只要<ul>包含主要的導(dǎo)航欄鏈接,就只需添加ID樣式給這個(gè)標(biāo)簽:<ul id= "mainNav">。多余的<div>只是一些沒(méi)有必要的代碼。
相關(guān)DIV+CSS實(shí)例:
- 固定div容器的寬高,圖片居中(圖片不限制大小)
- 用css制作有滾動(dòng)條的居中彈出框
- 鼠標(biāo)指住(hover)變色的按鈕演示demo
- 10個(gè)很酷的涂鴉風(fēng)格國(guó)外網(wǎng)店設(shè)計(jì)展示
- jquery模擬瀏覽器滾動(dòng)條效果
- 仿谷歌google的搜索框下拉提示列表效果
- JS顯示網(wǎng)頁(yè)最后更新時(shí)間
- CSS技巧:text-indent隱藏文字(以圖換字)
- CSS實(shí)例:三列自適應(yīng)等高且中列寬度自適應(yīng)
- DivCSS布局實(shí)例:很實(shí)用的圖文混排CSS列表-富有語(yǔ)義
- DivCSS實(shí)例:CSS菜單Flash效果用圖片模擬實(shí)現(xiàn)
- DivCSS布局實(shí)例用dldtdd來(lái)制作列表
DIV+CSS實(shí)例Rss訂閱Div+Css教程搜索
DIV+CSS實(shí)例推薦
- Web標(biāo)準(zhǔn)實(shí)戰(zhàn)CSS網(wǎng)頁(yè)布局Google首頁(yè)
- CSS菜單:基本橫向菜單效果超炫
- CSS表格樣式:CSS JS打造可伸縮的表格
- CSS滑動(dòng)式條狀圖表如何實(shí)現(xiàn)?
- CSS實(shí)例:如何讓無(wú)空格的長(zhǎng)字符在IE和FF下面實(shí)現(xiàn)自動(dòng)換行?
- CSS菜單實(shí)例:按鈕效果跳躍的藍(lán)色精靈
- DIVCSS布局實(shí)例:一款漂亮的圖片切換效果(可以控制播放)
- 用“ul li”及css制作韓國(guó)風(fēng)格菜單
- DIVCSS菜單實(shí)例:紅與黑具有立體質(zhì)感的CSS菜單
- CSS布局教程:DIV CSS三列式布局的實(shí)現(xiàn)方法
- 相關(guān)鏈接:
- 教程說(shuō)明:
DIV+CSS實(shí)例-HowCSSLayoutWorks-如何進(jìn)行CSS布局
。