如何选择*但排除?或设置为默认样式?

时间:2011-06-13 09:40:20

标签: css css-selectors userstyles

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

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

* {padding:0; margin:0; }

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

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

但它不起作用。 initial也没有。

有没有办法通过选择所有元素但排除<body>

来解决此问题

5 个答案:

答案 0 :(得分:10)

  

有没有办法通过选择所有元素但排除<body>

来解决此问题

由于视口中显示的所有内容默认都包含<html><body><body>的内容,因此您只需选择htmlbody即可{1}}的后代:

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

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

答案 1 :(得分:2)

html, head, head *, body * { }

答案 2 :(得分:2)

<html>以及<body>的所有后代:

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

答案 3 :(得分:1)

使用body *选择器。

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

答案 4 :(得分:0)

首先将它们设置为0,然后覆盖所需的值。你最好还是使用CSS重置,但是如果你想要使用星号,这个方法就可以了。

   * {
     padding:0;
     margin:0;
   }

   body, html {
     padding: 10px;
   }

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