body和(*)css中的属性

时间:2010-06-26 10:07:13

标签: html css

body属性和*属性有不同吗?

我总是使用bodyhtml属性相同。  我可以将*属性与bodyhtml一起使用吗? *body属性应该有什么不同? 我无法理解这是否有必要使用这两种属性?

如果我使用其中一个而不是产生任何问题?

我用这个

*{
    margin:0;
    padding:0;
    background:#FFF;
}

和身体

body, html{
    margin:0;
    padding:0;
    background:#FFF;
    font:normal 12px verdana;
    color:#0086ca;
}

当我链接文本时它的背景。当我从*中删除背景时,这并没有采取bg颜色。

3 个答案:

答案 0 :(得分:3)

*(星号) - 它是一个通配符,这意味着它将选择DOM部分内的所有元素。 这是影响每个元素的普遍规则。 例如:

对页面上的每个元素进行保证

* {
    margin: 10px;
}

所有 HTML组件都具有这些属性。

正文仅影响正文标记...标记中的元素不受影响 - (它们没有获得相同的属性。)

答案 1 :(得分:2)

body适用于<body>代码,而*适用于每个代码。以下是一个不同的例子:

body { margin: 2cm; }

* { margin: 2cm; }

第一个赋予身体一个边距 - 第二个赋予每个元素一个边距。

另一方面,以下代码:

body { font-family: Courier; }

将更改整个文档中的字体系列,因为CSS使用级联样式,即嵌套标签从其父项继承某些样式属性 - 在本例中为字体。

答案 2 :(得分:2)

在CSS中使用*匹配任何元素。单独使用它很少有用,因为您将定位页面中的每个元素。

如果你有这样的HTML代码:

<html>
<head>
  <title></title>
  <style>
  body { font-size: 50px; }
  </style>
</head>
<body>
  <div>
    <form>
      Name: <input type="text"/>
    </form>
  </div>
</body>
</html>

为正文设置的字体大小会影响文本“Name:”,但它不会影响输入元素的字体大小,因为它默认设置了特定的大小。

如果你现在添加样式* { border: 10px solid red; font-size: 100px; },这将在body,div,form和input元素上放置一个边框,text和input元素都将获得字体大小。

*选择器与其他选择器结合使用更为有用,例如选择任何子元素到特定元素:

#Menu > * { float: left; }

关于html和body元素的用途,你只需要为body元素设置margin,padding和background。