<label id="2a06w"><tt id="2a06w"></tt></label><label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label><menu id="2a06w"></menu>
  • <dfn id="2a06w"><var id="2a06w"><label id="2a06w"></label></var></dfn>
    <sup id="2a06w"><button id="2a06w"><em id="2a06w"></em></button></sup>
    <dfn id="2a06w"><var id="2a06w"></var></dfn>
    <dfn id="2a06w"></dfn>
  • <dfn id="2a06w"><code id="2a06w"><ins id="2a06w"></ins></code></dfn>
  • <small id="2a06w"><samp id="2a06w"></samp></small>
  • <dfn id="2a06w"><table id="2a06w"><center id="2a06w"></center></table></dfn>
    <label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label>
    <strike id="2a06w"><form id="2a06w"></form></strike>
    <menu id="2a06w"><tt id="2a06w"></tt></menu>

    將想法與焦點(diǎn)和您一起共享

    網(wǎng)站建設(shè)中XHTML、DOCTYPE和Web標(biāo)準(zhǔn)的基礎(chǔ)知識(shí)發(fā)布者:本站     時(shí)間:2022-04-04 20:04:50

    Web 標(biāo)準(zhǔn)使您能通過最少的工作,生成可被最廣大受眾訪問的 Web 站點(diǎn)。Web 標(biāo)準(zhǔn)的承諾是:只需設(shè)計(jì)頁面一次,即可讓該頁以完全相同的方式在任何現(xiàn)代的瀏覽器中顯示和工作。例如,在按照標(biāo)準(zhǔn)生成以后,旨在在 Microsoft Internet Explorer 中以某種方式顯示的頁可在其他瀏覽器(如,Mozilla Firefox、Netscape Navigator、Opera、Camino 和 Safari)中以相同的方式顯示,而無需完成任何額外的工作。

    Web 標(biāo)準(zhǔn)的一個(gè)額外好處是 ― 使 Web 站點(diǎn)更易于為殘疾人士訪問。這是一個(gè)范圍廣泛的受眾群體,包括視力衰退的中年人士,剛剛在滑雪時(shí)跌斷胳膊的人士,以及完全失明的人士等。使用標(biāo)準(zhǔn)可避免無意中阻止那些具有暫時(shí)性或永久性身體殘疾的人士訪問 Web 頁。

    HTML 在正式的場(chǎng)合已經(jīng)過時(shí)了。World Wide Web Consortium (W3C) 于 2000 年 6 月 26 日發(fā)布了 XHTML 的第一個(gè)版本作為推薦標(biāo)準(zhǔn)。XHTML 標(biāo)準(zhǔn)的目標(biāo)是取代 HTML。按照 W3C 的說法,“XHTML 是 HTML 的繼承者”(http://www.w3.org/MarkUp/)。

    XHTML 標(biāo)準(zhǔn)的制定者具有兩大目標(biāo):

    在文檔結(jié)構(gòu)和表示形式之間創(chuàng)建更明顯的分離。 
    將 HTML 重新表示為 XML 的應(yīng)用程序。 
    為了實(shí)現(xiàn)第一個(gè)目標(biāo),W3C 一直在堅(jiān)定地從 HTML 中刪除純粹描述性的元素和屬性(他們是從 HTML 4.0 開始這一過程的)。例如,XHTML 1.0 Strict 不包含諸如 <font> 標(biāo)記之類的元素或諸如 bgcolor 屬性之類的屬性,因?yàn)檫@些元素和屬性完全用于描述文檔的外觀,它們與文檔的結(jié)構(gòu)沒有任何關(guān)系。

    W3C 一直在努力使 Web 站點(diǎn)設(shè)計(jì)人員和開發(fā)人員摒棄特定標(biāo)記應(yīng)當(dāng)具有特定外觀這一觀念。例如,您可能會(huì)認(rèn)為 <h1> 標(biāo)記(標(biāo)題標(biāo)記)的用途是在頁中呈現(xiàn)大的加粗文本。這實(shí)際上是錯(cuò)的。<h1> 標(biāo)記用來在文檔中標(biāo)記標(biāo)題而不是其他任何東西。如何呈現(xiàn)標(biāo)題標(biāo)記由瀏覽器確定。視力衰退的人士使用的屏幕閱讀器可能利用抑揚(yáng)頓挫的聲音來大聲朗讀標(biāo)題標(biāo)記的內(nèi)容。不支持多個(gè)字體大小的 PDA 可能用閃爍文本呈現(xiàn)標(biāo)題標(biāo)記的內(nèi)容。

    您不應(yīng)當(dāng)試圖使用諸如 <h1> 標(biāo)記之類的頁元素來控制 Web 頁的外觀。相反,您應(yīng)當(dāng)通過使用層疊樣式表來指示 Web 頁的外觀。而且,您所使用的層疊樣式表應(yīng)當(dāng)是外部 層疊樣式表。請(qǐng)使用標(biāo)記和屬性來標(biāo)記文檔的結(jié)構(gòu),而使用樣式表來控制文檔的表示形式。

    XHTML 的第二個(gè)目標(biāo)是迫使 HTML 開發(fā)人員遵守更為嚴(yán)格的 XML 規(guī)則。按照 W3C 的說法,“XHTML 1.0 是 HTML 4.01 的作為 XML 1.0 應(yīng)用程序的修訂”(http://www.w3.org/MarkUp/)。換句話說,使用 XHTML 生成 Web 頁時(shí),實(shí)際上是在創(chuàng)建 XML 文檔。

    XML 文檔具有比 HTML 文檔更嚴(yán)格的語法。例如,XML 區(qū)分大小寫,所有 XML 屬性都必須放在引號(hào)內(nèi),而且 XML 標(biāo)記不能重疊。強(qiáng)迫 Web 站點(diǎn)開發(fā)人員和設(shè)計(jì)人員遵守有更高要求的語言規(guī)則有很多好處。

    好處之一,用 XHTML 標(biāo)記編寫的頁具有更高的跨瀏覽器、跨設(shè)備和跨操作系統(tǒng)兼容性。如果在瀏覽器中打開傳統(tǒng)的 HTML 頁,瀏覽器將千方百計(jì)地呈現(xiàn)該頁。瀏覽器將試圖呈現(xiàn)該頁,即使您的 HTML 一團(tuán)糟。例如,Internet Explorer(以及 Firefox 和 Opera)能夠很好地顯示下面的 HTML 頁。

    <i><B>this is bold and italic</I> and this is bold </body></HTML>Internet Explorer 會(huì)恰當(dāng)?shù)仫@示該頁 ― 即使該頁缺少 <html> 和 <body> 開始標(biāo)記,<b> 標(biāo)記不具有匹配的結(jié)束標(biāo)記,并且開始和結(jié)束 <i> 標(biāo)記的大小寫不一致。所有主要的瀏覽器都能適應(yīng)幾乎任何 HTML 標(biāo)記“混合物”,并且不顧一切地呈現(xiàn)一些內(nèi)容。

    瀏覽器的這種適應(yīng)行為是危險(xiǎn)的,因?yàn)椴煌臑g覽器(或相同瀏覽器的將來版本,或在不同操作系統(tǒng)上運(yùn)行的相同瀏覽器)可能以不同方式呈現(xiàn)錯(cuò)亂的 HTML。實(shí)際上,對(duì)于最新版本的 Internet Explorer、Mozilla Firefox 和 Opera 而言,它們呈現(xiàn)無效 HTML 的方式驚人地一致。但是,一旦開始違反游戲規(guī)則,就不會(huì)得到任何保證。

    然而,如果用 XHTML 的更嚴(yán)格的規(guī)則編寫 Web 頁,那么 Web 頁就更有可能以一致的方式與當(dāng)前瀏覽器協(xié)作,并且它們將繼續(xù)與當(dāng)前瀏覽器的未來新版本協(xié)作。對(duì)于任何公司而言,幾乎都不具備針對(duì)每個(gè)瀏覽器、在每個(gè)操作系統(tǒng)和每個(gè)設(shè)備上測(cè)試其 Web 站點(diǎn)的資源。如果按照 Web 標(biāo)準(zhǔn)編寫頁面,那么就不必具有這樣的資源。

    XHTML 標(biāo)準(zhǔn)的版本

    有三個(gè)版本的 XHTML 1.0,它們分別對(duì)應(yīng)三個(gè)版本的 HTML 4.01:

    XHTML 1.0 Transitional 
    XHTML 1.0 Strict 
    XHTML 1.0 Frameset 
    XHTML 1.0 Transitional 包含 HTML 4.01 Transitional 中的全部標(biāo)記和屬性。引入 XHTML 1.0 Transitional 標(biāo)準(zhǔn)的目的是,使現(xiàn)有 HTML 設(shè)計(jì)人員和開發(fā)人員無需經(jīng)歷太多的痛苦就能遷移到 XHTML。

    XHTML 1.0 Strict 與 XHTML 1.0 Transitional 的不同之處在于,它在文檔結(jié)構(gòu)和表示形式之間實(shí)施了一種更為明顯的分離。與 XHTML 1.0 Transitional 不同,XHTML 1.0 Strict 強(qiáng)迫您使用層疊樣式表來控制頁的外觀。

    XHTML 1.0 Frameset 文檔意在成為使用 <frameset> 標(biāo)記將瀏覽器劃分為多個(gè)框架的文檔(XHTML 1.0 Transitional 和 Strict 頁不能包含 <frameset> 標(biāo)記)。

    W3C 還發(fā)布了 XHTML 1.1 以作為推薦標(biāo)準(zhǔn)(2001 年 5 月 31 日)。XHTML 1.1 非常類似于 XHTML 1.0 Strict。二者的主要區(qū)別在于,可以用附加模塊擴(kuò)展 XHTML 1.1 以便支持新元素。例如,可以生成特定的 XHTML 1.1 頁,該頁還包含 MathML(數(shù)學(xué)標(biāo)記語言)、SVG(可伸縮向量語言)或創(chuàng)建的自定義模塊中的元素。

    最后,W3C 正在制訂 XHTML 2.0 推薦標(biāo)準(zhǔn)。因?yàn)?XHTML 2.0 仍然處于起草階段,并且當(dāng)前沒有 Web 瀏覽器支持該標(biāo)準(zhǔn),所以我們不在本文討論它。

    創(chuàng)建 XHTML 頁

    與 HTML 頁不同,XHTML 頁必須是標(biāo)準(zhǔn)格式且有效的 XML 文檔。XHTML 1.0 推薦標(biāo)準(zhǔn)的第 4 部分對(duì) HTML 和 XHTML 之間的區(qū)別進(jìn)行了總結(jié)。這里給出生成有效 XHTML 頁的最重要需求的列表:

    頁必須包含有效的 XHTML DOCTYPE。 
    有效的 XHTML 頁必須在其任何內(nèi)容之前包含一個(gè) XHTML DOCTYPE。當(dāng)在 Visual Studio .NET 2005 或 Microsoft Visual Web Developer 中創(chuàng)建新的 ASP.NET 頁時(shí),該頁中將自動(dòng)包含 XHTML 1.0 Transitional 的正確的 DOCTYPE。下面列出四個(gè)標(biāo)準(zhǔn)的 XHTML DOCTYPE:

    XHTML 1.0 Transitional

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">XHTML 1.0 Strict

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">XHTML 1.0 Frameset

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">XHTML 1.1 

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">向頁中添加 DOCTYPE 會(huì)影響該頁在瀏覽器中的呈現(xiàn)方式。請(qǐng)參閱以下標(biāo)題為“XHTML 和 DOCTYPE 切換”的一節(jié)。 

    根元素必須引用 XHTML 命名空間。 
    XHTML 頁的開始 <html> 標(biāo)記必須指定默認(rèn)命名空間 http://www.w3.org/1999/xhtml。以下是 XHTML 1.0 Transitional 頁的有效開始 <html> 標(biāo)記的示例:

    <html  xml:lang="en" lang="en">所有元素和屬性名都必須小寫。 
    XML 區(qū)分大小寫。因此,在 <p> 標(biāo)記和 <P> 標(biāo)記之間存在差異。只有前者是有效的 XHTML 段落標(biāo)記。 

    屬性值必須始終放在引號(hào)內(nèi)。 
    確保始終將屬性值放在雙引號(hào)或單引號(hào)中。例如,以下是無效的 XHTML。

    <a href=SomePage.aspx>Next</a>在該示例中,href 屬性缺少引號(hào)。以下代碼是有效的 XHTML。

    <a href="SomePage.aspx" mce_href="SomePage.aspx">Next</a>您可以通過選擇菜單選項(xiàng) Tools、Options、Format,將 Visual Studio .NET 2005 和 Visual Web Developer 配置為自動(dòng)將屬性值放在引號(hào)內(nèi)。 

    所有具有開始標(biāo)記的非空元素都必須具有匹配的結(jié)束標(biāo)記。 
    如果具有開始 <p> 標(biāo)記,則必須包含結(jié)束 </p> 標(biāo)記來標(biāo)記段落的結(jié)束。對(duì)于根本不包含任何內(nèi)容的標(biāo)記,例如 <br> 標(biāo)記,可同時(shí)提供開始和結(jié)束標(biāo)記 <br></br>,也可以使用空元素簡寫。

    為使 XHTML 頁與現(xiàn)有的 HTML 瀏覽器向后兼容,需要小心處理打開和關(guān)閉標(biāo)記的方式。例如,現(xiàn)有 HTML 瀏覽器傾向于將開始和結(jié)束 <br> </br> 標(biāo)記錯(cuò)誤地解釋為兩個(gè) <br> 元素。因此,您應(yīng)當(dāng)使用空元素簡寫</br>。

    此外,除非您小心地在結(jié)束斜杠之前添加一個(gè)空格,否則現(xiàn)有 HTML 瀏覽器在處理空元素簡寫時(shí)會(huì)出現(xiàn)問題。因此,應(yīng)當(dāng)使用 <BR< b>[space] />(而不是)向頁中添加 <br> 元素。 

    不得存在重疊標(biāo)記。 
    可以使標(biāo)記嵌套,但是不允許使標(biāo)記重疊。例如,以下 XHTML 是有效的。

    <b><i>This is bold and italic</i></b>但是,以下 XHTML 是無效的。

    <i><b>This is bold and italic</i></b>不得存在屬性最簡化。 
    所有屬性都必須具有值,即使該值看起來有一點(diǎn)兒奇怪。例如,標(biāo)記<input type=”checkbox” checked />是無效的 XHTML,因?yàn)?checked 屬性不具有值。該標(biāo)記應(yīng)當(dāng)寫成<input type=”checkbox” checked=”checked” />。 

    必須使用 id 屬性而不是 name 屬性。 
    在 HTML 中,可以使用 name 屬性來標(biāo)識(shí) <a>、<applet>、<form>、<frame>、<iframe>、<img> 和 <map> 元素。盡管可以使用 name 屬性生成 XHTML 1.0 Transitional 頁,但在 XHTML 1.0 Strict 和 XHTML 1.1 標(biāo)準(zhǔn)中已經(jīng)將 name 屬性刪除。您應(yīng)當(dāng)改而使用 id 屬性來標(biāo)識(shí)這些元素。 

    必須將 <script> 和 <style> 元素的內(nèi)容包裝到 CDATA 節(jié)中。 
    如果在腳本或樣式表中使用特殊字符(例如 < 或 &)或?qū)嶓w引用(例如 < 或 &),則需要將腳本或樣式表的內(nèi)容標(biāo)記為 CDATA(字符數(shù)據(jù))節(jié),如下所示。

    <script type="text/javascript"> <![CDATA[ function isLess(a, b) {     if (a < b) return true; } ]]> </script>使用 CDATA 節(jié)并非對(duì)所有瀏覽器都有效。例如,Internet Explorer 會(huì)將 <script> 標(biāo)記中的 CDATA 節(jié)視為語法錯(cuò)誤??梢酝ㄟ^添加 JavaScript 注釋避免該問題,如下所示。

    <script type="text/javascript"> /* <![CDATA[ */ function isLess(a, b) {     if (a < b) return true; } /* ]]> */ </script>JavaScript 使用 /* 和 */ 來標(biāo)志注釋的開始和結(jié)束。因此,CDATA 節(jié)對(duì) JavaScript 隱藏,但不對(duì)分析該頁的瀏覽器隱藏??傊?,較好的做法是將樣式規(guī)則和腳本放在外部文件中,而從 XHTML 頁中引用這些文件。通過使用外部樣式表和腳本,能夠避免上述所有問題。 

    XHTML 和 DOCTYPE 切換

    為 Web頁指定 DOCTYPE 會(huì)影響瀏覽器呈現(xiàn)頁的方式。Internet Explorer、Mozilla Firefox 和 Opera 全都支持一種名為“DOCTYPE 切換”(也叫“DOCTYPE 嗅探”)的功能。

    引入 DOCTYPE 切換的目的是使瀏覽器能夠正確地呈現(xiàn)符合標(biāo)準(zhǔn)的 Web 站點(diǎn)以及舊式 Web 站點(diǎn)。大多數(shù) Web 站點(diǎn)被開發(fā)為呈現(xiàn) HTML 頁而不是 XHTML 頁。瀏覽器通過判斷是否存在 DOCTYPE 來確定何時(shí)應(yīng)該使用標(biāo)準(zhǔn)來呈現(xiàn)頁。

    Internet Explorer 6+ 支持兩種呈現(xiàn)模式,分別叫做 Quirks 模式和 Standards 模式。當(dāng) Internet Explorer 呈現(xiàn)包含有效 XHTML(或 HTML 4.0)DOCTYPE 的頁時(shí),它會(huì)以 Standards 模式呈現(xiàn)該頁;否則,它會(huì)以 Quirks模式呈現(xiàn)該頁(有關(guān)詳細(xì)信息,請(qǐng)參閱 CSS Enhancements in Internet Explorer 6)。

    Opera 瀏覽器 (Opera 7+) 支持與 Internet Explorer 相同的兩種呈現(xiàn)模式:Quirks 和 Standards(有關(guān)詳細(xì)信息,請(qǐng)參閱 http://www.opera.com/docs/specs/doctype/)。

    Mozilla Firefox 1+ 支持三種呈現(xiàn)模式:Quirks 模式、Almost Standards 模式和 Standards 模式。Firefox 的 Almost Standards 模式對(duì)應(yīng)于 Internet Explorer 和 Opera 的 Standards 模式。當(dāng)頁包含有效的 XHTML 1.0 Transitional DOCTYPE(并且該頁被分配為 text/html MIME 類型)時(shí),F(xiàn)irefox 會(huì)以 Almost Standards 模式呈現(xiàn)該頁。當(dāng)頁包含 XHTML 1.0 Strict 或 XHTML 1.1 DOCTYPE(或者該頁被分配為 XML MIME 類型)時(shí),該頁將以 Standards 模式呈現(xiàn)(有關(guān)詳細(xì)信息,請(qǐng)參閱 http://www.mozilla.org/docs/web-developer/quirks/doctypes.html)。

    可以通過臨時(shí)向頁中添加以下客戶端腳本(該腳本在最新版本的 Internet Explorer、Firefox 和 Opera 中有效)確定瀏覽器的當(dāng)前呈現(xiàn)模式。

    <script type="text/javascript"> alert( document.compatMode ); </script>您需要關(guān)心瀏覽器的呈現(xiàn)模式,因?yàn)樗鼤?huì)影響將層疊樣式表應(yīng)用于該頁的方式。如果將現(xiàn)有 HTML 頁轉(zhuǎn)換為 XHTML 頁,那么在瀏覽器中打開它們時(shí),它們可能看起來非常不同。

    例如,Internet Explorer 以不同方式計(jì)算頁元素的大小,這取決于呈現(xiàn)模式(它使用不同的 CSS Box Model)。在 Quirks 模式下,元素的寬度是通過將元素的內(nèi)容、內(nèi)邊距、邊框和邊距相加而計(jì)算得到的。在 Standards 模式下,元素的寬度是只考慮元素內(nèi)容的寬度而計(jì)算得到的。



    選擇我們,優(yōu)質(zhì)服務(wù),不容錯(cuò)過
    1. 優(yōu)秀的網(wǎng)絡(luò)資源,強(qiáng)大的網(wǎng)站優(yōu)化技術(shù),穩(wěn)定的網(wǎng)站和速度保證
    2. 15年上海網(wǎng)站建設(shè)經(jīng)驗(yàn),優(yōu)秀的技術(shù)和設(shè)計(jì)水平,更放心
    3. 全程省心服務(wù),不必?fù)?dān)心自己不懂網(wǎng)絡(luò),更省心。
    ------------------------------------------------------------
    24小時(shí)聯(lián)系電話:021-58370032
    關(guān)鍵詞標(biāo)簽:上海網(wǎng)站建設(shè) 上海網(wǎng)站制作 網(wǎng)站優(yōu)化 小程序開發(fā)
    99人妻中文字幕视频在,亚洲无码视频在线免费看,久久国产乱子伦免费精品,日本中文字幕色视频网站
    <label id="2a06w"><tt id="2a06w"></tt></label><label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label><menu id="2a06w"></menu>
  • <dfn id="2a06w"><var id="2a06w"><label id="2a06w"></label></var></dfn>
    <sup id="2a06w"><button id="2a06w"><em id="2a06w"></em></button></sup>
    <dfn id="2a06w"><var id="2a06w"></var></dfn>
    <dfn id="2a06w"></dfn>
  • <dfn id="2a06w"><code id="2a06w"><ins id="2a06w"></ins></code></dfn>
  • <small id="2a06w"><samp id="2a06w"></samp></small>
  • <dfn id="2a06w"><table id="2a06w"><center id="2a06w"></center></table></dfn>
    <label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label>
    <strike id="2a06w"><form id="2a06w"></form></strike>
    <menu id="2a06w"><tt id="2a06w"></tt></menu>