你可能不知道的html

肖恩不是小羊發表於2019-01-23

最近追更winter老師的重學前端,發現自己平時 div + span 寫慣了,很多html標籤的用法都不清楚。雖然 div + span 就可以解決絕大多數的問題,但是語義化的標籤確實能讓程式碼的可讀性更高。記錄一下。

之前語義化標籤我基本上只用到header、nav、section、footer、aside,article用到的場景不多。 我之前以為aside標籤就是側邊導航,現在發現aside其實不僅僅包含導航,它可以放任何在側邊的內容,比如側邊的廣告、側邊文章的標題列表(aside包含nav的關係)。

address標籤

乍看這個標籤通常會以為這個標籤裡包含的是一個地址,其實不然。 address標籤通常定義文件或者文章作者的聯絡資訊,而不是一個地址。

w3school裡介紹的:

<address> 標籤定義文件或文章的作者/擁有者的聯絡資訊。

如果 <address> 元素位於 <body> 元素內,則它表示文件聯絡資訊。

如果 <address> 元素位於 <article> 元素內,則它表示文章的聯絡資訊。

<address> 元素中的文字通常呈現為斜體。大多數瀏覽器會在 address 元素前後新增折行。

最後還給了一個提示

提示:<address> 元素通常連同其他資訊被包含在 <footer> 元素中。

hgroup標籤

hgroup標籤通常用於給標題分級。我們都知道html有 <h1> - <h6> 的標籤用於標題。
但試想這樣一個情況:你有兩級標題,一級標題用<h1>,一級標題還有個副標題用了<h2>, 二級標題用了<h3>。
在結構上這些標題分成了三級,這跟你預期的不一樣,這個時候,我們用hgroup標籤將前兩個包起來,它們就成為同一層級的了。

<hgroup>
    <h1>一級標題</h1>
    <h2>副標題</h2>
</hgroup>
<h3>二級標題</h3>
複製程式碼

em標籤

em標籤的使用有點像我們平時講話的重音。

比如:我們中出了一個叛徒
<p>我們中出了一個叛徒。<p/>

這句話如果重音不一樣,表達的意思也是不同的:

我們中出了一個 叛徒。
我們 中出 了一個叛徒。

你看,意思就不同了吧。而em標籤就可以用來區分重音。

<p>我們中出了一個<em>叛徒</em>。<p/>

<p>我們<em>中出<em/>了一個叛徒。<p/>

nice

ruby標籤

ruby標籤用來給字元註釋,簡單來說就像雙語字幕,下面是文字,上面是註釋。這個用法好像是從日本那邊學來的,所以w3c上說是一般東亞使用。
瀏覽器的話不支援ie8及以下。

w3c上的示例:

 <ruby>
  漢            //要註釋的文字
  <rt>          //rt包含註釋內容
    <rp>(</rp>  //rp只有在支援的瀏覽器上才顯示
    ㄏㄢˋ
    <rp>)</rp>
  </rt>
</ruby>
複製程式碼

如果瀏覽器支援:

你可能不知道的html

不支援的話就不會分行:(應該是這個樣子,我電腦上沒有ie)

漢 (ㄏㄢˋ)

abbr標籤

abbr標籤指示簡稱或縮寫。看一個w3school給出的例子:

The <abbr title="People's Republic of China">PRC</abbr> was founded in 1949.
複製程式碼

blockquote標籤 和 q標籤

這兩個標籤都用來表示引用。
不同的是:blockquote一般用來表示塊引用,q一般用來表示行引用。
表現效果也不太一樣:blockquote引用的內容外邊距會增大,q引用內容會在給內容加上雙引號。

cite標籤

cite標籤用來定義作品(比如書籍、歌曲、電影、電視節目、繪畫、雕塑等等)的標題。

time標籤

time標籤用來定義日期或者時間。

<p>我們在每天早上 <time>9:00</time> 起床。</p>
<p>我在 <time datetime="2019-02-14">情人節</time> 是條鹹魚。</p>
複製程式碼

figure標籤 和 figcaption標籤(IE9及以上)

菜鳥教程上給出的定義是:

<figure> 標籤規定獨立的流內容(影像、圖表、照片、程式碼等等)。

<figure> 元素的內容應該與主內容相關,同時元素的位置相對於主內容是獨立的。如果被刪除,則不應對文件流產生影響。

<figcaption> 標籤定義 figure 元素的標題(caption)。

"figcaption" 元素應該被置於 "figure" 元素的第一個或最後一個子元素的位置。

也就是我們常用的 標題+圖片 的形式可以用 figure + figcaption 來表現

<figure>
  <figcaption>一張不知道是什麼圖片的標題</figcaption>
  <img src="https://user-gold-cdn.xitu.io/2019/2/16/168f42652efede80?w=248&h=186&f=jpeg&s=3237" width="350" height="240" />
</figure>
複製程式碼

效果:

一張不知道是什麼圖片的標題
你可能不知道的html

此外,還有類似 samp、code等用作計算機程式輸出的標籤。 再做一點補充(圖片轉自winter老師的重學前端04):

你可能不知道的html


先記這麼多,有不對的地方歡迎指正~

相關文章