CSS:body或html上的基本样式?

时间:2010-03-17 14:48:13

标签: css

当我为我的网站声明一些基本样式时,我已经习惯在body标签上执行此操作。例如

body {
  font-size: medium;
  line-height: 1.3em;
}

但是我也看到人们在html标签上做了类似的事情。两者兼而有之。它应该在哪里完成?有些人应该在一个人而在另一个人身上吗?是应该都在其中一个?或者根本不重要?或?

6 个答案:

答案 0 :(得分:2)

我会在body标记上添加样式,因为它更具语义感(您不会设置headtitle等样式。

此外,我没有看到很多人直接在html代码上添加样式,除了reset some default styles ...

答案 1 :(得分:2)

我喜欢将基本声明应用于html。大多数时候,我使用body作为容器,如下所示:

html {
 /* Base styles go here */
 font: 14px/1.5 Arial, sans-serif;
 background: darkgreen;
}

body {
 background: lightgreen;
 padding: 0 20px;
 width: 920px;
 margin: 0 auto;
}

观看演示:http://jsbin.com/atiso3

大多数人倾向于使用额外的DIV来完成这个基本行为。当您知道如何在CSS中使用htmlbody时,没有必要;)

答案 2 :(得分:1)

对于严格的doctype,只需要正文。但是,如果浏览器处于怪异模式,您很可能也需要定位表格单元格。

在这两种情况下,您可能还希望定位表单元素,因为它们通常会继承平台默认值。

答案 3 :(得分:1)

我要么设置身体本身。我倾向于这样做或使用基本div样式,取决于我正在做什么,但将它放在html对象上似乎不直观。

答案 4 :(得分:1)

htmlbody的容器,因此后者将继承前者。混合时要小心:

html, body { font-size: 80%; }会使body的字体大小为80%的80%

我总是选择html,但古代浏览器支持和/或怪癖模式存在问题。

答案 5 :(得分:1)

根据我的个人经验,在htmlbody上放置某些基本样式的唯一情况是,当你做一些依赖于100%宽度或高度的时髦黑客时(“粘性“div或一些这样的”。在所有其他情况下,仅在body上声明基本样式是完全可以的。换句话说,

html, body {height:100%}

实际上可能是必要的,但

html, body {font-family:Arial}
肯定不会。毕竟,您需要font-family的所有元素都是body的子元素,因此为html指定它也没有意义。