描述性列表UL和DL的表現(xiàn)形式

之前就見過很多網(wǎng)站在側(cè)邊欄上使用<dl />標(biāo)簽對(duì)來完成側(cè)邊欄欄目的布局,最近在研究DEDECMS的默認(rèn)模板時(shí),也發(fā)現(xiàn)該模板在大量的地方使用<dl></dl>標(biāo)簽對(duì)來完成頁(yè)面的布局,比如模板首頁(yè)的欄目循環(huán)以及側(cè)邊欄的欄目都是用<dl></dl>標(biāo)簽對(duì)來實(shí)現(xiàn)的。而在研究全球使用數(shù)最多的博客程序Wordpress時(shí),發(fā)現(xiàn)它的側(cè)邊欄卻是使用的是最常見的<ul></ul>列表來實(shí)現(xiàn)的。
同樣的布局<dl />與<ul />都可以實(shí)現(xiàn),并且就最終的表現(xiàn)來看并不存在區(qū)別,那么這兩者之間到底有什么區(qū)別呢?或者說使用哪一個(gè)來完成布局才更為合理呢?
<ul />與<ol />是最常見兩種列表表現(xiàn)形式,這兩種列表最本質(zhì)上的區(qū)別就是<ul />指的是無序列表而<ol />指的是有序列表。最常見的兩種不同表現(xiàn)是:平常所見的新聞標(biāo)題列表基本上都是由<ul />來完成布局的,而很多網(wǎng)站的側(cè)邊欄上會(huì)有一些新聞點(diǎn)擊數(shù)排行榜之類的列表,這個(gè)時(shí)候就需要使用到有序列表<ol />,因?yàn)榭梢院苋菀椎耐ㄟ^<ol />標(biāo)注出排行順序來。
回過頭來我們看Wordpress側(cè)邊欄的結(jié)構(gòu)代碼:
<div id=”sidebar”>
<ul>
<li><h2>欄目標(biāo)題一</h2>
<ul>
<li>新聞標(biāo)題一</li>
…
<li>新聞標(biāo)題N</li>
</ul>
</li>
…
<li><h2>欄目標(biāo)題N</h2>
<ul>
<li>新聞標(biāo)題一</li>
…
<li>新聞標(biāo)題N</li>
</ul>
</li>
</ul>
</div>
很顯然,這是一個(gè)<ul />嵌套<ul/>的結(jié)構(gòu),通過<h2 />去顯示欄目標(biāo)題(補(bǔ)充一點(diǎn):對(duì)于博客來說,就頁(yè)面中的內(nèi)容重要程度而言,這里并不適合使用<h2 />標(biāo)簽來顯示欄目標(biāo)題,<h2 />標(biāo)簽應(yīng)該是用在日志標(biāo)題上的)。
很多使用<dl />來布局的網(wǎng)站的結(jié)構(gòu)代碼如下:
<div id=”sidebar”>
<dl>
<dt>欄目標(biāo)題一</dt>
<dd>
<ul>
<li>新聞標(biāo)題一</li>
…
<li>新聞標(biāo)題N</li>
</ul>
</dd>
…
<dt>欄目標(biāo)題N</dt>
<dd>
<ul>
<li>新聞標(biāo)題一</li>
…
<li>新聞標(biāo)題N</li>
</ul>
</dd>
</dl>
</div>
這是一個(gè)復(fù)雜表現(xiàn)上的定義列表,與上一個(gè)結(jié)構(gòu)代碼的最大的區(qū)別是使用<dt />來替代<h2 />標(biāo)簽。簡(jiǎn)單意義上的定義列表結(jié)構(gòu)如下:
<div id=”sidebar”>
<dl>
<dt>標(biāo)題一</dt>
<dd>內(nèi)容一</dd>
…
<dd>內(nèi)容N</dd>
…
<dt>標(biāo)題N</dt>
<dd>內(nèi)容一</dd>
…
<dd>內(nèi)容N</dd>
</dl>
</div>
這種結(jié)構(gòu)的代碼也可以表現(xiàn)出列表的形式,但事實(shí)上這種結(jié)構(gòu)并不太適合做為一個(gè)列表來使用,這種簡(jiǎn)單的<dl />更適合做為不同內(nèi)容段的描述。比如:
<dl>
<dt>我的照片</dt>
<dd>作者:攝氏度</dd>
<dd>相機(jī):佳能400D</dd>
<dt>我的博客</dt>
<dd>作者:攝氏度</dd>
<dd>程序:wordpress</dd>
</dl>
于是我們可以理解為:<dl />標(biāo)簽結(jié)構(gòu)更多的是表現(xiàn)一種描述性的列表,它本身并不具備做為列表顯示的意義。當(dāng)<dl />與<ul />或是<ol />標(biāo)簽結(jié)構(gòu)組合起來使用時(shí),才能更好的表現(xiàn)出描述列表的作用。
之前的那個(gè)被指為不符合標(biāo)簽語義的試驗(yàn)《使用UL進(jìn)行寬度固定的多行多列布局》,現(xiàn)在換成<dl />標(biāo)簽來做是否就適合標(biāo)簽語義化了呢?
相關(guān)文章
- CSS Grid 是一種二維布局系統(tǒng),可以同時(shí)控制行和列,相比 Flex(一維布局),更適合用在整體頁(yè)面布局或復(fù)雜模塊結(jié)構(gòu)中,這篇文章主要介紹了前端CSS Grid 布局詳解,需要的朋2025-04-16
CSS Padding 和 Margin 區(qū)別全解析
CSS 中的 padding 和 margin 是兩個(gè)非?;A(chǔ)且重要的屬性,它們用于控制元素周圍的空白區(qū)域,本文將詳細(xì)介紹 padding 和 margin 的概念、區(qū)別以及如何在實(shí)際項(xiàng)目中使用它們2025-04-07- will-change 是一個(gè) CSS 屬性,用于告訴瀏覽器某個(gè)元素在未來可能會(huì)發(fā)生哪些變化,本文給大家介紹CSS will-change 屬性詳解,感興趣的朋友一起看看吧2025-04-07
- 本文給大家分享在 CSS 中,去除a標(biāo)簽(超鏈接)的下劃線的幾種方法,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-04-07
- 在前端開發(fā)中,CSS(層疊樣式表)不僅是用來控制網(wǎng)頁(yè)的外觀和布局,更是實(shí)現(xiàn)復(fù)雜交互和動(dòng)態(tài)效果的關(guān)鍵技術(shù)之一,隨著前端技術(shù)的不斷發(fā)展,CSS的用法也日益豐富和高級(jí),本文將2025-04-07
css中的 vertical-align與line-height作用詳解
文章詳細(xì)介紹了CSS中的`vertical-align`和`line-height`屬性,包括它們的作用、適用元素、屬性值、常見使用場(chǎng)景、常見問題及解決方案,感興趣的朋友跟隨小編一起看看吧2025-03-26淺析CSS 中z - index屬性的作用及在什么情況下會(huì)失效
z-index屬性用于控制元素的堆疊順序,值越大,元素越顯示在上層,它需要元素具有定位屬性(如relative、absolute、fixed或sticky),本文給大家介紹CSS 中z - index屬性的作用2025-03-21- 文章詳細(xì)介紹了CSS中的打印媒體查詢@mediaprint包括基本語法、常見使用場(chǎng)景和代碼示例,如隱藏非必要元素、調(diào)整字體和顏色、處理鏈接的URL顯示、分頁(yè)控制、調(diào)整邊距和背景等2025-03-18
CSS模擬 html 的 title 屬性(鼠標(biāo)懸浮顯示提示文字效果)
本文介紹了如何使用CSS模擬HTML的title屬性,通過鼠標(biāo)懸浮顯示提示文字效果,通過設(shè)置`.tipBox`和`.tipBox.tipContent`的樣式,實(shí)現(xiàn)了提示內(nèi)容的隱藏和顯示,感興趣的朋友一起2025-03-10前端 CSS 動(dòng)態(tài)設(shè)置樣式::class、:style 等技巧(推薦)
本文介紹了Vue.js中動(dòng)態(tài)綁定類名和內(nèi)聯(lián)樣式的兩種方法:對(duì)象語法和數(shù)組語法,通過對(duì)象語法,可以根據(jù)條件動(dòng)態(tài)切換類名或樣式;通過數(shù)組語法,可以同時(shí)綁定多個(gè)類名或樣式,此外2025-02-26