符合WebStandards的結(jié)構(gòu)清晰的xhtml文檔_Web標(biāo)準(zhǔn)教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
我們支持Web Standards,并且認(rèn)為它提出的文檔對(duì)象模型(DOM,Document Object Model)是非常合理而且有用的,也是十分必要的,代表了一種潮流和進(jìn)步。文檔對(duì)象模型讓我們脫離字符,在結(jié)構(gòu)層面高級(jí)方式來操作文檔。
在網(wǎng)頁制作(HTML/XHTML)方面,遵循Web Standards可以使網(wǎng)站的結(jié)構(gòu)更加合理。但是,新的標(biāo)準(zhǔn)總會(huì)導(dǎo)致一部分舊的網(wǎng)頁制作者的排斥,很簡(jiǎn)單,因?yàn)樗麄儫o法把握新的標(biāo)準(zhǔn)或者與此同時(shí)他們認(rèn)為不需要新的標(biāo)準(zhǔn),原來的方式已經(jīng)夠用了。我不跟排斥與抵制的那部分人討論。
應(yīng)用標(biāo)準(zhǔn)的時(shí)候,有些網(wǎng)頁制作者已經(jīng)走進(jìn)了一些誤區(qū)。往往為了一個(gè)標(biāo)準(zhǔn)不擅長(zhǎng)而且是微不足道的效果而弄得文檔結(jié)構(gòu)混亂。這顯然已經(jīng)違反了Web Standards的初衷。Web Standards的初衷就是讓我們以清楚的結(jié)構(gòu)來組織文檔,以便于使用DOM方式操作文檔。
舉一個(gè)例子來說,在網(wǎng)頁制作過程中的三欄(一般是3個(gè)div標(biāo)簽)布局。很多網(wǎng)頁制作者都通過3個(gè)div標(biāo)簽的嵌套來達(dá)到目的,因?yàn)榧偃绮磺短�,在窗口縮小的時(shí)候,div標(biāo)簽會(huì)向下流動(dòng)。
它們是這樣的:
無論從結(jié)構(gòu)還是從內(nèi)容或者表現(xiàn)上講,這三欄一般都是等地位的,不應(yīng)該嵌套。嵌套已經(jīng)暗示了它們的附屬關(guān)系。當(dāng)我們使用xml解析工具如 JDOM,DOM4j 或者 DOM的JavaScript(ECMAScript)綁定 來解析這些內(nèi)容時(shí),我們就會(huì)發(fā)生邏輯上的混亂。
對(duì)Web Standards抱有偏見的人可能會(huì)說,使用表格布局可以輕松實(shí)現(xiàn)良好的三欄布局。那我們來看看表格的代碼:
可能表格在表現(xiàn)上能輕易達(dá)到三欄布局,但是代碼的結(jié)構(gòu)上與上面一樣是多層嵌套。<table>和<tr>標(biāo)簽是是冗余的。
正確的方法應(yīng)該是下面的代碼:
而有人是這樣使用的:
因?yàn)樗J(rèn)為第三欄只是額外的(extra)。這種布局從代碼上可以看成是兩欄布局,然后第一欄再分成兩欄,所以表現(xiàn)上是三欄。
這樣,符合結(jié)構(gòu)和內(nèi)容的關(guān)系,表現(xiàn)方面我們可以通過在CSS(級(jí)聯(lián)樣式表)中設(shè)定每一欄的寬度百分比來完成�;蛘呶覀兌x每一欄的固定寬度,再定義 body標(biāo)簽的最小寬度(IE6不支持,所以需要把三欄放在一個(gè)div--container里,再定義這個(gè)div的最小寬度)。我們還有更多的方法。
當(dāng)需要表現(xiàn)復(fù)雜的外觀的時(shí)候,我們應(yīng)該怎么辦?比如圓角邊框,那么就使用圖片吧。
我們來看一個(gè)版面和代碼結(jié)構(gòu)都非常好的首頁。下面是它的截圖和使用 Firefox 的 DOM Inspector插件查看它的DOM結(jié)構(gòu)。


