Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改主体不是HTML/CSS标准吗?_Html_Css - Fatal编程技术网

更改主体不是HTML/CSS标准吗?

更改主体不是HTML/CSS标准吗?,html,css,Html,Css,我经常看到这样的事情: <body> <div class="container"> </div> </body> 为什么不干脆做: <body class="container"> </body> 不,没有任何规定不能向正文中添加类 将类附加到正文实际上在各种CMSE中非常常见,并且对于特定页面的主题设置或样式设置非常方便 从您的示例来看,如果您只想将主体用作容器,那么为什么还要麻烦使用该类呢?应该只有一个

我经常看到这样的事情:

<body>
  <div class="container">
  </div>
</body>

为什么不干脆做:

<body class="container">
</body>

不,没有任何规定不能向正文中添加类

将类附加到正文实际上在各种CMSE中非常常见,并且对于特定页面的主题设置或样式设置非常方便


从您的示例来看,如果您只想将主体用作容器,那么为什么还要麻烦使用该类呢?应该只有一个body元素,所以只需在选择器中调用它。

您完全可以自由执行以下任何操作:

  • class
    id
    属性添加到
    body
    元素
  • 直接将CSS应用于
    主体
    元素,包括或不包括
    id
    属性;或
  • 直接将CSS应用于
    html
    元素,尽管没有
    class
    id
    属性,并且带有
所有这些都是CSS和HTML的完全合法使用

为什么
?多年来,许多CSS技术都采用了任意容器元素来简化概念,以避免某些跨浏览器的不一致性,或者因为它们太复杂而无法以其他方式实现。有两个更微妙的原因,包括在旧浏览器中,不能直接将CSS应用于
html
元素,而且这些元素的某些不寻常或受限制的属性(现在也是这样)经常会出现。(他们是出于这个原因。)


所有这些共同创造了一种情况,在这种情况下,要实现几乎任何中等复杂的布局,从一个吱吱作响的干净容器元素开始不可避免地要容易得多。虽然这种做法开始时只是为了达到目的,但很快它就成为了风景的一部分,现在许多开发人员不再考虑添加少量额外的标记。

Walter,如果您需要对带有自定义body标记的页面应用稍微不同的样式子集,这可能是有意义的


使用包装div通常是出于某种表示原因,在语义上没有意义;如果你的项目不需要它,就不要使用它。有时,仅使用body标记来包含页面对于某些布局来说太不灵活,正如Jordan所说,一些旧浏览器无法将CSS应用于根元素。

两者都是完全有效的HTML。那里没有标准。但是,如果你的站点是从CMS中吐出来的,CMS通常不允许触摸BODY标签(大多数CMSE从代码的角度来看都很糟糕)