我注意到一种常见的技术是将一个通用容器div放在body标签的根目录中:
<html>
<head>
...
</head>
<body>
<div id="container">
...
</div>
</body>
</html>
有这样做的正当理由吗?为什么CSS不能仅引用body标签?
Answers:
这是前端编码人员犯下的最大的不良习惯之一。
我上面所有的答案都是错误的。主体确实具有宽度,边距,边界等,并应作为您的初始容器。html元素应按预期用作背景“画布”。在许多站点中,我只需要使用一次容器div。
我愿意是,这些使用容器div的相同编码器也在divs内的div上乱扔了它们的标记-在其他任何地方。
不要做。谨慎使用div,以精益标记为目标。
-=-=-更新-不确定SO有什么问题,因为我可以编辑5年前的答案,但是我无法回复评论,因为它说我需要50 Rep,然后才能这样做。因此,我会将答案添加到此处收到的答复中。-=-=-
我是在回答多年后才发现的,并且看到一些后续答复。而且,您当然开玩笑吗?
您在我的域中找到的已安装占位符站点非常明确地是一个基本的CMS安装,没有内容(在首页上说得很清楚),我从未声称是我的标记或样式,甚至在我的帖子中也没有提到。那不是我的标记和样式。那是Silverstripe的默认模板。我对此不承担任何责任。不过,也许这是我能想到的仅有两个示例之一,这将需要一个容器div。
示例1:旨在容纳未知数的通用模板。在这种情况下,您将看到一个默认CMS模板,该模板的div内的div内有div。
惊恐的事件。
示例2:三列布局以使页脚正确清除(我认为这可能是我需要容器div的场景,因为那是几年前,所以很难记住)。
我确实为我的域构建了一个主题(甚至尚未完成),并开始加载内容。对于这个容易实现的语义标记示例,请单击链接。
坦白说,我感到困惑的是,人们认为您实际上需要一个容器div并从一个容器div入手,甚至只尝试一个身体。正如我听说CSS规范的原始作者之一解释过的那样,该主体被用作“初始容器”。
应该根据需要添加标记,而不是因为那只是您看到的方式。
body > div#BgContainer > div#Container
似乎矛盾,但是也许那是数十次中的一次。PS:我没有投票反对,我很好奇看到我不断听到的这些纯语义网站之一。
html { font-family: sans-serif; }
例如,我一直使用html元素样式。但是,正如其他人提到的那样,这不适用于旧版浏览器中的某些CSS属性。
好,
容器div非常好,因为如果要使站点居中,就不能仅使用body或html来实现...但是,可以使用divs。为什么要装容器?通常使用它,只是因为其本身的代码必须干净且可读。因此,这就是容器...它包含所有网站,以防万一您想弄乱它:)
祝好运