我经常看到这样的事情:
<body>
<div class="container">
</div>
</body>
为什么不这样做:
<body class="container">
</body>
答案 0 :(得分:4)
您可以完全自由地执行以下任何操作:
class
元素添加id
或body
属性; body
元素,包含或不包含class
或id
属性;或html
元素,但没有 class
或id
属性以及some important caveats。其中任何一种都是CSS和HTML的完全合法用法。
为什么<div id="container"/>
?多年来,许多CSS技术使用任意容器元素来简化概念,避免某些跨浏览器的不一致,或者因为它们太复杂而无法实现。一些更微妙的原因包括在旧版浏览器中,无法直接将CSS应用于html
元素,并且这些元素存在(并且是)某些不寻常或受限制的属性 - 通常用于obvious reasons 。 (出于这个原因,他们是sometimes described as being "magic"。)
这些都是为了创造一种能够实现几乎任何中等复杂布局的情况,从一开始就用一个干净利落的容器元素开始不可避免地要容易得多。虽然这种做法最初是作为一种手段而结束的,但它很快就成了风景的一部分,现在很多开发人员都不会再考虑添加额外的标记。
答案 1 :(得分:2)
不,没有任何内容表明你不能在课堂上添加课程。
将一个类附加到正文实际上在各种CMS中很常见,并且非常方便用于主题或样式化特定页面。
从你的例子来看,如果你只是想把身体当作一个容器,为什么还要打扰这个课?应该只有一个body元素,所以只需在选择器中调用它。
答案 2 :(得分:1)
Walter,如果你需要将一个稍微不同的样式子集应用到带有自定义body标签的页面,这可能是有意义的。
使用包装div通常是出于某种表现的原因,并且在语义上没有意义;如果您的项目不需要它,请不要使用它。有时只使用body标签来包含页面对于某些布局来说太不灵活了,而且Jordan说一些旧的浏览器不能将CSS应用到根元素。