5

浏览器通常为元素设置不同的默认样式。用户还可以使用 自定义样式表覆盖默认值。

我经常使用自己的样式覆盖这些默认样式,例如:

* {padding:0; margin:0; }

但是,我希望尊重某些元素属性的默认样式表,例如<body>的默认填充和边距。我试过:

*    { padding:0;       margin:0;       }
body { padding:default; margin:default; }

但它不起作用。也没有initial

有没有办法通过选择所有元素但不包括来解决这个问题<body>

4

5 回答 5

10

有没有办法通过选择所有元素但不包括来解决这个问题<body>

由于默认情况下视口中显示的所有内容都包含<html>,<body><body>的内容,因此您只需选择html, 和所有body的后代:

html, body * { margin: 0; padding: 0; }

default不起作用,因为没有这样的关键字。initial不起作用,因为初始边距为 0。使用 CSS 更改属性后,无法将属性重置为其浏览器给定的默认值。

于 2011-06-13T09:41:50.137 回答
2
html, head, head *, body * { }
于 2011-06-13T09:42:17.637 回答
2

<html>和所有后代<body>

html, body * {padding:0;margin:0;}
于 2011-06-13T09:42:20.420 回答
1

使用body *选择器。

body *{padding:0;margin:0;}
于 2011-06-13T09:42:11.920 回答
0

首先将它们设置为 0,然后覆盖所需的值。虽然你最好使用 CSS 重置,但如果你真的想使用星号,这个方法会起作用。

   * {
     padding:0;
     margin:0;
   }

   body, html {
     padding: 10px;
   }

http://meyerweb.com/eric/tools/css/reset/

于 2011-06-13T09:49:35.560 回答