【重構(gòu)前端知識體系之HTML】講講對HTML5的一大特性——語義化的理解

【重構(gòu)前端知識體系之HTML】講講對HTML5的一大特性——語義化的理解

引言

在講什么是語義化之前,先看看語義化的背景。

在之前的文章中提到HTML最重要的特性,那就是標(biāo)簽。但是項目一大,標(biāo)簽多的看不懂,一堆疊著一堆。一些命名奇奇怪怪,想維護(hù)被勸退,團(tuán)隊協(xié)作導(dǎo)致團(tuán)戰(zhàn)開始!

因此語義化迫在眉睫!

什么是語義化

在我們寫HTML時其實無所謂,因為你里面長啥樣,用戶看不到,也不用看到。

因為你有CSS的漂亮衣服,即使你的HTML一塌糊涂,CSS也可以讓它光鮮亮麗。

但是用戶看不到,開發(fā)者看得到呀!因此,這個語義化的友好者是開發(fā)者本身。

所謂語義化,就是憑著HTML本身,也能體驗出人性化的結(jié)構(gòu)!

語義化的好處

  • 在沒有CSS的情況下,頁面也能呈現(xiàn)出很好地內(nèi)容結(jié)構(gòu)、代碼結(jié)構(gòu)。這樣開發(fā)者一眼就明了你的意圖,一秒破冰!

  • 對SEO友好。對開發(fā)者友好,那么對開發(fā)者的小蟲子們也是當(dāng)然!

    當(dāng)標(biāo)簽應(yīng)用得當(dāng),體現(xiàn)出上下文中你想要關(guān)鍵字的權(quán)重,那么搜索引擎爬蟲就到了你的頭上了。那么網(wǎng)站的訪問量不就來了嗎。

  • 可以支持一些特殊的設(shè)備(盲人閱讀、移動設(shè)備),網(wǎng)頁翻譯等。

  • 最直觀的一點,便是你的隊友都希望和你合作!你的代碼的語義化,隊友都愛??!

    語義化更具可讀性,遵循W3C標(biāo)準(zhǔn)的團(tuán)隊都遵循這個標(biāo)準(zhǔn),可以減少差異化。(跳槽快速融入?)

