2008-12-10 107 views
60

目前我正在学习HTML/CSS,并已注意到一个共同的技术是将一个通用的div容器body标签的根:为什么要在HTML中使用容器div?

<html> 
    <head> 
    ... 
    </head> 
    <body> 
    <div id="container"> 
     ... 
    </div> 
    </body> 
</html> 

是否有这样做的正当理由?为什么CSS不能引用body标签?

+4

我前几天想知道这件事。 +1 – 2008-12-10 02:30:20

回答

10

该方法使您可以更灵活地设计整个内容的样式。有效地创建两个您可以设计的容器。 HTML Body标签用作您的背景,div标识包含您的内容的容器标识。

然后,您可以在页面中定位内容,同时设置背景或其他效果而不会造成问题。想象它是内容的“框架”。

58

容器div,有时是内容div,几乎总是用于允许更复杂的CSS样式。身体标记在某些方面是特殊的。浏览器不会像普通的div一样对待它;其位置和尺寸与浏览器窗口相关联。

但是,一个容器div只是一个div,你可以用边距和边框来设计它。你可以给它一个固定的宽度,你可以用margin-left: auto; margin-right: auto来居中。

此外,内容(例如版权声明)可以放在容器div的外部,但不能放在身体的外部,以允许在边界外部放置内容。

1

对我来说,最常见的原因是这样认为:

  1. 布局可以有一个固定的宽度(是的,我知道,我做了很多工作,谁爱固定宽度的设计师),和
  2. 所以布局可以通过应用文本对齐:中心到body,然后margin:auto自动到容器div的左侧和右侧。
+1

与固定宽度IMO没什么关系。 – nickf 2008-12-10 00:47:24

+0

只是抢占了仇敌...... – da5id 2008-12-10 00:50:54

+1

集装箱也需要固定的“百分比”宽度。 (基本上是一个流体宽度) – Armstrongest 2008-12-10 22:40:57

2

这是前端编码人员犯下的最大坏习惯之一。

上面的所有答案都是错误的。身体确实需要宽度,边距,边界等,并且应该充当您的初始容器。 html元素应该像您的背景“帆布”一样。在我已经完成的几十个网站中,我只需要使用一次容器div。

我愿意成为这些使用容器div的相同编码器在divs内部放置div的标记 - 在其他地方。

不要这样做。谨慎使用div,并瞄准精益标记。

- = - = - 更新 - 不知道SO有什么问题,因为我可以在5年前编辑此答案,但我无法回复评论,因为它说我需要50个代表才能这样做。因此,我会在这里收到的回复中添加我的答案。 - = - = -

我刚刚在我的回答后发现了这一点,并且看到有一些后续回复。而且,你肯定会开玩笑吗?

您为我的域找到的安装的占位符网站,我从来没有声称是我的标记或样式,甚至在我的文章中提到,很明显是一个基本的CMS安装,没有一个字的内容(它说尽可能多主页)。那不是我的标记和造型。这是Silverstripe默认模板。我对此不以为然。不过,这也许是我能想到的仅有的两个例子中的一个,它将需要一个容器div。

示例1:设计用于容纳未知数的通用模板。在这种情况下,您会看到一个默认的CMS模板,其div内部有div。

恐怖。

例2:三列布局得到页脚正确清除(我认为这可能是要记住,因为这以前是几年的情景我有需要一个div容器,硬)

我做只是为我的域名构建(甚至还没有完成)主题并开始加载内容。对于这个容易实现的语义标记示例,请单击链接。

http://www.bitbeyond.com

坦率地说,我感到困惑,人们会认为你真的需要div容器和以往甚至还试图只是一个躯壳一个开始。正如我听到一次由CSS规范的原始作者之一解释的那样,该机构的目的是作为“初始容器”。

标记应该根据需要添加,而不是因为这只是你看到它完成的方式。

1

某些浏览器(<咳嗽> Internet Explorer)不支持身体上的某些属性,特别是widthmax-width

1

我知道这是一个老问题,但我自己重新设计一个网站时遇到了这个问题。 特洛伊Dalmasso让我思考。他说得很好。所以,我开始看看我是否可以在没有容器div的情况下工作。

我可以当我设置身体的宽度。在我的情况960px。

这是我使用的CSS:

html { 
    text-align:center; 
} 

body { 
    margin: 0 auto; 
    width: 960px; 
} 

这很好地居中直列块也具有一个固定的宽度。

希望这对任何人都有用。

0

div标签用于对网页进行样式设计,以便它看起来对网站的用户或观众来说具有视觉吸引力。在html中使用container-div将使网站看起来更加专业和有吸引力,因此更多的人会想要浏览你的页面。

0

好,

的div容器是非常好的有,因为如果你想为中心的网站,你就不能只用身体或HTML ......做到这一点,但你可以与div的。为什么容器?它通常被使用,只是因为它的代码必须是干净可读的。所以这是容器......它包含所有的网站,如果你想惹它周围:)

好运

-2

大多数浏览器的默认情况下,采取的网页大小。因此,有时页面在不同的浏览器中不会显示相同的内容。所以,通过使用用户可以改变为特定的HTML元素。例如,用户可以添加特定HTML标签的边距,大小,宽度,高度等。