HTML标记用于表示结构,而CSS用于定义表示。
根据我的理解,元素应该赋予网页的一部分代表的语义含义。 HTML4中使用了<div>
语义,通过id
&amp;添加了人工添加的语义。 class
。这就是为什么在HTML5中新的块元素,例如<nav>
,<main>
,<header>
,<footer>
等 - 其语义含义是内置的&amp;隐式 - 引入用于常见用途。这引出了两个问题。
我知道<div>
仍可用于网页的部分,其语义含义未由新引入的元素表示。 <span>
继续使用而没有更改,因为没有引入新的内联元素(afaik)来替换它们<div>
。
另一个特别用途是CSS表。考虑到HTML元素应该传达语义含义,并且display
属性修改元素的布局,使用<div>
或<span>
表示表之间有区别吗?如果是,我该如何决定使用哪个?
除了前面提到的,HTML5中这两个元素还有其他任何用途作为最佳实践,同样最好不要将<table>
用于非表格数据吗?
答案 0 :(得分:3)
考虑到HTML元素应该传达语义含义,并且display属性修改了元素的布局,使用
<div>
或<span>
来表示表格会有区别吗?
不同之处在于未应用CSS时的渲染(因为它无法加载,或者涉及语音浏览器,或者用户正在使用lynx或其他)。
如果您有表格数据。使用表格。否则使用任何最有意义的元素。
除了前面提到的,HTML5中这两个元素还有其他任何用途作为最佳实践,同样最好不要将
<table>
用于非表格数据吗?
通过引入HTML 5来改变最佳实践元素选择的经验法则:选择具有最能描述数据的语义的元素。如果没有元素具有正确描述数据的语义,那么使用div或span,因为它们没有任何与它们相关的语义(并且没有语义信息比错误的语义信息更好)。