工作中語義化的思考

  • 不要使用一些純樣式標(biāo)簽,這些CSS會幫我們做到。如:b、font、u等一些標(biāo)簽。

  • 需要強(qiáng)調(diào)的文本,可以包含在strong或者em標(biāo)簽中(,strong默認(rèn)樣式是加粗(不要用b),em是斜體(不用i)。使用 mark標(biāo)簽來表示標(biāo)注的/突出顯示的文本。

    但是還是可以考慮使用CSS來完成。

  • 每個input標(biāo)簽對應(yīng)的說明文本都需要使用label標(biāo)簽,并且通過為input設(shè)置id屬性,在lable標(biāo)簽中設(shè)置for=someld來讓說明文本和相對應(yīng)的input關(guān)聯(lián)起來。

  • 表單域要用fieldset標(biāo)簽包起來,并用legend標(biāo)簽說明表單的用途。

  • 應(yīng)該使用<h1> - <h6>來表示標(biāo)題。

  • 當(dāng)用CSS寫樣式的時候命名也需要遵循HTML的結(jié)構(gòu),體現(xiàn)出語義化的本質(zhì)。

語義化的標(biāo)簽

1、<header> 標(biāo)簽定義文檔的頁眉

通常包含頁面的正副標(biāo)題。

<header>
<h1>他真的是美男子嗎?</h1>
<p>據(jù)現(xiàn)場勘查,他真的是美男子!</p>
</header>

2、<footer>標(biāo)簽定義文檔或節(jié)的頁腳

頁腳通常包含文檔的作者、版權(quán)信息、使用條款鏈接、聯(lián)系信息等等。

可以在一個文檔中使用多<footer>元素。

<footer>
  <p>Posted by: 美男子</p>
</footer>

3、<main>標(biāo)簽規(guī)定文檔的主要內(nèi)容。

<main>元素中的內(nèi)容對于文檔來說應(yīng)當(dāng)是唯一的。

它不應(yīng)包含在文檔中重復(fù)出現(xiàn)的內(nèi)容,比如側(cè)欄、導(dǎo)航欄、版權(quán)信息、站點標(biāo)志或搜索表單。

在一個文檔中,不能出現(xiàn)多個 <main> 元素。<main>元素不能是以下元素的后代:<article>、<aside>、<footer>、<header><nav>。

<main>
  <h1>我的介紹</h1>
  <p>我是一個聰明的孩子</p>
</main> 

4、<section> 標(biāo)簽定義文檔中的片段。

比如章節(jié)、頁眉、頁腳或文檔中的其他部分。

<section>
  <h1>PRC</h1>
  <p>The People's Republic of China was born in 1949...</p>
</section>

5、<article> 標(biāo)簽規(guī)定獨(dú)立的自包含內(nèi)容

比如文章下的評論之類的

<article>
   <h1>我為什么聰明呢</h1>
   <p>我聰明的秘訣是我愛思考</p>
</article>

6、<aside> 標(biāo)簽定義其所處內(nèi)容之外的內(nèi)容。

用來裝載非正文類的內(nèi)容。例如廣告,成組的鏈接,側(cè)邊欄等等。

<p>聰明的研究</p>
<aside>
  <h1>我為什么聰明呢</h1>
  <p>我聰明的秘訣是我愛思考</p>
</aside>

7、<nav> 元素代表頁面的導(dǎo)航鏈接區(qū)域。

用于定義頁面的主要導(dǎo)航部分。

<nav>
<ul>
<li><a href=”https://www.baidu.com”>百度</a></li>
<li><a href=”https://www.guizimo.com”>歸子莫</a></li>
</ul>
</nav>

一個語義化模板

先來看一張圖。

HTML語義化

看起來,一個標(biāo)標(biāo)致致的HTML結(jié)構(gòu)就很清晰了。

總結(jié)

有的朋友肯定會問了,那平時都是用框架寫的代碼,基本不用用這些,又不是去寫個人網(wǎng)站或者官網(wǎng),都是寫一些業(yè)務(wù)型的H5或者后臺管理。

其實對于個人網(wǎng)站或者官網(wǎng)來說,語義化是有實際價值的。而且,這個也是近些年來面試的常問的一題。最重要的是要去學(xué)習(xí)語義化的含義。做到代碼語義化,包括函數(shù)的命名,組件的命名,組件業(yè)務(wù)功能的拆分。一直在路上!

重構(gòu)前端知識體系,你要一起嗎?

博客說明與致謝

文章所涉及的部分資料來自互聯(lián)網(wǎng)整理,其中包含自己個人的總結(jié)和看法,分享的目的在于共建社區(qū)和鞏固自己。

引用的資料如有侵權(quán),請聯(lián)系本人刪除!

感謝萬能的網(wǎng)絡(luò),W3C,菜鳥教程等!

感謝勤勞的自己,個人博客GitHub學(xué)習(xí),GitHub

公眾號【歸子莫】,小程序【子莫說】

如果你感覺對你有幫助的話,不妨給我點贊鼓勵一下,好文記得收藏喲!關(guān)注我一起成長!

所屬專欄:重構(gòu)前端知識體系(HTML)

幸好我在,感謝你來!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在HTML5之前采用HTML+CSS文檔結(jié)構(gòu)寫法 【ID選擇器說明 id選擇器——用于標(biāo)識頁面上特定元素(比如站點...
    Be_somebody閱讀 486評論 0 0
  • HTML5是HTML最新的修訂版本。 HTML5 新特性 語義特性 HTML5賦予網(wǎng)頁更好的意義和結(jié)構(gòu)。新增了一些...
    苦瓜_6閱讀 491評論 0 0
  • 什么是語義元素:一個語義元素能夠清楚的描述其意義給瀏覽器和開發(fā)者無語意 元素實例 和 無需考慮內(nèi)容語義元素實例...
    龍飝閱讀 327評論 0 2
  • 語義元素:即有意義的元素。 什么是語義元素? 一個語義元素能夠清楚的描述其意義給瀏覽器和開發(fā)者。無語義元素實例: ...
    你說明哥我說哎閱讀 490評論 0 0
  • HTML5 1.HTML5新元素 HTML5提供了新的元素來創(chuàng)建更好的頁面結(jié)構(gòu): 標(biāo)簽描述 定義頁面獨(dú)立的內(nèi)容區(qū)域...
    L怪丫頭閱讀 2,901評論 0 4

友情鏈接更多精彩內(nèi)容