成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如果你的 HTML 里全是 Div,那就要小心了

網絡 通信技術
做前端開發的同學都知道,網頁的基本組成部分是 HTML,JavaScript 和 CSS。開發人員通常更關注 JavaScript 和 CSS ,實踐著各種語言規范和設計模式。對于 HTML 的關注度則明顯偏少,只要能做出設計師畫的界面就萬事大吉了,不怎么去關心 HTML 是不是規范合理。

做前端開發的同學都知道,網頁的基本組成部分是 HTML,JavaScript 和 CSS。開發人員通常更關注 JavaScript 和 CSS ,實踐著各種語言規范和設計模式。對于 HTML 的關注度則明顯偏少,只要能做出設計師畫的界面就萬事大吉了,不怎么去關心 HTML 是不是規范合理。于是下面的情況隨處可見:

  • 按鈕用的是可點擊的 <div> 而不是 <button> 元素
  • 標題用的是 <div> 而不是標題元素 (<h1>,<h2> 等等)
  • <input> 相應的文本標簽用的是 <div> 而不是<label>
  • 輸入框也用綁定了鍵盤事件的 <div> ,而不是<input>

看到沒?一招 <div> 走天下!這樣有沒有問題?好像也沒什么大問題,畢竟頁面看起來符合設計,也能正常交互。但是你想過沒有,如果<div>能解決一切,為什么還需要其余幾十上百種標簽呢?這就要說到 HTML 的語義化了。

1什么是語義化

語義化就是說,HTML 元素具有相應的含義。它用于描述元素的內容或者跟其他元素的關系。在 HTML 里,除了<div>和<span>,基本上都是語義化的元素。

標簽名的表義程度也是不一樣的,比如<section> 比 <article>對內容的描述就更模糊。<section>也是語義化的,因為它表明內容應該從屬于一個組。而<article> 不僅表示它的內容從屬于一個組,還是一篇文章。

為了進一步說明語義化的重要性,下面用標題和按鈕元素來舉例。

標題元素

<h1> 是頁面的標題,加上下方的 <h2> 就形成了頁面的層級結構。

  1. <!-- h1, 一級標題 --> 
  2.  
  3. <h1>當你的 HTML 里全是 div,或許該反思下了</h1> 
  4.  
  5. <!-- h2 二級標題 --> 
  6.  
  7. <h2>什么是語義化</h2> 
  8.  
  9. <!-- h3 三級標題 --> 
  10.  
  11. <h3>標題元素</h3> 

在很多富文本編輯器中,使用合適的標題結構,可以自動生成內容目錄。比如本文的目錄結構就是這樣:

可以看到,HTML 本身就傳達了整篇文章的結構信息。相反,如果全部都用<div>,就變成這樣了:

  • <div>: 當你的 HTML 里全是 div,或許該反思下了
  • <div>: 什么是語義化
  • <div>: 標題元素
  • <div>: 按鈕
  • <div>: 非語義化元素
  • <div>: 總結

由于 <div>不附帶任何含義,因此它就是扁平的結構。只要使用正確的 HTML 標簽,DOM 就會變得清晰和結構化。

按鈕

按鈕的作用是提交表單或者改變某個元素的狀態。從定義上看,按鈕具備以下特征:

  • 可獲得焦點
  • 可通過敲擊空格鍵或者回車鍵激活
  • 可通過鼠標點擊激活

當你用<div>綁定點擊事件來模擬按鈕時,你就沒辦法用上<button>天然自帶的那些語義化的交互特征。你還需要手動實現這些功能:

  • focus 狀態
  • 鍵盤交互
  • 鼠標交互

不止如此,當屏幕閱讀器碰到<button>提交</button>這個元素,它會識別出語義,告訴用戶這是個提交按鈕。如果只是個 <div> ,閱讀器就不會認為它是個按鈕。

當我們使用語義化的 HTML 元素后,就給內容賦予了含義,內容也就有了生命。

2非語義化元素

前面提到過,<div>和<span>是非語義化元素。<div>沒有給內容附加任何含義,它只是個<div>。當然,這么說也不完全準確,因為<div>和<span>之間還是有一點點區別的:

  • <div> 是塊級元素
  • <span> 是行內元素,應該放在其他元素里面,比如 <p><span class="dropcap">I</span>nline elements</p>

如果實在找不到對應的 HTML 元素來表示內容,那就可以用 <div> 或者 <span>。既然設計了 <div> 和 <span>,自然有它們的用武之地。畢竟,并不是每一個 HTML 元素都需要額外的語義。

總體原則是,盡量優先使用對應的語義化元素表示內容。退而求其次,使用含義沒那么明確的標簽。最后才考慮用<div> 和 <span>。

3總結

雖然使用語義化的 HTML 元素并不會給你的項目帶來明顯的收益,但我還是建議你這么做。至少,語義化的 HTML 頁面能帶來更好的 SEO 排名、對屏幕閱讀器更友好、代碼可讀性更高。如果你是個有追求的 Coder,相信你會認同我的看法。

文轉載自微信公眾號「1024譯站」,可以通過以下二維碼關注。轉載本文請聯系1024譯站公眾號。

 

責任編輯:武曉燕 來源: 1024譯站
相關推薦

2017-06-14 07:45:34

微軟windows補丁

2018-09-07 23:23:55

MYSQL開源代碼

2015-09-01 09:21:39

網絡監控系統宕機

2022-12-19 17:44:25

MQ技術RabbitMQ

2019-08-08 17:25:20

裁員計劃程序員

2021-10-12 15:58:53

手機數據隱私

2019-04-02 10:39:42

WiFiLiFi5G

2010-10-28 10:30:16

云計算關系數據庫

2025-01-02 15:14:01

2019-08-16 08:50:52

代碼日志程序員

2015-01-08 15:44:58

物聯網

2023-03-08 11:09:08

CIO企業

2017-07-21 16:26:43

2017-12-01 11:42:00

硬件安全企業

2019-10-30 09:40:52

代碼程序員爬蟲

2012-07-16 11:48:51

2021-07-29 06:26:33

代碼Activity開發

2020-06-08 09:50:59

函數查詢數據

2015-06-02 11:35:53

2020-12-22 09:46:18

大數據安全信息泄露
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 五月天激情电影 | 亚洲成人中文字幕 | 欧美精品网站 | 一区日韩| 久久久久国产一区二区三区 | 国产日韩欧美在线 | 九九热精品视频 | 97久久久久久| 欧美精品一区二区三区在线播放 | 欧美一级片在线观看 | 欧美精品一区二区三区在线播放 | 影音先锋中文字幕在线观看 | 久久久91 | 一二区成人影院电影网 | 日韩一区二区不卡 | 久久久久久综合 | 日本粉嫩一区二区三区视频 | 免费在线一区二区 | 欧美一级三级在线观看 | 激情五月婷婷综合 | 日韩精品一区二区三区中文字幕 | 欧美区在线 | 欧美a在线 | 免费精品| 81精品国产乱码久久久久久 | 欧美黄色免费网站 | 久久久久久免费精品一区二区三区 | 久久综合入口 | 国产精品亚洲二区 | 精品国产综合 | 色婷婷久久久久swag精品 | 欧美极品视频在线观看 | 国产精品久久久久久吹潮 | 精品无码久久久久久国产 | 狠狠婷婷综合久久久久久妖精 | 免费看黄视频网站 | 精品国产色 | 1区2区视频 | 国产精品久久久久久久7777 | 日韩不卡三区 | av电影一区二区 |