Как выбрать *, но исключить <body>? Или установить <body> в стиль по умолчанию?
Браузеры обычно устанавливают разные стили по умолчанию для элементов. Пользователи также могут переопределить значения по умолчанию, используя пользовательские таблицы стилей.
Я часто переопределяю эти стили по умолчанию, используя свои собственные стили, например:
* {padding:0; margin:0; }
Однако я хочу соблюдать таблицу стилей по умолчанию для некоторых атрибутов элемента, например <body>
По умолчанию отступы и поля. Я старался:
* { padding:0; margin:0; }
body { padding:default; margin:default; }
Но это не работает. Ни один не делает initial
,
Есть ли способ решить эту проблему, выбрав все элементы, кроме <body>
?
5 ответов
Есть ли способ решить эту проблему, выбрав все элементы, кроме
<body>
?
Поскольку все, что отображается в окне просмотра, состоит из <html>
, <body>
а также <body>
содержимое по умолчанию, вы можете просто выбрать html
и все body
потомки:
html, body * { margin: 0; padding: 0; }
default
не работает, потому что нет такого ключевого слова. initial
не работает, потому что начальные поля равны 0. Невозможно сбросить свойство к его заданному в браузере значению по умолчанию после того, как вы изменили его с помощью CSS.
<html>
и все потомки <body>
:
html, body * {padding:0;margin:0;}
Сначала установите для них значение 0, а затем переопределите нужные значения. Вы бы лучше использовать CSS Reset, но если вы действительно хотите использовать звездочку, этот метод будет работать.
* {
padding:0;
margin:0;
}
body, html {
padding: 10px;
}