前端設計建議多用 ul dt dl 等元素,少用 div 嗎?
我們這的一個小女孩,經常用 dt dl dd 元素,我要她替換成 div,她說,前端設計建議這麼做,多用 ul dt dl 等元素,少用 div。有這種說法嗎?
用標籤看個人理解,div和span確實沒有語義,
也確實推薦用過有語義的標籤,但到了具體的場景中,
要根據上下文以及個人理解來定,沒有標準答案
@依雲 IE7以及IE7以下版本IE瀏覽器不支持:after之類的偽類
我實在忍不住來回答這個問題了,因為之前專門寫過一篇關於語義化的文章。http://www.smallni.com/?p=146
標籤語義化:用合理HTML標記以及其特有的屬性去格式化文檔內容
基本所有的html標籤都是一個單詞或者片語的縮寫,這樣其實本意是更便於我們對語義化的理解。其實所有的(x)html標籤中,除 了&和&2個無語義的標籤,其他標籤都有它存在的意義,只有知道有哪些標籤,以及對各個標籤的本義做一個了解 才能知道去用它。你不知道何時用&
- 定義列表標籤?又如果你不知道有&標籤?
標籤 原單詞 說明 語義化(Y/N)
h1-h6 head 定義 HTML 標題 Y
p paragraph 定義段落 Y
ul unordered list 定義無序列表 Y
ol ordered list 定義有序列表 Y
li list item 定義列表的項目 Y
dl definition list 定義定義列表 Y
dt definition term 定義定義列表中的項目 Y
dd definition description 定義定義列表中項目的描述 Y
table table 定義表格 Y
thead table head 定義表格中的表頭內容 Y
tbody table body 定義表格中的主體內容 Y
th table head cell 定義表格中的表頭單元格 Y
tr table row 定義表格中的行 Y
td table data cell 定義表格中的單元 Y
a anchor 定義錨 Y
img image 定義圖像 Y
div division 定義文檔中的節 N
span span 定義文檔中的節 N
如果在一個頁面中看到的基本全是div,那麼說明你對語義化標籤的使用還不是很明白:明明是一個標題,可以用&
標籤來實現,卻非要用無語義的&標籤來實現,又或者一個段落,用&
標籤是否更語義?
非語義化的實現方式:http://ued.ctrip.com/blog/wp-content/uploads/2011/11/no_emantic_html.html
語義化的實現方式:http://ued.ctrip.com/blog/wp-content/uploads/2011/11/emantic_html.html
在html5未誕生之前,我們可以用&或者&來做一些模塊的架構,要知道何時用&&,&是 division的縮寫,為區塊、間隔的意思,和&,我們在做一個無語義的架構時就可以用到&或者&(用於行內)。
從今天看來語義化的好處已逐漸明朗和開放開來:
手持移動設備的無障礙閱讀
手持移動設備如PDA、智能手機等可能對CSS的解析能力較弱,這時可能就需要更語義的標籤來體現一個頁面的易讀性
盲人等一些障礙人士的閱讀
屏幕閱讀器對不同標籤所發出的聲音是不同的,使用更語義的標籤以能傳達不同信息的重要性
搜索引擎的友好收錄
雖然各大搜索引擎的排名規則不斷的再變化,但規則里的正則始終是要匹配標籤的,如果能用更語義的標籤,蜘蛛爬行能夠根據標籤的使用來確定上下和各關鍵字的權重。
技術趨勢所趨
正如html誕生時的初衷那樣,各個標籤的本義就是希望能在特定的地方使用合適的標籤,而不是去用樣式來表現一個不語義的標籤。html5新增了更多的語 義化的標籤,原本用&&
最後要說的是,是因為你不了解其他的標籤才會去濫用&,這也是由於當初從&