body
属性和*
属性有不同吗?
我总是使用body
和html
属性相同。
我可以将*
属性与body
和html
一起使用吗?
*
和body
属性应该有什么不同?
我无法理解这是否有必要使用这两种属性?
如果我使用其中一个而不是产生任何问题?
我用这个
*{
margin:0;
padding:0;
background:#FFF;
}
和身体
body, html{
margin:0;
padding:0;
background:#FFF;
font:normal 12px verdana;
color:#0086ca;
}
当我链接文本时它的背景。当我从*中删除背景时,这并没有采取bg颜色。
答案 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。