Логика применения дефолтных стилей в браузерах
Элад Шехтер подробно разобрал логику применения дефолтных стилей в браузерах — "How Does CSS Work?".
При отображении HTML-элементов к ним всегда применяются стили. Эти стили могут прийти из разных источников:
— значения CSS-свойств по умолчанию из CSS-движка;
— значения элементов, переопределённые с помощью "внутренних" каскадных таблиц стилей браузера (User-Agent Stylesheet);
— стили для нормализации отображения элементов между разными браузерами (normalize.css);
— стили со сбросом значений CSS-свойств (reset.css).
При нормализации и сбросе стилей особую роль играют два первых уровня. За последние пару лет в стандарт было добавлено несколько новых значений и свойств, благодаря которым можно "лавировать" между этими уровнями и уместить в несколько строк полноценный reset.css:
* {
all: unset;
display: revert;
}
*, *::before, *::after{
box-sizing: border-box;
}
Очень хорошая статья. Рекомендую почитать.