DIV與CSS知識(shí)點(diǎn)搜集

DIV是標(biāo)簽 ,CSS是層疊樣式表。DIV+CSS是網(wǎng)站標(biāo)準(zhǔn)(或稱“WEB標(biāo)準(zhǔn)”)中常用術(shù)語之一,DIV+CSS 是一種網(wǎng)頁的布局方法,這一種網(wǎng)頁布局方法有別于傳統(tǒng)的HTML網(wǎng)頁設(shè)計(jì)語言中的表格(table)定位方式,真正地達(dá)到了w3c內(nèi)容與表現(xiàn)相分離。通常為了說明與HTML網(wǎng)頁設(shè)計(jì)標(biāo)記中的表格(table)定位方式的區(qū)別,因?yàn)楝F(xiàn)行企業(yè)網(wǎng)站設(shè)計(jì)過程中大多是采用DIV+CSS的方式來代替表格實(shí)現(xiàn)各種定位,將頁面內(nèi)容與樣式分離。雖然DIV+CSS高級(jí)布局已逐漸流行,但是DIV+CSS實(shí)現(xiàn)起來要相對(duì)復(fù)雜一些,所以在可以預(yù)計(jì)的將來,表格的地位依然十分重要,但是DIV代表的是網(wǎng)頁設(shè)計(jì)的發(fā)展方向發(fā)展的方向。它們一個(gè)簡(jiǎn)單,一個(gè)先進(jìn),至于網(wǎng)頁設(shè)計(jì)中選擇哪種布局模式,就看設(shè)計(jì)者個(gè)人的偏好和設(shè)計(jì)要求了。
DIV+CSS網(wǎng)頁布局的意義體現(xiàn)在如下方面:由于將大部分頁面代碼寫在了CSS當(dāng)中,使得頁面體積容量變得更小,使得頁面載入得更快、降低流量費(fèi)用;跟據(jù)區(qū)域內(nèi)容標(biāo)記,到CSS里找到相應(yīng)的ID,使得修改頁面的時(shí)候更加方便,也不會(huì)破壞頁面其他部分的布局樣式;由于將大部分的HTML代碼和內(nèi)容樣式寫入了CSS文件中,這就使得網(wǎng)頁中正文部分更為突出明顯,便于被搜索引擎采集收錄;由于CSS富含豐富的樣式,使頁面更加靈活性,它可以根據(jù)不同的瀏覽器,而達(dá)到顯示效果的統(tǒng)一和不變形的目的。
幾種常用CSS+DIV排版技術(shù)
用DIV把元素定義為塊對(duì)象,用CSS設(shè)置對(duì)象的格式和位置。CSS+DIV排版方式是目前應(yīng)用很廣的排版方式,它的使用非常靈活,可制作非常復(fù)雜的版面。以下是幾種常用的CSS+DIV排版技術(shù)。
縱向排列元素
此類CSS+DIV排版技術(shù)用<div>標(biāo)簽定義塊對(duì)象,由于<div>標(biāo)簽本身有換行作用,各元素自然排成一列。用CSS的margin屬性設(shè)置對(duì)象間的距離,用padding屬性調(diào)整對(duì)象的寬度和高度。
橫向排列元素
用<div>標(biāo)簽定義塊對(duì)象,用CSS的float屬性設(shè)置對(duì)象的浮動(dòng),此為CSS+DIV排版中的橫向排列。
用列表排列元素
用ul或ol標(biāo)簽制作列表,用CSS設(shè)置列表項(xiàng)目的效果。這種CSS+DIV排版技術(shù)主要用于規(guī)則排列的文本塊、圖片、控件等。
用絕對(duì)坐標(biāo)定位元素
瀏覽器窗口的左上角坐標(biāo)為(0,0),x坐標(biāo)向右,y坐標(biāo)向下,此為CSS+DIV排版技術(shù)之絕對(duì)坐標(biāo)定位。CSS提供了幾個(gè)位置屬性,可以設(shè)置對(duì)象在頁面中的位置。
position:當(dāng)它取值為absolute時(shí),表示對(duì)象使用絕對(duì)坐標(biāo)定位。
left、top:對(duì)象的左上角坐標(biāo)。
right、bottom:對(duì)象的右下角坐標(biāo)。
z-index:對(duì)象的層疊順序。取值為一個(gè)整數(shù)。
用絕對(duì)坐標(biāo)定位的對(duì)象是可以發(fā)生重疊的,如果沒有指定層疊順序,則后定義的對(duì)象位于上層,如果指定了“z-index”值,則值大的位于上層。
我們一般不推薦使用這種方法制作網(wǎng)頁,這種網(wǎng)頁調(diào)整起來非常困難,只是在一些特殊情況下使用。
DIV+CSS頁面布局常見錯(cuò)誤分析
1、檢查HTML元素是否有拼寫錯(cuò)誤、是否忘記結(jié)束標(biāo)記。即使是老手也經(jīng)常會(huì)弄錯(cuò)div的嵌套關(guān)系??梢杂胐reamweaver的驗(yàn)證功能檢查一下有無錯(cuò)誤。  
2、檢查CSS是否正確。檢查一下有無拼寫錯(cuò)誤、是否忘記結(jié)尾的 “}” 等??梢岳肅leanCSS來檢查 CSS的拼寫錯(cuò)誤。CleanCSS本是為CSS減肥的工具,但也能檢查出拼寫錯(cuò)誤。
3、確定錯(cuò)誤發(fā)生的位置。如果錯(cuò)誤影響了整體布局,則可以逐個(gè)刪除div塊,直到刪除某個(gè)div塊后顯示恢復(fù)正常,即可確定錯(cuò)誤發(fā)生的位置?! ?br> 4、利用border屬性確定出錯(cuò)元素的布局特性。使用float屬性布局一不小心就會(huì)出錯(cuò)。這時(shí)為元素添加border屬性確定元素邊界,錯(cuò)誤原因即水落石出?! ?br> 5、float元素的父元素不能指定clear屬性。MacIE下如果對(duì)float的元素的父元素使用clear屬性,周圍的float元素布局就會(huì)混亂。這是MacIE的著名的bug,倘若不知道就會(huì)走彎路?! ?br> 6、float元素務(wù)必指定width屬性。很多瀏覽器在顯示未指定width的float元素時(shí)會(huì)有bug。所以不管float元素的內(nèi)容如何,一定要為其指定width屬性。另外指定元素時(shí)盡量使用em而不是px做單位。 
7、float元素不能指定margin和padding等屬性。IE在顯示指定了margin和padding的float元素時(shí)有bug。因此不要對(duì)float元素指定margin和padding屬性(可以在float元素內(nèi)部嵌套一個(gè)div來設(shè)置margin和padding)。也可以使用hack方法為IE指定特別的值。  
8、float元素的寬度之和要小于100%。如果float元素的寬度之和正好是100%,某些古老的瀏覽器將不能正常顯示。因此請(qǐng)保證寬度之和小于99%?! ?br> 9、是否重設(shè)了默認(rèn)的樣式?某些屬性如margin、padding等,不同瀏覽器會(huì)有不同的解釋。因此最好在開發(fā)前首先將全體的margin、padding設(shè)置為0、列表樣式設(shè)置為none等。

拓展閱讀:
http://developer.51cto.com/art/201008/220838.htm

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,095評(píng)論 1 92
  • <a name='html'>HTML</a> Doctype作用?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)、<...
    clark124閱讀 3,808評(píng)論 1 19
  • 前言 公司的后臺(tái)是使用Laravel框架寫的,最近在把其中的訂單處理部分抽出來,準(zhǔn)備寫個(gè)單獨(dú)的Library。特地...
    WilliamWei閱讀 1,462評(píng)論 0 6

友情鏈接更多精彩內(nèi)容