Подтвердить что ты не робот

Как сделать заполнение: авто работать в CSS?

Я работаю над старым проектом с CSS Reset с *{ margin:0; padding:0 }, применяемым ко всему. Теперь мой новый код не нуждается в этом, поскольку он полагается на Normalize.css. Это не было большой проблемой, но в некоторых местах мне нужно использовать оба стиля.

Как отключить мой CSS? Я смог сделать *{margin:auto}, который отлично работает. То же самое относится и к прописке. Есть ли эквивалентный способ для Reset заполнения. Как вы решаете это?

4b9b3361

Ответ 1

auto не является допустимым значением для свойства padding, единственное, что вы можете сделать, это вынуть padding: 0; из объявления *, иначе просто присвойте padding соответствующему блоку свойств.

Если вы удалите padding: 0; из * {}, чем браузер будет применять стили по умолчанию к вашим элементам, что даст вам неожиданные смещения смещения браузера на несколько пикселей, поэтому лучше назначить padding: 0; с помощью *, а затем если вы хотите переопределить заполнение, просто используйте другое правило, например

.container p {
   padding: 5px;
}

Ответ 2

Вы должны просто указать свой селектор * на конкретные области, которым требуется reset. .legacy * { } и т.д.

Ответ 3

Самое простое поддерживаемое решение - либо использовать margin

.element {
  display: block;
  margin: 0px auto;
}

Или используйте второй контейнер вокруг элемента, который применяет этот марж. Это будет несколько влиять на padding: 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>