2016-09-21 22 views
3

HTML標記用於表示結構,而CSS用於定義表示。如何在HTML5中使用div和跨度

據我的理解,元素應該給網頁的一部分代表的語義。在HTML4中使用了<div>,其語義含義是通過id & class人爲添加的。這就是爲什麼在HTML5新塊元素,如<nav>,<main>,<header>,<footer>等 - 其語義含義是內置&隱含 - 引入常用。這導致我有兩個問題。

我知道<div>仍然可以用於網頁的語義含義不是由新引入的元素表示的部分。 <span>繼續使用而沒有改變,因爲沒有引入新的內聯元素(afaik)來替代它們,如<div>發生的那樣。

其他用途特別是CSS表格。考慮到HTML元素應該傳達語義,並且display屬性修改了元素的佈局,使用<div>還是<span>來表示表格是否有區別?如果是,我該如何決定使用哪一個?

除了前面提到的,對於HTML5中的這兩個元素,是否還有其他用途作爲最佳做法,同樣,最好不要將<table>用於非表格數據?

回答

3

考慮到HTML元素都應該傳達語義含義,並且,所述顯示屬性修改元件的佈局,有使用<div><span>來表示表之間的差異?

不同之處在於未應用CSS(因爲未能加載,或涉及語音瀏覽器,或者用戶正在使用lynx或其他)時的渲染。

如果您有表格數據。使用一張桌子。否則,使用任何最有意義的元素。

除了上述外,還有什麼其他用途在HTML5這兩種元素作爲最佳實踐,在同樣的意義,它是不使用<table>非表格數據的最佳做法?

最佳實踐元素選擇的經驗法則不會因引入HTML 5而改變:選擇具有最能描述數據的語義的元素。如果沒有元素具有正確描述數據的語義,則使用div或span,因爲它們沒有與它們相關聯的任何語義(並且沒有語義信息比錯誤的語義信息更好)。