標籤:

HTML元素有什麼優勢,而我從頭到尾就會用個div??

新手小白自學html,,看大神都是各種元素用起來~~~而我從頭到尾只會用個div,但從實現的結果看 ,好像也還都行。求教用各個元素實現後的優勢在哪??


語義化的意義在於,各種技術都可以為特定語義的對象添加合理的行為。你覺得實現的結果還行,是因為除了可視的界面,你忽略了太多的東西。

就拿一個簡單的&來說,瀏覽器及各種設備為它提供了很多預置行為:

  • 自帶樣式,包括響應操作(點擊、聚焦等)時的樣式;
  • 允許鍵盤訪問時顯示聚焦狀態,在按空格、回車時激活;
  • 響應外層&元素的disabled狀態;
  • disabled狀態下自動禁止一切交互;
  • 點擊時自動觸發外層&的提交;
  • 讀屏器自動提示:這是一個按鈕;
  • ……

你可以想一下用&實現一個功能近似的按鈕需要做多少事情。


對於有一定基礎的前端開發者來說,我想對DIV這個元素並不陌生。DIV 是HTML中的一個元素,俗稱「塊布局」,是用來為HTML文檔內大塊(block-level)的內容提供結構和背景的元素。明明只是一個元素,那為啥有很多人學了Html後認為自己只會用DIV,這是為什麼呢?那麼DIV到底有什麼魔力呢?

要解答這個問題,這要從網頁的頁面布局方式說起,稍微了解過前端的人都知道,現在主流的網頁頁面布局方式是DIV+CSS布局。DIV用來布局,CSS用於樣式,JavaScript用於行為。所以我們會頻繁的用到DIV這個元素去構建網頁布局。自然而然就對其印象最深。Div構建網頁布局,較以往的table布局,有很多方面的優勢,大體我總結了一下:

1. 精簡代碼,減少重構難度。

2. 結構清晰,讓網頁體積變得更小,更符合布局標準。

3. 內容與樣式分離,調整網頁框架及樣式更加方便

4. 瀏覽器兼容性更好

5. 相較於以前的Table布局比較,瀏覽訪問速度得以提升

最後,陽叔成立了公益免費團體很棒棒少年團 前端實戰自學歡迎加陽叔WX:erdaori


語言嘛,能夠順利表意就算達到及格線了,至於寫的好不好看,那就是另一回事,比如這個回答,沒有分段,然後全都用的逗號,然後好像還說的很啰嗦,然後還說了一堆然後,然後也把這個事情說清楚了,然後你看,全寫了 div 看起來可能就是這個感覺的,


你可能僅僅是英文辭彙有點渣而已……

我想不到任何理由在寫列表的時候不用 ol / ul

我想不到任何理由在寫縮寫的時候不用 abbr

我想不到任何理由在寫文章的時候不用 article

我想不到任何理由在寫章節的時候不用 section

為什麼你大腦中只出現 div?

因為你只記得 div ……


優勢在於:語義化

本質上來說:

&&This is Footer&&

&&

This is Footer&&

所達到的效果是一樣的

但是在目前講究語義化、模塊化的現代Web開發中,比起使用id、class和注釋的方法說明每個標籤的用途,HTML5就進行了語義化規範,常用的就是section、footer、article、nav、header這幾個標籤

當然,由於是規範而不是規定,即使把上面那些語義化標籤全部用div替代,瀏覽器也不會報錯的,所以大可不必要太過於擔心

但是為了可擴展性、可讀性和可持續性,個人是推薦把部分div替換成語義化標籤的(比如導航,就用nav替代,頁腳用footer等等),有利於代碼可讀


推薦閱讀:

面試的信心來源於過硬的基礎
aria-labelledby 的用法是怎樣的?
HTML form隱式提交
有哪些比較系統的在線學習 HTML 教程?
《web全棧工程師的自我修養》這本書里說:不要在簡歷中出現Div+CSS,會減分!請教為什麼這樣說?

TAG:HTML | HTMLCSS |