Css 如何选择*但排除<;车身>;?或设置<;车身>;默认样式?
浏览器通常为元素设置不同的默认样式。用户还可以使用覆盖默认值 我经常使用自己的样式覆盖这些默认样式,例如:Css 如何选择*但排除<;车身>;?或设置<;车身>;默认样式?,css,css-selectors,userstyles,Css,Css Selectors,Userstyles,浏览器通常为元素设置不同的默认样式。用户还可以使用覆盖默认值 我经常使用自己的样式覆盖这些默认样式,例如: * {padding:0; margin:0; } 但是,我希望尊重某些元素属性的默认样式表,例如的默认填充和边距。我试过: * { padding:0; margin:0; } body { padding:default; margin:default; } 但它不起作用。首字母也不是 有没有办法通过选择除之外的所有元素来解决此问题 有没有办法通过选择
* {padding:0; margin:0; }
但是,我希望尊重某些元素属性的默认样式表,例如
的默认填充和边距。我试过:
* { padding:0; margin:0; }
body { padding:default; margin:default; }
但它不起作用。首字母也不是
有没有办法通过选择除
之外的所有元素来解决此问题
有没有办法通过选择除
之外的所有元素来解决此问题
由于默认情况下,视口中显示的所有内容都由
、
和
的内容组成,因此您只需选择html
,以及所有正文的子体:
html, body * { margin: 0; padding: 0; }
default
不起作用,因为没有这样的关键字<代码>初始
不起作用,因为初始边距为0。使用CSS更改属性后,无法将其重置为浏览器给定的默认值。使用正文*
选择器
body *{padding:0;margin:0;}
和
的所有后代:
首先将它们设置为0,然后覆盖所需的值。你最好使用CSS重置,但是如果你真的想使用星号,这个方法就行了
* {
padding:0;
margin:0;
}
body, html {
padding: 10px;
}
你可以用头,title{display:block;}
:)@Pent几年前在这里读它。@Boltclock我甚至不能容忍0.1秒的惩罚,但我真的不明白为什么它会慢,因为在*
被读的时候,先读css,然后读html,即使整个页面都被元素填满,元素也不多,这不是真的吗?@Pent:这很慢,因为浏览器需要为页面中的每个元素计算样式。@Boltclock不是这样的吗?它首先在
结束标记处计算,然后缓存在计算样式中,并用于以后遇到的每个元素?@alex:边距和填充不是继承的。这有点傻。。首先,将html,body
上的margin
归零是个好主意。相反,您应该将margin
添加到您的容器div
上,或者其他任何内容。如果你真的想这样做,那么定制一个CSS重置。可能更容易,坚持你的做法:*{padding:0;margin:0;}body{margin:10px}
-这样,你就不必使用低效的*
(至少,不再使用了),而且正文
页边距在浏览器之间肯定是一致的。@thirtydot但在用户定义的样式表之间不一致,这就是我刚才说的意思default@Pent:几乎没有用户关心精确的正文
边距。那些在乎的人会使用!重要信息
确保他们的自定义边距
保持不变,如果这对他们很重要的话(他们必须这样做,因为世界上所有其他网站都会设置正文{margin:0}
,或任何数字)。请参阅CSS规范:。为什么你这么在意保留默认的边距?@thirtydot我只是在寻找一个能够做到这一点的解决方案。见鬼,他们真的应该有一种类似xpath的方法来指定例外事实上,确实如此。你可以使用:not(body)
作为选择器,但是旧的浏览器不支持很多CSS3选择器。我的意思是我知道我当然可以这样做,但它不能保证10px。它是用户定义的,那么我怎么知道用户定义的body的padding/margin是什么呢?您指的是特定于浏览器的样式表吗?为什么需要保留浏览器的默认设置?设置使每个浏览器的页面看起来相同的内容。:)如果你真的想调查默认设置,可以使用inspect工具,在应用任何特殊样式之前检查body\html标记的计算样式。是的,我肯定在问题中列出了“默认设置”
html, body * {padding:0;margin:0;}
* {
padding:0;
margin:0;
}
body, html {
padding: 10px;
}