HTML基礎複習——語義化

HTML語義化

概念

官方解釋:
語義化是指用合理的HTML標記以及其特有的屬性去格式化文檔內容。通俗地講,語義化就是對數據和信息進行處理,使得機器能夠理解。html

個人理解:
在個人理解中語義化就是讓咱們寫的每一行代碼都有其意義,不只僅是程序實現和功能上而言,還必須能被人和機器很好的理解。簡單的說就是你寫的代碼應該是一箭雙鵰的,既要讓人讀懂也要讓機器讀懂。在HTML中就是告訴你們,每個標籤都是有它獨特的意義的和應用場景的,而不是隨便想用就用,想用什麼替換就用什麼替換。程序員

我認爲最好的理解就是將office中的Word與其對比。Word中從頭部頁眉、標題、正文再到頁腳都有單獨的樣式和設置,因此HTML也大同小異,就是爲了將網頁內容經過這些設置來呈現出來。包括我如今寫的文章是用Markdown來完成的,也是語義化的體現。瀏覽器

我將HTML的語義化分爲兩部分,一個是結構語義化,一個是標籤語義化,雖然這樣分會有點問題,但更有利於理解。ide

結構語義化

先從網頁的整個結構來講,最先的網頁就是來展示最基礎的新聞、文章之類的,只是如今的網頁設計更厲害了,在樣式上看着更加炫酷和多樣化,但本質上都是從最基本的結構作起的。能夠先看看世界上最先的網頁是什麼樣子:佈局

clipboard.png

通常來講咱們網頁的結構大體上能夠從下面這個圖來理解(固然佈局是能夠改變的):
clipboard.png網站

代碼展示:搜索引擎

<body>
    <!-- 頭部 -->
    <header></header>
    <!-- 頭部 -->

    <!-- 導航 -->
    <nav></nav>
    <!-- 導航 -->

    <!-- 主體內容 -->
    <main>
    
        <!-- 正文內容 -->
        <article>
            <!-- 章節 -->
            <section>
                <p></p>
            </section>
            <!-- 章節 -->
        </article>
        <!-- 正文內容 -->

        <!-- 正文以外內容 -->
        <aside></aside>
        <!-- 正文以外內容 -->
        
    </main>
    <!-- 主體內容 -->

    <!-- 底部 -->
    <footer></footer>
    <!-- 底部 -->
</body>

標籤語義化

結構語義化不也就是將標籤語義化嗎?是的,可是單獨拉出來講是由於除了整個網頁結構,其餘更多的細節咱們須要注意語義化。舉個例子,下面是騰訊某新聞版塊的網頁:spa

clipboard.png

如今咱們去掉其全部樣式後是這樣的:
clipboard.png設計

再看看它的源代碼
clipboard.pngcode

不難發現,在咱們將其網頁的全部樣式都去掉以後,仍是能清晰地讀完整篇文章,而且是井井有條的。這就是爲何要將標籤語義化。能夠看到文章的標題用到了<h1>標籤,全文就這一個大標題。而後整篇文章用<p>標籤將文段分開,沒有用<div>,由於<p>就表明一個段落,而<div>什麼都不表明。強調的部分用了<strong>標籤。你們知道CSS中的font-wight也能夠加粗文字,HTML的<b>標籤也能夠加粗文字,可是騰訊都沒有使用。由於CSS在沒有樣式的時候就無論用了,<b>標籤沒有強調的意思,而<strong>的語義更明顯。

這樣的例子還有不少不少,好比W3C的官方網站,在去掉全部CSS樣式以後,仍是能清楚地找到網頁的各個部分,瀏覽所需的內容,這就是一個優秀的網站應該作到的。

經常使用的語義化標籤(大部分擁有文本格式化的做用):

  • <em> 把文本定義爲強調的內容。
  • <strong> 把文本定義爲語氣更強的強調的內容。
  • <dfn> 定義一個定義項目。
  • <samp> 定義樣本文本。
  • <kbd> 定義鍵盤文本。
  • <var> 定義變量。
  • <cite> 定義引用。
  • <h1> to <h6> 定義 HTML 標題。
  • <p> 定義段落。
  • <address> 定義文檔做者或擁有者的聯繫信息。
  • <blockquote> 定義長的引用。
  • <mark> 定義有記號的文本。
  • <q> 定義短的引用。
  • <time> 定義日期/時間。
  • <figure> 定義媒介內容的分組,以及它們的標題。

更多請參考W3C:http://www.w3school.com.cn/ta...

好處

  • 讓咱們的網頁結構更加清晰,讓電腦和瀏覽器輕易地識別哪一部分是導航,哪一部分是正文,即便在沒有CSS修飾的狀況下,咱們也能清楚地看到整個網頁的結構。
  • 對於SEO更加友好,利於搜索引擎對網站的收錄和評分。
  • 利於人更好地理解代碼意思,由於是W3C標準,只要你按照語義化使用標籤,全球任何國家的程序員都能看懂。

總結

踐行HTML語義化最好的方法就是秉承如下兩點:

  1. 若是沒有CSS樣式,網站內容是否能完整且清晰地展示出來,並準確表達各部分的意思。
  2. 若是看代碼的人不是我本身,別人是否能看懂我寫的標籤都是什麼意思。
相關文章
相關標籤/搜索