Div+CSS網頁(yè)布局中(zhōng)CSS無效的十個常見原因
2019-11-30
我們從mf1288.com中(zhōng)學(xué)習Div+CSS網頁(yè)布局的知識,可(kě)是W3C validation有(yǒu)時難以操作(zuò),但用(yòng)它你可(kě)以查看由版面設計引起的差錯。驗證程序抛出大量差錯和警告,說明你的XHTML尚未完善,可(kě)能(néng)無法在不同浏覽器上保持一緻功能(néng)。下面十個細微的失效問題難住了大批程序員,本文(wén)就告訴你如何解決。在本文(wén)開始前介紹一些使用(yòng)W3C驗證程序時需要注意的問題。
1、不要擔心驗證程序的警告:如果驗證程序說發現12處錯誤以及83處警告,不要理(lǐ)它,繼續進行下一步。
2、一次更正一個錯誤:按順序進展工(gōng)作(zuò),從上到下,一次修正一個錯誤。HTML用(yòng)浏覽器從上到下浏覽,這些錯誤也是按同樣順序顯示。
3、每次修正代碼後要刷新(xīn)代碼,使它們重新(xīn)生效:一個小(xiǎo)錯誤常常會引發之後整頁(yè)的連串錯誤。因此如果操作(zuò)不當,“修正錯誤”也可(kě)能(néng)引發更多(duō)錯誤。每次修正後使代碼重新(xīn)生效,這樣就可(kě)以确保完全解決問題。
知道了上面這些基本的異常情況,下面我們就來看看版面設計無效的幾個原因。
一、div 标簽未關閉
這是版面設計失效的最常見原因之一。當我們了解到這是多(duō)少精(jīng)緻的版塊設計失效的罪魁禍首時,總會大吃一驚。開啓的div标簽是最普遍的版塊設計失誤之一,也是最難診斷的失誤之一。驗證程序有(yǒu)時會指向錯誤的開啓div标簽,診斷時就像大海撈針一樣麻煩。
二、麻煩的embed标簽
九十年代早期,Microsoft和Netscape的浏覽器開始能(néng)夠辨認非标準的獨有(yǒu)字體(tǐ)。遺憾的是這意味着W3C驗證程序還不能(néng)識别某些關鍵HTML 标簽,如“embed”,即使這些标簽已經被廣泛使用(yòng)。如果确實希望得到嚴格的DOCTYPE(文(wén)檔類型)驗證,就隻能(néng)放棄嵌套。
如果同時想要生效的版面設計和嵌入式媒體(tǐ),可(kě)以試試Flash Satay方法。
三、不當的DOCTYPE聲明
不聲明DOCTYPE,或者在文(wén)件開始錯誤聲明DOCTYPE,也是一個常見錯誤。根據一般經驗,Strict DOCTYPE是大家追求的最高級驗證。Strict validation表明你的網頁(yè)能(néng)夠在所有(yǒu)浏覽器上都得到最佳展示。
四、結尾斜線(xiàn)
如果你的網站不能(néng)驗證,很(hěn)有(yǒu)可(kě)能(néng)是在代碼的某個地方漏寫了結尾斜線(xiàn)。我們很(hěn)容易忽略結尾斜線(xiàn)之類的東西,特别是在image标簽等元素中(zhōng)。
在嚴格的DOCTYPE中(zhōng)這是無效的。要在img标簽結尾處加上“/”以解決此問題。
五、Align标簽
如果DOCTYPE被設為(wèi)Transitional,你就會使用(yòng)“align”标簽,但如果要求更高一點希望得到Strict驗證,你會看到很(hěn)多(duō)錯誤。 Align是另一個不可(kě)用(yòng)于版面設計的标簽。可(kě)以嘗試用(yòng)“float”或者“text-align”來代替align轉換元素。
六、JavaScript
如果已經聲明Strict DOCTYPE,就需要在JavaScript中(zhōng)覆蓋CDATA标簽。驗證程序的這一方面難倒了很(hěn)多(duō)程序員,因為(wèi)網站傾向于為(wèi)廣告和追蹤腳本使用(yòng)嵌入的 JavaScript。如果必須用(yòng)到JavaScript,可(kě)以在其前後加上如下标簽:
七、圖像需要“alt”屬性
你可(kě)能(néng)還沒有(yǒu)注意到,圖像也是高級驗證的潛在絆腳石。除了結尾斜線(xiàn),高級驗證也要求用(yòng)alt标簽來描述圖像,如alt= ”Scary vampire picture”。
搜索引擎也靠alt标簽來識别網頁(yè)上的圖像,所以無論怎樣加上alt标簽總是好的。
八、未知實體(tǐ)數據
實體(tǐ)數據是又(yòu)一個影響驗證的易犯錯誤。我們可(kě)以考慮用(yòng)适當的編碼字符來代替“&”等符号。entire list中(zhōng)列出在XHTML版塊設計中(zhōng)可(kě)用(yòng)的适當的編碼字符實體(tǐ)數據。
九、不良嵌套
嵌套就是元素裏又(yòu)包括元素,我們容易混淆嵌套元素的順序。例如在div标簽前啓動strong标簽,但又(yòu)先關閉div标簽。這可(kě)能(néng)不會改變版塊布局,但卻會使你的版塊設計失效。
十、缺少“title”标簽
盡管這看上去是一個很(hěn)明顯的錯誤,很(hěn)多(duō)程序員(包括我自己)還是經常會在“head”版塊中(zhōng)遺漏title标簽。當你看到“missing a required sub-element of HEAD”(缺少HEAD的必要子元素)時,才會發現自己忘記添加title标簽了。
1、不要擔心驗證程序的警告:如果驗證程序說發現12處錯誤以及83處警告,不要理(lǐ)它,繼續進行下一步。
2、一次更正一個錯誤:按順序進展工(gōng)作(zuò),從上到下,一次修正一個錯誤。HTML用(yòng)浏覽器從上到下浏覽,這些錯誤也是按同樣順序顯示。
3、每次修正代碼後要刷新(xīn)代碼,使它們重新(xīn)生效:一個小(xiǎo)錯誤常常會引發之後整頁(yè)的連串錯誤。因此如果操作(zuò)不當,“修正錯誤”也可(kě)能(néng)引發更多(duō)錯誤。每次修正後使代碼重新(xīn)生效,這樣就可(kě)以确保完全解決問題。
知道了上面這些基本的異常情況,下面我們就來看看版面設計無效的幾個原因。
一、div 标簽未關閉
這是版面設計失效的最常見原因之一。當我們了解到這是多(duō)少精(jīng)緻的版塊設計失效的罪魁禍首時,總會大吃一驚。開啓的div标簽是最普遍的版塊設計失誤之一,也是最難診斷的失誤之一。驗證程序有(yǒu)時會指向錯誤的開啓div标簽,診斷時就像大海撈針一樣麻煩。
二、麻煩的embed标簽
九十年代早期,Microsoft和Netscape的浏覽器開始能(néng)夠辨認非标準的獨有(yǒu)字體(tǐ)。遺憾的是這意味着W3C驗證程序還不能(néng)識别某些關鍵HTML 标簽,如“embed”,即使這些标簽已經被廣泛使用(yòng)。如果确實希望得到嚴格的DOCTYPE(文(wén)檔類型)驗證,就隻能(néng)放棄嵌套。
如果同時想要生效的版面設計和嵌入式媒體(tǐ),可(kě)以試試Flash Satay方法。
三、不當的DOCTYPE聲明
不聲明DOCTYPE,或者在文(wén)件開始錯誤聲明DOCTYPE,也是一個常見錯誤。根據一般經驗,Strict DOCTYPE是大家追求的最高級驗證。Strict validation表明你的網頁(yè)能(néng)夠在所有(yǒu)浏覽器上都得到最佳展示。
四、結尾斜線(xiàn)
如果你的網站不能(néng)驗證,很(hěn)有(yǒu)可(kě)能(néng)是在代碼的某個地方漏寫了結尾斜線(xiàn)。我們很(hěn)容易忽略結尾斜線(xiàn)之類的東西,特别是在image标簽等元素中(zhōng)。
在嚴格的DOCTYPE中(zhōng)這是無效的。要在img标簽結尾處加上“/”以解決此問題。
五、Align标簽
如果DOCTYPE被設為(wèi)Transitional,你就會使用(yòng)“align”标簽,但如果要求更高一點希望得到Strict驗證,你會看到很(hěn)多(duō)錯誤。 Align是另一個不可(kě)用(yòng)于版面設計的标簽。可(kě)以嘗試用(yòng)“float”或者“text-align”來代替align轉換元素。
六、JavaScript
如果已經聲明Strict DOCTYPE,就需要在JavaScript中(zhōng)覆蓋CDATA标簽。驗證程序的這一方面難倒了很(hěn)多(duō)程序員,因為(wèi)網站傾向于為(wèi)廣告和追蹤腳本使用(yòng)嵌入的 JavaScript。如果必須用(yòng)到JavaScript,可(kě)以在其前後加上如下标簽:
七、圖像需要“alt”屬性
你可(kě)能(néng)還沒有(yǒu)注意到,圖像也是高級驗證的潛在絆腳石。除了結尾斜線(xiàn),高級驗證也要求用(yòng)alt标簽來描述圖像,如alt= ”Scary vampire picture”。
搜索引擎也靠alt标簽來識别網頁(yè)上的圖像,所以無論怎樣加上alt标簽總是好的。
八、未知實體(tǐ)數據
實體(tǐ)數據是又(yòu)一個影響驗證的易犯錯誤。我們可(kě)以考慮用(yòng)适當的編碼字符來代替“&”等符号。entire list中(zhōng)列出在XHTML版塊設計中(zhōng)可(kě)用(yòng)的适當的編碼字符實體(tǐ)數據。
九、不良嵌套
嵌套就是元素裏又(yòu)包括元素,我們容易混淆嵌套元素的順序。例如在div标簽前啓動strong标簽,但又(yòu)先關閉div标簽。這可(kě)能(néng)不會改變版塊布局,但卻會使你的版塊設計失效。
十、缺少“title”标簽
盡管這看上去是一個很(hěn)明顯的錯誤,很(hěn)多(duō)程序員(包括我自己)還是經常會在“head”版塊中(zhōng)遺漏title标簽。當你看到“missing a required sub-element of HEAD”(缺少HEAD的必要子元素)時,才會發現自己忘記添加title标簽了。
上一篇:網頁(yè)顔色搭配技(jì )巧 文(wén)字字體(tǐ)、字号、字體(tǐ)排版等
下一篇:已經是最後一篇了