使用div<body>首頁Html 5CSS 3聯絡我們</body>不使用div<body><header><nav>首頁Html 5CSS 3聯絡我們</nav></header></body>html5添加了<section>、<article>、<header>和<nav>,但小弟在試寫的時候其實使用div區塊,可以完全達到上圖要的版面,但想想又覺得如果可以用div達到為什麼還要出這些新的標籤。請前輩們賜教。 2015-07-30 11:31 發佈
因為語義、HTML 結構化……等、無障礙(尤其是視障朋友),在某些層面也可以說更簡化的寫法。以 div 的情況,可能會看到div id or class="header"div id or class="body"div id or class="footer"div id or class="nav"div id or class="navbar"類似的寫法,但在 HTML5 新加入了一些新 tag,則可以更簡化原本的寫法。再舉個例子:bstrong在視覺效果上,都是粗體字,但當你面對的是 HTML,何者會讓你更明白更直覺地想到粗體字呢?再另一個例子:address這是用來定義地址,主要就是塞地址,以視覺效果,我要用什麼 tag 都能達到目的,但就 HTML 的語意,address 是不是更能清楚地瞭解,這是地址。簡單來說,重點不在於「視覺效果」,而是語義、結構化……等部份。
優點一開始就指出了,語義、HTML 結構化、無障礙……等。舉例來說,在不使用 ID 及 Class 的情況。< div >< a > itemA < /a >< a > itemB < /a >< a > itemC < /a >< /div >< nav >< a > itemA < /a >< a > itemB < /a >< a > itemC < /a >< /nav >搭配 CSS 的情況下,兩者的視覺效果可以完全一樣但就語義上,就完全不一樣了,前者就只能看出這是一個 div 但後者就能看出這是網站的導覽列video, audio 就是 div 所無法做到的。
原因要老手才能解釋清楚由本山人指點一下早期規畫版面都是用table缺點是很難維護而且無障礙軟體也不知table在幹嘛中期用DIV改正了難維護的缺點缺點是無障礙規範並不能有效解讀DIV的功能無障礙規範為了照顧瞎子色盲也能上網標籤需要更細的劃分使軟體能方便解讀近期推出HTML5 把標籤劃分得更清楚符合無障礙規範如果網頁沒有要申請無障礙標章可以繼續用DIV不用管新的區塊標籤