浏览器通常为元素设置不同的默认样式。用户还可以使用custom stylesheets覆盖默认值。
我经常使用自己的样式覆盖这些默认样式,例如:
* {padding:0; margin:0; }
但是,我希望尊重某些元素属性的默认样式表,例如<body>
的默认填充和边距。我试过了:
* { padding:0; margin:0; }
body { padding:default; margin:default; }
但它不起作用。 initial
也没有。
有没有办法通过选择所有元素但排除<body>
?
答案 0 :(得分:10)
有没有办法通过选择所有元素但排除
来解决此问题<body>
?
由于视口中显示的所有内容默认都包含<html>
,<body>
和<body>
的内容,因此您只需选择html
和body
即可{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;
}