2014-02-25 79 views
4

我在HTML5規範中讀到,當一個更具體的元素不可用時,通用div標記只能用作「最後的手段」。例如,標籤header,footersection優選用於按主題分組內容。使用什麼而不是HTML5中的div元素

但似乎絕大多數網站仍然使用div作爲主要元素。我的問題是,多久使用一次div?還有哪些其他元素應該用於它的位置?

我正在尋找基於規範而不是個人意見的答案。謝謝!

+0

絕大多數網站都是在HTML5被廣泛接受之前構建的。你有沒有看過新元素的規格?他們的預期目的非常明確。 – isherwood

+1

這是一篇不錯的文章,我遇到http://html5doctor.com/you-can-still-use-div/ –

回答

3

沒有任何東西代替<div>(這是它仍然在規範中的一個原因),但HTML5中有更多可用的元素更具體。

除了<header><footer><section>有:

  • <nav>
  • <article>
  • <aside>
  • <main>
  • <details>
  • <summary>
  • <figure>
  • <dialog>
  • <menu>
  • 和更多!

基本上任何新的HTML5元素都可以取代<div>

什麼時候應該使用div?你自己回答了這個問題:

當一個更具體的元素是不可用

MDN有HTML5 element list它包含了所有的標準HTML5元素,並指出哪些元素是新與HTML5。

2

需要記住的是,div標記仍然是HTML5的一部分,但它尚未過時。 但是,div元素已經被濫用了很多與HTML4,並且正確,因爲從來沒有任何替代它。現在HTML5已經包含了一些很棒的新結構元素,div不再是創建佈局的最佳選擇。

div的主要缺點是該元素沒有意義,因爲創建應用程序就緒佈局非常困難。 HTML5中引入的新結構元素肯定會對這個問題有很大的幫助。

section元素很可能會比其他結構元素(如header,footer等)更多地使用,主要是因爲它不像其他結構元素那樣具體。另外,您可以添加多少個結構元素沒有限制,但要記住的是section不是完整的div替代品。

div在HTML5中仍然有作用。根據需要分組相似的元素以及分割元素非常棒。另外section不應該僅用於樣式,因爲section不是用來包裝的。

1

原因header,section,footer和其他此類元素的創建是爲了幫助在css和腳本語言中引用它們。 W3C研究了網絡開發人員用於div的最常見的ID,並相應地在HTML5中創建了新的元素。原因div s和ID被廣泛認爲是不好的做法,因爲所有這些屬性都使代碼混亂。衆所周知,混亂的編碼會導致錯誤和錯誤。

你在哪裏使用它們?這很自我解釋。以header爲例。這是最常見的用途,是網頁的頂部。右鍵點擊頂部的堆棧溢出標誌並查看源代碼。他們實際上使用ID爲'header'的div。從技術上講,這是不好的做法。

div s的一個很好的用處就是創建一個這樣的整個內容的包裝。

<div id="wrapper"> 
    <!--content--> 
</div> 

然後你就可以在CSS參考它中心:

#wrapper{margin:20px auto;} 

希望這有助於!

相關問題