我看一些招聘要求上都有"熟悉Web語義化"這一詞和"理解/熟悉/精通web標準".而標簽語義化就是web標準的一部分,所以我就把自己以前發在博客園的一篇貼子小修改一下,再貼過來...希望前端入門的er們能知道有這么個東西.
記得有一次恐怖的經歷,那個頁面嵌套了不知是十幾層還是幾十層div.讓我看的時候立馬頭暈...其中有些能用span標簽,能用p標簽的,也用div.能用h1,hx的也用div標簽.真是讓人很無語啊..這個時候我多么希望該開發者有點"語義化標簽"的概念和行動啊..那么
一:(理論)語義化標簽是什么?
語義化標簽就是盡量使用有相對應的結構的含義的Html的標簽,以Table為例:
<table>
<tr>
<td>消費項目</td>
<td>消費金額</td>
</tr>
<tr>
<td>吃飯</td>
<td>20元</td>
</tr>
</table>
你看出了上面的Table有什么毛病嗎?嘿嘿,那你看這個語義化的標簽
<table>
<caption>花費記賬</caption>
<thead>
<tr>
<th>消費項目</th>
<th>消費金額</th>
</tr>
</thead>
<tbody>
<td>吃飯</td>
<td>20元</td>
</tbody>
</table>
這兩塊代碼的標簽不一樣,第二個表格的這些標簽代碼,無疑更符合Web標準.
<caption>:表格的標題;
<thead>:一表格的表頭;
<th>:表的某一列的列頭。
再說我們習以為常的
<title>博客園簡介</title><body>博客園是一個軟件開發的技術樂園,它于2004年創辦,這里...</body>
你看,為什么我們看一篇文章,一下就知道標題在哪呢?在瀏覽器的頂端。那為什么搜索引擎能抓取呢?就是它知道這個語義化標簽<title>里的就是文章標題,要是我們不遵守這個,而是:
<span>博客園簡介</span><span>博客園是一個軟件開發的技術樂園,它于2004年創辦,這里...<span>
那搜索引擎怎么就知道誰是標題,誰是內容了呢?它又靠什么去抓取標題呢?其實語義化不僅可以是標簽語義化,還可以延伸成結構語義化.舉例:
#left{float:left;margging-left:50px;}
#right{float:right;margin-top:100px;}
<div id="left">content..</div>
<div id="right">content..</div>
這個例子里對id的命名稍微有點夸張,但是類似的情況卻使有的,當我們想把#left這個div放到頁面的右邊,和#right調換位置時,難道你可以把樣式改成這樣?
#left{float:right;margin-left:50px;}
#right{float:left;margin-top:100px;}
那樣看著多別扭,多誤導人這兩個div的布局啊.
應該寫成這樣.
<div id="main">content..</div>
<div id="sidebar">content..</div>
那樣既一目了然這幾個div里是什么內容也方便對其中的樣式進行修改.
二:(理論)語義化標簽怎么樣?
1.結構更好,更利于搜索引擎的抓?。⊿EO的優化)和開發人員的維護(可維護性更高,因為結構清晰,so易于閱讀)。
2.更有利于特殊終端的閱讀(手機,個人助理等)。
三:(行動)語義化標簽怎么辦?
盡量用有結構含義的,少用無語義的,如<span>,<div>無意義,看不出是什么東西,可是<address>一看就知道這里面的是地址,em標簽一看就知道這個是強調的內容,區分于不同內容。
那么,怎么判斷你的頁面是否符合Web標準之一:語義化標簽呢?你可以把你的頁面暫時去掉樣式后看可讀性怎么樣,如果這個時候感覺你的頁面很亂,那就說明的的頁面的語義化標簽不怎么樣,而如果你的頁面去掉樣式了感覺依然不是雜亂無章的,那么,就說明你的頁面結構清晰,語義化標簽比較可以了。
這只是我的一點看法,希望拋磚引玉一下,看過的人把自己的想法也說出來,讓大家知道你的想法,也是完善此文。
新聞熱點
疑難解答