DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> HTML基礎知識 >> HTML和Xhtml >> 語義化的網頁 XHTML語義化標記
語義化的網頁 XHTML語義化標記
編輯:HTML和Xhtml     

分離結構與表現的另一個重要方面是使用語義化的標記來構造文檔內容。一個 XHTML 元素的存在就意味被標記內容的那部分有相應的結構化的意義,沒有理由使用其他的標記。換句話說,不要讓 CSS 使一個 HTML 元素看起來就像另一個 HTML 元素,比如用<div>來代替<p>標記標題。

首先是關於語義(Semantics)和默認樣式的區別,默認樣式是浏覽器設定的一些常用tag的表現形式,個人認為他的主要目的就是讓大家直觀的認識標簽(markup)和屬性(attribute)的用途和作用,很明顯Hx系列看起來很像標題,因為擁有粗體和較大的字號。<strong>,<em>用來區別於其他文字,起到了強調的作用。至於列表和表格很明顯的告訴你他們是做什麼的。

其次,語義化的網頁的好處,最主要的就是對搜索引擎友好,又了良好的結構和語義你的網頁內容自然容易被搜索引擎抓取,你網站的推廣便可以省下不少的功夫。

具體的語義和用途在,XHTML1.0 TAG 參考中都已經說明,這裡將一些容易遺忘或者混淆的TAGS和屬性予以補充。

<Hx>

<h1>、<h2>、<h3>、<h4>、<h5>、<h6>,作為標題使用,並且依據重要性遞減。<h1>是最高的等級。
例如:

復制內容到剪貼板
代碼:
<h1>文檔標題</h1>
<h2>次級標題</h2>
而不要使用
<div class="title">文檔標題</div>,或者<span class="title">文檔標題</span>.很明顯搜索引擎對於後者是不會認為他是標題的。

<p>

段落標記,知道了<p>作為段落,你就不會再使用<br/>來換行了,而且不需要<br/><br/>來區分段落與段落。<p></p>中的文字會自動換行,而且換行的效果優於<br>。段落與段落之間的空隙也可以利用CSS來控制,很容易而且清晰的區分出段落與段落。在利用行高(line-height)很容易的定義出行間距,再定義首字下沉等效果,那就挺完美了。
例如: 復制內容到剪貼板
代碼:
<p>藍色理想 www.blueidea.com 誕生於1999年的10月。從成立之初,藍色理想就以建設網站設計與開發人員之家為宗旨,以介紹網絡開發技術與網站創作設計交流為主要內容。其網站內容制作精良,每天都會有會員精心制作的教程發布,無私地對網友進行幫助,而且還舉辦過不少設計比賽並開發了很多目前仍被許多網站應用的相關程序。而所發布的作品與點評受到了多家媒體關注及行家的好評,同時也從中確立了自己的社會地位,於是一批又一批的網絡同仁加盟了藍色理想,成為國內最大的設計類站點之一。
</p>
<p>多年來,藍色理想的內容不斷充實,先後被國內一些知名網站、傳統媒體重點推介過,並陸續被Google、百度、雅虎、搜狐、新浪、Excite等各大搜索站點收藏,並在Google、百度、Yahoo三大搜索引擎中以簡體漢字關鍵詞"網站設計與開發”搜索排名均為第一,現在藍色理想已發展成為國內影響最大的網站設計、開發的專業網站之一。</p>
<ul>、<ol>、<li>

<ul>無序列表,很常見的到了大家廣泛的使用,<ol>有序列表也挺常用。在web標准化過程中,<ul>還被更多的用於導航條,本來導航條就是個列表,這樣做是完全正確的,而且當你的浏覽器不支持CSS的時候,導航鏈接仍然很好使,就是美觀方面差了一點。
例如: 復制內容到剪貼板
代碼:
<ul>
<li>項目一</li>
<li>項目二</li>
<li>項目三</li>
</ul>
復制內容到剪貼板
代碼:
<ol>
<li>第一章</li>
<li>第二章</li>
<li>第三章</li>
</ol>
<dl>、<dt>、<dd>

dl就是“定義列表”。比如說詞典裡面的詞的解釋、定義就可以用這種列表。
例如: 復制內容到剪貼板
代碼:
<dl>
<dt>Dog</dt>
<dd>A carnivorous mammal of the family Canidae.</dd>
</dl>
復制內容到剪貼板
代碼:
<dl>
<dt>上海灘</dt>
<dd>這部拍攝於1980年的《上海灘》堪稱是香港電視史上最成功、最經典的劇集。
當年在香港播出以後,產生了巨大的轟動效應。</dd>
<dt>周潤發</dt>
<dd>和所有偉大的影星一樣,周潤發印證了一個時代,一個香港電影的黃金時代。
風衣墨鏡、冷血雙槍、陽光微笑,都封存膠片之中,當我們回首尋望的時候,發哥已被刻為一個時代的坐標。</dd>
</dl>
<cite>、cite 、<q>、 <blockquote>

