找回密碼
 申請加入
搜索
查看: 1024|回復: 1

標準網頁設計 -- 用更標準的方法設計網頁

[複製鏈接]
xweb 發表於 2008-7-20 06:23:18 | 顯示全部樓層 |閱讀模式

內容(XHTML)+表現(CSS)=頁面(PAGE)
內容與表現分開,就是內容使用HTML,XHTML,而怎麼對內容排版,顯示使用CSS

 

 

標準網頁的優點:

  1. 內容語法更少,更容易維護.
  2. 頁面下載更快,頻寬要求更低,硬碟容量需求更少.
  3. 排版更加方便,並且清晰明瞭.
  4. 可以提高使用性與可擴展性,可以適應很多其它的設備﹕
    • 搜尋引擎,如Google、Yahoo
    • RSS閱讀器
    • 印表機
    • 手持設備,如﹕PDA上網
    • 移動設備,如﹕手機上網
  5. 內容與表現分離,使擴展更加簡單,分工協作更加簡單.
 樓主| xweb 發表於 2008-7-20 06:24:13 | 顯示全部樓層

XHTML 和HTML 4的區別

 

XHTML是XML的一種應用,基於這一事實。那些在以SGML為基礎的HTML 4中完全合法的用法應當被改變。

文檔應該是良構的
良構(Well-formedness)[1]是由XML[2] 引入的一個新概念。也就是說所有的元素都必須有結束標籤或者以特殊的方式書寫(如下所述),而且所有的標籤必須合理地嵌套。
儘管如此,交叉使用在SGML中仍然是合法的,而且在現有的瀏覽器中也能夠被廣泛接受。

正確的:元素嵌套

<p><em>這是一個被強調的段落。</em></p>


錯誤的:元素交叉

<em><p>這是一個被強調的段落。</em></p>


元素名和屬性必須統一小寫
XHTML文檔把所有的HTML元素名和屬性名都小寫。
這個區別是必須的,因為XML是大小寫敏感的。比如,<li>和<LI>是完全不同的兩個標籤。

對於非空標籤,也需要結束標籤
基於SGML的HTML 4里面,允許特定的標籤省略結束標籤;這些元素暗含有結束標記。XML不允許省略結束標記。所有元素包括在DTD中聲明為 空的標籤都必須有結束標籤。在DTD中聲明為空的元素可以用結束標籤或者使用空元素速記法。

正確的:結束的元素

<p>這是一個段落。</p><p>這是另一個段落。</p>


錯誤的:沒有結束的元素

<p>這是一個段落。<p>這是另一個段落。


屬性值必須總是使用引號包裹
所有的屬性值都必須使用引號包含,包括那些以數值類型出現的。

正確的:屬性值使用引號

<td rowspan="3">


錯誤的:屬性值沒有使用引號

<td rowspan=3>


禁止屬性簡化
XML不支持屬性簡化,屬性值對必須書寫完整。屬性名,像compact和checked在沒有指定具體值的情況下不能夠使用。

正確的:沒有簡化屬性

<dl compact="compact">


錯誤的:簡化屬性

<dl compact>


空元素
空元素必須有一個結束標籤,或者用/>來結束開始標籤。例如,<br/>或者<hr></hr> 。

正確的:結束空標籤

<br/><hr/>


錯誤的:沒有結束空標籤

<br><hr>


屬性值中空白字元的處理
當客戶端在處理屬性時,它們依據的是XML的章節3.3.3

祛除前綴和後綴的空白字元。
將一個或多個空白字元序列映射為單個詞間空格。


腳本和樣式元素
在XHTML裡面,腳本和樣式的元素被聲明為具有 #PCDATA 內容。因此,<和&會被認為是標記的開始,另外&lt;和 &amp;會被認為 XML 解釋器認為是實體映射被分別解釋成為<和&。從而將腳本或者樣式元素包裹在 CDATA 標記的部分以避免這些實體擴展。

<script type="text/javascript"> // <![CDATA[ ... 沒有轉義處理的內容... // ]]></script>


在文檔對象模型中,CDATA部分被XML解釋器認為是節點,參見文檔對象模型  章節1.3 的第一級別推薦 [3] 。 一種替代方法就是使用外部的腳本和樣式文件。

SGML 排斥
SGML賦予DTD作者將特定的元素排斥在某個元素之外的能力。
此種限制(被稱為排斥)在XML中是不可能的。
例如,HTML 4的嚴格文檔類型描述禁止「a 」作為子元素嵌套在其他「a 」的內部。這在XML中是不可能檢查出這種限制的。儘管這種限制無法在DTD中定義,也不要嵌套使用某些特定的元素。

擁有「 id」和「 name」屬性的元素
HTML 4定義了a, applet, form, frame, iframe, img, and map元素的 name屬性。
HTML 4還引入了id屬性。
這兩個屬性被設計用作片段標識符。
在XML裡面,片段標識符是ID類型的,而且每個元素只能擁有單一的ID類型的屬性。
所以,在XHTML 1.0中id屬性被定義為ID類型。
為了確保XHTML 1.0文檔是構建優良的XML文檔,XHTML 1.0文檔在為以上所列元素定義片段標識符時必須使用id屬性。當XHTML文檔作為text/html媒體類型使用時,確保此類錨點的向後兼容性信息參見[http://www.w3.org/TR/xhtml1/#guidelines|HTML 兼容性指南。

擁有預設值的屬性
有一些屬性在HTML 4和XHTML中都有一套預設值(比如input元素的type屬性)。
在SGML和XML中,這些被稱為枚舉屬性。
在HTML 4里這些值的解釋是不分大小寫的,所以值TEXT等同於text。在XML裡,這些值的解析是區分大小寫的,在XHTML1中,所有的這些值定義為小寫。

十六進位值的實體映射
SGML和XML都允許使用十六進位的數值來映射字元。在SGML裡這些映射可以使用&#Xnn;或者&#xnn;。在XML文檔中,必須使用小寫的方式(比如,&#xnn;)。

回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 申請加入

本版積分規則

手機版|小黑屋|Xwebs & You ( ◇◆重要聲明◆◇本討論區是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。由於討論區是受到「即時留言」運作方式所規限,故不能完全監察所有即時留言,若讀者發現有留言出現問題,請聯絡我們。本站有權刪除任何留言及拒絕任何人士留言,同時亦有不刪除留言的權利。切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。 )

GMT+8, 2025-11-14 05:12

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回復 返回頂部 返回列表