如何使填充:在CSS中自动工作?

如何使填充:在CSS中自动工作?,css,css-reset,Css,Css Reset,我正在处理一个遗留项目,该项目将CSS重置为*{margin:0;padding:0}应用于所有内容。现在,我的新代码不需要它,因为它依赖于Normalize.css。这不是什么大问题,但在某些地方,我需要同时使用这两种样式 如何取消CSS的设置?我已经能够做*{margin:auto},效果很好。填充的情况并非如此。是否有等效的方法重置填充。如何解决此问题?auto不是padding属性的有效值,您唯一能做的就是取出padding:0,否则只需将填充分配给相应的属性块 如果删除填充:0浏览器将

我正在处理一个遗留项目,该项目将CSS重置为
*{margin:0;padding:0}
应用于所有内容。现在,我的新代码不需要它,因为它依赖于Normalize.css。这不是什么大问题,但在某些地方,我需要同时使用这两种样式


如何取消CSS的设置?我已经能够做
*{margin:auto}
,效果很好。填充的情况并非如此。是否有等效的方法重置填充。如何解决此问题?

auto
不是
padding
属性的有效值,您唯一能做的就是取出
padding:0*
声明中选择code>,否则只需将
填充
分配给相应的属性块

如果删除
填充:0*{}
的代码>浏览器将对元素应用默认样式,这将使您的跨浏览器定位偏移数像素,因此最好指定
填充:0
使用
*
然后,如果要覆盖填充,只需使用另一个规则,如

.container p {
   padding: 5px;
}

您只需将*选择器的范围限定到需要重置的特定区域
.legacy*{}
等。

支持的最简单解决方案是使用margin

.element {
  display: block;
  margin: 0px auto;
}
或者在应用此边距的元素周围使用第二个容器。如果确实存在,这将在某种程度上产生填充:0px auto
的效果

CSS

.element_wrapper {
  display: block;
  margin: 0px auto;
}
.element {
  background: blue;
}
HTML

<div class="element_wrapper">
  <div class="element">
    Hello world
  </div>
</div>

你好,世界
您可以使用
initial
将填充(我认为还有其他所有内容)重置为默认值

p {
    padding: initial;
}

如果你的目标是重置一切,那么@Björn的答案应该是你的目标,但适用于:

* {
  padding: initial;
}

如果这是在您最初的reset.css之后加载的,那么它应该具有相同的权重,并且将依赖于每个浏览器的默认填充作为初始值。

首先填充:auto;没什么。。第二,无论你改变什么,你都可以付出!重要的是,在任何情况下都要使用这个@nsthethunderbolt的可能副本,我不能使用!这很重要,因为我正在进行响应性设计,因此使用!重要的事情会让媒体查询变得非常困难好吧。。那么你应该听外星人先生的回答。。我认为这是正确的,通常我们设置
margin:0;padding:0
body
上,因此嵌套元素只继承它,只有在不设置
margin:0的情况下,上面的操作才有效;填充:0
到正文我不想删除填充:0
,因为这将与以前完成的旧代码有问题。我认为唯一的选择是在需要的地方添加填充,因为它不能像边距一样取消设置。@VaibhavKanwal是的,正如我所建议的