論壇和blog經常會用到引用別人的話,用<q>來標記簡短的單行引用。Web浏覽器會自動識別在<q> 之間的內容。不幸的是,IE不能識別,並且有些時候, <q>會引起一些可訪問性(Accessibility)的問題。正因為如此,一些人建議盡量不要使用 <q>,手動的插入引用標記。在一個包含適當的類的 <span>中加入單行的引用內容,那麼就可以用CSS來給引用設計樣式了,但是這個沒有語義上的意義。 您可以讀讀Mark Pilgrim寫的The Q tag   (http://diveintomark.org/archives/2002/05/04/the_q_tag )關於處理<q>相關問題的看法。
對於那些一段或者好幾段的長篇引用,就應當使用 <blockquote>了。CSS可以用來定義引用的樣式。注意,一段文章是不可以直接放在<blockquote>中的,引用的內容還必須包含在一個元素中,通常是<p>。屬性cite既可以與<q> 一起用,也可以與<blockquote>一起用,用來提供引用內容的來源地址。需要注意的是,如果你使用 <span>來代替 <q>標記引用內容,那麼你就不能使用 cite屬性了。

例如: 復制內容到剪貼板
代碼:
<cite>Designing with Web Standards</cite> is an excellent book by Jeffrey Zeldman. 復制內容到剪貼板
代碼:
<p> <cite>孔子</cite>曰:<q>學而不思則罔,思而不學則殆</q>.</p> 復制內容到剪貼板
代碼:
<p>The W3C says that <q cite="http://www.w3.org/TR/REC-html40/
struct/text.html#h-9.2.1">The presentation of phrase elements
depends on the user agent.</q>.</p>
復制內容到剪貼板
代碼:
<blockquote cite="http://www.w3cn.org/">
<p>“我們大部分人都有深刻體驗,每當主流浏覽器版本的升級,我們剛建立的網站就可能變得過時,
     我們就需要升級或者重新建造一遍網站。例如1996-1999年典型的"浏覽器大戰",
     為了兼容 Netscape 和 IE,網站不得不為這兩種浏覽器寫不同的代碼。同樣的,
     每當新的網絡技術和交互設備的出現,我們也需要制作一個新版本來支持這種新技術或新設備,
     例如支持手機上網的 WAP 技術。類似的問題舉不勝舉:網站代碼臃腫、繁雜浪費了我們大量的帶寬;
     針對某種浏覽器的 DHTML 特效,屏蔽了部分潛在的客戶;不易用的代碼,殘障人士無法浏覽網站等等。
     這是一種惡性循環,是一種巨大的浪費。”</p>
</blockquote>
<em>、 <strong>

<em> 是用作強調的,<strong>是用作重點強調的。 大部分浏覽器用斜體顯示強調的內容,用粗體來顯示重點強調的內容,然而,這是沒有必要的,如果是為了確定強調內容的顯示方式,最好的方法就是使用CSS來定義他們的表現。當你想要的只是視覺上的效果時,就不要使用強調了。而且如果你想要強調但是還覺得粗體或者斜體不視覺效果沒那麼好,特別是斜體對於中文來說,那麼你完全可以定義一些其他的比較醒目的樣式達到強調的效果。
例如: 復制內容到剪貼板
代碼:
<p><em>強調</em> 的文本通常用斜體顯示,
然而, <strong>特別強調</strong> 的文本通常以粗體顯示。</p>
<table>、<td>、<th>、< caption >、 summary

XHTML中的表格不應用來布局。然而如果是為了標記列表的數據,就應該使用表格了。<th>為表格標題,屬性summar為摘要,<caption>標簽為首部說明,<thead>標簽為表格頭部,<tbody>標簽為表格主體內容,<tfoot>標簽為表格尾部。
其中還可以使用scope 可用於取代headers屬性,標記含有表頭信息的單元格,其中各數值的內容如下:
 row 指示當前單元格,為包含當前單元格的行提供相關的表頭信息。
 col 指示當前單元格,為根據當前單元格指定的列提供相應的表頭信息。
 rowgroup 指示當前單元格,為包含當前單元格的其余行組提供相關的表頭信息。
 colgroup 指示當前單元格,為根據當前單元格指定的其余列組提供相應的表頭信息。
abbr 用於定義表頭單元格中的縮寫名,如果沒有定義該屬性,則將默認單元格內容為節略形式。
例如: 復制內容到剪貼板
代碼:
<table id="mytable" cellspacing="0" summary="The technical specifications of the Apple PowerMac G5 series">
<caption>Table 1: Power Mac G5 tech specs </caption>
   <tr>
<th scope="col" abbr="Configurations" class="nobg">Configurations</th>
<th scope="col" abbr="Dual 1.8">Dual 1.8GHz</th>
<th scope="col" abbr="Dual 2">Dual 2GHz</th>
     <th scope="col" abbr="Dual 2.5">Dual 2.5GHz</th>
   </tr>
   <tr>
<th scope="row" abbr="Model" class="spec">Model</th>
<td>M9454LL/A</td>
<td>M9455LL/A</td>
<td>M9457LL/A</td>
   </tr>
   <tr>
<th scope="row" abbr="G5 Processor" class="specalt">G5 Processor</th>
<td class="alt">Dual 1.8GHz PowerPC G5</td>
<td class="alt">Dual 2GHz PowerPC G5</td>
<td class="alt">Dual 2.5GHz PowerPC G5</td>
   </tr>
   <tr>
<th scope="row" abbr="Frontside bus" class="spec">Frontside bus</th>
<td>900MHz per processor</td>
<td>1GHz per processor</td>
<td>1.25GHz per processor</td>
   </tr>
   <tr>
<th scope="row" abbr="L2 Cache" class="specalt">Level2 Cache</th>
<td class="alt">512K per processor</td>
<td class="alt">512K per processor</td>
<td class="alt">512K per processor</td>
   </tr>
</table>
效果察看:http://www.blueidea.com/articleimg/2006/02/3228/csstables.htm

<dfn> 復制內容到剪貼板
代碼:
<p><dfn title="Microsoft web browser">Internet Explorer</dfn> is the most popular browser used underwater.</p> <ins>, <del>

知道del,就不要再用<s>做刪除線了,用del顯然更具有語義化。而且del還帶有cite和datetime來表明刪除的原因以及刪除的時間。ins是表示插入,也有這樣的屬性。
例如: 復制內容到剪貼板
代碼:
<p>It really was <ins cite="rarara.html" datetime="20031024">very</ins> good.</p> <code>

表示是計算機代碼。而默認樣式為打字體。技術論壇和blog中經常遇到。
例如: 復制內容到剪貼板
代碼:
<code>p{margin:2px 0;}</code> <abbr>、<acronym>

<abbr>標簽是表示web頁面上的簡稱,<acronym>標簽為取首字母縮寫。(注:這裡把簡稱和縮寫分開而論,簡稱范圍比縮寫大,取首字母的縮
寫用<acronym>標簽)Windows的IE6.0以下的浏覽器暫不支持<abbr>標簽。 在IE裡,你可以應用CSS給<acronym>但是不能應用給<abbr>標簽,
IE會為<acronym>標簽的title屬性顯示提示,但是會忽略<abbr>標簽。
解決方法見: http://www.w3cn.org/article/translate/2005/115.html
例如: 復制內容到剪貼板
代碼:
<abbr title="Cascading Style Sheets">CSS</abbr> 復制內容到剪貼板
代碼:
<acronym title="Cascading Style Sheets">CSS</acronym > alt屬性和title屬性

title屬性用來為元素提供額外說明信息title屬性可以用在除了base,basefont,head,html,meta,param,script和title之外的所有標簽。但是並不是必須的。
alt屬性為不能顯示圖像、窗體或applets的用戶代理(UA),指定替換文字。替換文字的語言由lang屬性指定。 復制內容到剪貼板
代碼:
<img src="/img/common/logo.gif" width="90" height="27" alt="bluediea.com"> 復制內容到剪貼板
代碼:
<a href="http://www.jluvip.com/blog/article.asp?id=260" title="js獲取單選按鈕的數據">js獲取單選按鈕的數據</a> 參考資料:
默認樣式:
http://www.w3cn.org/article/tips/2005/116.html
http://www.w3.org/TR/CSS21/sample.html
語義化:
http://www.456bereastreet.com/lab/developing_with_web_standards/zh
http://www.456bereastreet.com/lab/developing_with_web_standards
http://www.w3cn.org/article/translate/2005/114.html
http://www.w3cn.org/article/translate/2005/114.html
http://www.junchenwu.com/2005/11/html_tags.html
http://brainstormsandraves.com/articles/semantics/structure/
http://www.w3.org/TR/html401/struct/text.htm
http://www.simplebits.com/bits/simplequiz/

資源鏈接:
Bad Tags:
http://www.htmldog.com/guides/htmlintermediate/badtags/
The Q tag
http://diveintomark.org/archives/2002/05/04/the_q_tag
HTML, XHTML, semantics and the future of the web
http://www.westciv.com/style_master/house/good_oil/xhtml/index.html
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved