身体和*之间的差异在CSS

时间:2011-05-04 21:57:00

标签: css

之间有什么区别
body{
  background: #4b4b4b;
}

*{
    background: #4b4b4b;
 }

哪个优先级更高?

5 个答案:

答案 0 :(得分:7)

body选择正文元素,*选择所有元素。

在这两者中,body具有更高的优先级。

答案 1 :(得分:5)

有什么区别?

body是元素选择器(选择元素body),而*是通用选择器(选择所有元素)。

具有更高的特异性(适当的优先条款)?

计算选择器的特异性时(将其视为二进制数):

  • 如果是内联样式声明,则添加1000
  • 对于每个id属性值,您都会添加0100
  • 对于每个类属性值,属性选择或伪类,您可以添加0010
  • 对于每个元素和伪元素,添加0001
  • 对于每个组合子或通用选择器,您可以添加0000
  • 如果是继承的声明,则没有特异性。

因此body的特异性为0001*的特异性为0000body获胜。

答案 2 :(得分:4)

某些HTML元素具有默认背景颜色,例如<input><select>等。使用*也会影响它们,而不仅仅是<body>和所有有透明背景的孩子。

答案 3 :(得分:3)

body选择器具有更高的优先级,但*选择器适用范围更广,因此在<body>foo<p>bar</p></body> body选择器将确定文本的背景{{1但是foo选择器将确定*元素的背景。

另请注意,许多浏览器会在<p>周围创建一个包含其边距和滚动条的元素,因此<body>选择器也可以确定该区域的颜色。

答案 4 :(得分:0)

  1. 不使用*通用选择器,它不是标准方式
  2. 正文背景仅适用于全身背景,*背景表示将相同背景应用于正文中的所有元素
  3. 现在css3中的一天分别使用reset css和main style css