После того, как вы присвоили значение свойству CSS элемента, вернуть его «нормальное» значение невозможно, предполагая, что «нормальный» означает «браузер по умолчанию», как, кажется, здесь и подразумевается. Таким образом, единственный способ, скажем, для элемента h1
иметь браузер по умолчанию font-size
- это вообще не устанавливать свойство для него в вашем коде CSS.
Таким образом, чтобы освободить некоторые свойства и элементы от сброса CSS, вам нужно использовать более ограниченный сброс CSS. Например, вы не должны использовать * { font-size: 100% }
, а заменить *
списком селекторов, например input, textarea { font-size: 100% }
(список может быть довольно длинным, но, например, настройки браузера по умолчанию для font-size
отличаются от 100% только для нескольких элементов ).
Конечно, возможно установить свойства в значения, которые вы ожидаете по умолчанию в браузере. Нет никаких гарантий, что это будет иметь желаемый эффект для всех браузеров, текущих и будущих. Но для некоторых свойств и элементов это может быть относительно безопасно, поскольку значения по умолчанию, как правило, похожи.
В частности, вы можете использовать раздел Рендеринг в HTML5 CR. Он описывает «ожидаемый рендеринг» - не является обязательным требованием, хотя производители браузеров могут решить требовать их соответствия, если они того пожелают, и в целом это, вероятно, будет поддерживать реализации довольно схожими в этом отношении. Например, для h1
ожидаемые настройки (собраны здесь в одно правило - в HTML5 CR они разбросаны):
h1 {
unicode-bidi: isolate;
display: block;
margin-top: 0.67em;
margin-bottom: 0.67em;
font-size: 2.00em;
font-weight: bold;
}
(Существуют дополнительные контекстные правила. Например, вложенность h1
внутри section
, как ожидается, повлияет на настройки.)