在網(wǎng)頁制作(HTML/XHTML)方面,遵循Web Standards可以使網(wǎng)站的結(jié)構(gòu)更加合理。但是,新的標(biāo)準(zhǔn)總會(huì)導(dǎo)致一部分舊的網(wǎng)頁制作者的排斥,很簡(jiǎn)單,因?yàn)樗麄儫o法把握新的標(biāo)準(zhǔn)或者與此同時(shí)他們認(rèn)為不需要新的標(biāo)準(zhǔn),原來的方式已經(jīng)夠用了。我不跟排斥與抵制的那部分人討論。
應(yīng)用標(biāo)準(zhǔn)的時(shí)候,有些網(wǎng)頁制作者已經(jīng)走進(jìn)了一些誤區(qū)。往往為了一個(gè)標(biāo)準(zhǔn)不擅長(zhǎng)而且是微不足道的效果而弄得文檔結(jié)構(gòu)混亂。這顯然已經(jīng)違反了Web Standards的初衷。Web Standards的初衷就是讓我們以清楚的結(jié)構(gòu)來組織文檔,以便于使用DOM方式操作文檔。
舉一個(gè)例子來說,在網(wǎng)頁制作過程中的三欄(一般是3個(gè)div標(biāo)簽)布局。很多網(wǎng)頁制作者都通過3個(gè)div標(biāo)簽的嵌套來達(dá)到目的,因?yàn)榧偃绮磺短�,在窗口縮小的時(shí)候,div標(biāo)簽會(huì)向下流動(dòng)。
它們是這樣的:
示例代碼 [hl5o.cn]
<div id="column1">
<div id="column2">
<div id="column3">
</div>
</div>
</div>
<div id="column2">
<div id="column3">
</div>
</div>
</div>
無論從結(jié)構(gòu)還是從內(nèi)容或者表現(xiàn)上講,這三欄一般都是等地位的,不應(yīng)該嵌套。嵌套已經(jīng)暗示了它們的附屬關(guān)系。當(dāng)我們使用xml解析工具如 JDOM,DOM4j 或者 DOM的JavaScript(ECMAScript)綁定 來解析這些內(nèi)容時(shí),我們就會(huì)發(fā)生邏輯上的混亂。
對(duì)Web Standards抱有偏見的人可能會(huì)說,使用表格布局可以輕松實(shí)現(xiàn)良好的三欄布局。那我們來看看表格的代碼:
示例代碼 [hl5o.cn]
<table>
<tr>
<td id="column1"></td>
<td id="column2"></td>
<td id="column3"></td>
</tr>
</table>
<tr>
<td id="column1"></td>
<td id="column2"></td>
<td id="column3"></td>
</tr>
</table>
可能表格在表現(xiàn)上能輕易達(dá)到三欄布局,但是代碼的結(jié)構(gòu)上與上面一樣是多層嵌套。<table>和<tr>標(biāo)簽是是冗余的。
正確的方法應(yīng)該是下面的代碼:
示例代碼 [hl5o.cn]
<div id="column1">
</div>
<div id="column2">
</div>
<div id="column3">
</div>
</div>
<div id="column2">
</div>
<div id="column3">
</div>
而有人是這樣使用的:
示例代碼 [hl5o.cn]
<div id="subwrap">
<div id="content-main">
</div>
<div id="content-related">
</div>
</div>
<div id="content-extra">
</div>
<div id="content-main">
</div>
<div id="content-related">
</div>
</div>
<div id="content-extra">
</div>
因?yàn)樗J(rèn)為第三欄只是額外的(extra)。這種布局從代碼上可以看成是兩欄布局,然后第一欄再分成兩欄,所以表現(xiàn)上是三欄。
這樣,符合結(jié)構(gòu)和內(nèi)容的關(guān)系,表現(xiàn)方面我們可以通過在CSS(級(jí)聯(lián)樣式表)中設(shè)定每一欄的寬度百分比來完成�;蛘呶覀兌x每一欄的固定寬度,再定義 body標(biāo)簽的最小寬度(IE6不支持,所以需要把三欄放在一個(gè)div--container里,再定義這個(gè)div的最小寬度)。我們還有更多的方法。
當(dāng)需要表現(xiàn)復(fù)雜的外觀的時(shí)候,我們應(yīng)該怎么辦?比如圓角邊框,那么就使用圖片吧。
我們來看一個(gè)版面和代碼結(jié)構(gòu)都非常好的首頁。下面是它的截圖和使用 Firefox 的 DOM Inspector插件查看它的DOM結(jié)構(gòu)。


