CSS中的“*”是什么意思?

时间:2012-01-03 17:05:40

标签: css css-selectors

我一直在关注Facebook和Youtube等许多网站的CSS文件。

在几乎所有这些中我都看到了这段代码:

* {
margin: 0;
padding: 0;
}

奇怪的是,在chrome web开发人员工具中删除该块不会影响页面的布局。

此代码的含义是什么,何时使用以及为什么?

8 个答案:

答案 0 :(得分:62)

这是一种称为CSS重置的常用技术。不同的浏览器使用不同的默认边距,导致网站看起来与边距不同。 *表示“所有元素”(a universal selector),因此我们将所有元素设置为零边距和零填充,从而使它们在所有浏览器中看起来都相同。

答案 1 :(得分:9)

*是一个通配符

这意味着将这些样式应用于所有元素。

在这种情况下,它会将所有元素的marginpadding设置为0。这对于重置CSS文件很常见,以便将不同元素上的所有本机浏览器边距/填充默认为公共值。

答案 2 :(得分:8)

Asterisk(*)是一个通配符,表示所有元素。

* {
    margin: 0;
}

将所有元素的边距设置为0.

答案 3 :(得分:4)

它将页面上所有HTML元素的边距和填充重置为0.

某些浏览器默认情况下可能已经这样做了,但尝试手动重置所有内容总是有用的,以防万一。

事实上,很多网站都带有一个reset.css(或者类似的),当你打开它时,你会注意到很多规则可以在每个浏览器中重置一切。

答案 4 :(得分:2)

这是一个通配符,并为所有HTML元素设置marginpadding0

尝试更有趣的一个:

* {
    font-size: 20pt;
}

答案 5 :(得分:1)

这是一般css重置的常见部分。这基本上将所有(*)元素的所有边距和填充设置为0.然后,您可以根据需要自由地为每个元素添加自己的边距和填充值。

答案 6 :(得分:1)

在CSS中,除了样式之外,还有一些默认样式应用于每个网页。这些默认样式为padding等元素定义了某些margin<h1>, <li>, <p>, <table>值。令人讨厌的是,您通常需要覆盖这些样式才能使页面正确显示,但不能所有浏览器制造商都同意默认值。通常,大多数开发人员发现最简单的方法是将所有paddingmargins重置为zero,以便一切都按预期运行。 *wildcard选择器,将匹配所有元素类型。基本上,该样式表示将所有元素的所有填充/边距重置为零,从而删除任何默认样式。

答案 7 :(得分:1)

*是一张外卡,它会选择所有元素 margin: 0;padding: 0;为所选元素设置边距和填充为0,在本例中为所有元素。

这对于Web开发来说非常方便,我在我构建的每个站点都使用它。