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&&&
所達到的效果是一樣的
但是在目前講究語義化、模塊化的現代Web開發中,比起使用id、class和注釋的方法說明每個標籤的用途,HTML5就進行了語義化規範,常用的就是section、footer、article、nav、header這幾個標籤
當然,由於是規範而不是規定,即使把上面那些語義化標籤全部用div替代,瀏覽器也不會報錯的,所以大可不必要太過於擔心
但是為了可擴展性、可讀性和可持續性,個人是推薦把部分div替換成語義化標籤的(比如導航,就用nav替代,頁腳用footer等等),有利於代碼可讀
推薦閱讀:
※面試的信心來源於過硬的基礎
※aria-labelledby 的用法是怎樣的?
※HTML form隱式提交
※有哪些比較系統的在線學習 HTML 教程?
※《web全棧工程師的自我修養》這本書里說:不要在簡歷中出現Div+CSS,會減分!請教為什麼這樣說?