相關(guān)Web標(biāo)準(zhǔn)教程:
- Web標(biāo)準(zhǔn):需要正確的使用H1~ H6標(biāo)簽
- 五個(gè)WEB標(biāo)準(zhǔn)中必須注意的地方
- 做到結(jié)構(gòu)(XHTML),表現(xiàn)(CSS),行為(JavaScript)的分離
- CSS標(biāo)準(zhǔn):HTML標(biāo)簽元素的關(guān)閉
- Web標(biāo)準(zhǔn)之路 勿使用W3C廢棄的元素
- CSS布局 聲明文檔類型描述(DTD)
- DIV CSS\讓搜索引擎蜘蛛不再累
- 用XHTML+CSS創(chuàng)建基于Web標(biāo)準(zhǔn)的網(wǎng)頁
- XHTML+CSS創(chuàng)建基于Web標(biāo)準(zhǔn)的網(wǎng)站
- DIV+CSS對(duì)SEO的幫助
- 淺析什么是Web標(biāo)準(zhǔn) 及其前景
- CSSer新手寄語:開始標(biāo)準(zhǔn)之路
Web標(biāo)準(zhǔn)教程Rss訂閱Div+Css教程搜索
Web標(biāo)準(zhǔn)教程推薦
- CSSer資料集:瀏覽器Opera簡(jiǎn)介
- CSS+DIV設(shè)計(jì)實(shí)例:多個(gè)DIV排列時(shí)居中
- 初學(xué)web標(biāo)準(zhǔn)的幾個(gè)誤區(qū)
- Web標(biāo)準(zhǔn):討論內(nèi)容結(jié)構(gòu)表現(xiàn)行為分離
- 學(xué)習(xí)Div CSS從何入手技術(shù)
- FrameworksforDesigners[設(shè)計(jì)師的框架]
- 整體布局聲明在css中應(yīng)該如何合理的運(yùn)用
- CSS編寫過程中常見的10個(gè)錯(cuò)誤
- 經(jīng)典 用CSS實(shí)現(xiàn)表單form布局
- Theultimatewebdesignusabilitychecklist
猜你也喜歡看這些
- IE中文字結(jié)尾出現(xiàn)重復(fù)跳字的解決辦法
- 如何讓IE ff Opera同時(shí)支持Alpha透明?
- Web標(biāo)準(zhǔn)網(wǎng)站需要考慮的瀏覽器兼容底線
- IE7beta2的CSS兼容性
- CSS教程:CSS兼容的技巧
- 非主流瀏覽器Nascape中CSS的顯示與IE的差別
- Firefox和IE通用的三則網(wǎng)站重構(gòu)實(shí)用技巧
- 兼容FIREFOX下背景層的自適應(yīng)高度
- CSSHack代碼范例:兼容IE5.0、IE5.5、IE6.0、IE7.0、FF1.5、FF2.0
- IE6下絕對(duì)定位的容器內(nèi)文本無法正常選擇的問題
- 相關(guān)鏈接:
- 教程說明:
Web標(biāo)準(zhǔn)教程-符合WebStandards的結(jié)構(gòu)清晰的xhtml文檔
。