Содержание
Reset.css: сброс стилей для создания консистентной веб-верстки
Черновик готовит редакция с помощью ИИ. За стандарт издания отвечает главный редактор — Валерий Курземнек.
CSS reset — это набор стилей, который сбрасывает браузерные стили по умолчанию: внешние и внутренние отступы, границы, размеры шрифтов. Каждый браузер отображает одни и те же элементы HTML по-своему, и сброс стилей даёт вёрстке единую стартовую точку — страница выглядит одинаково в Chrome, Firefox и Safari. Классика — файл reset.css Эрика Мейера: версия 2.0 опубликована 26 января 2011 года и лежит в открытом доступе. Материал обновлён в августе 2026 года.
- reset.css обнуляет margin, padding, border и font у всех элементов — дизайн строится с чистого листа.
- normalize.css не обнуляет, а выравнивает стили между браузерами и сохраняет полезные дефолты.
- Современный сброс короче: box-sizing: border-box, обнуление margin, text-wrap: balance.
- Во фреймворках сброс уже встроен: Tailwind включает Preflight, отдельный файл не нужен.
Что такое reset.css
reset.css — это набор стилей, разработанных для сброса стилевых настроек браузера до унифицированного и нулевого состояния. Он устраняет различия в стандартных стилях между разными браузерами и задаёт начальные значения стилевых свойств элементов HTML.
Идея — убрать браузерные стили по умолчанию: отступы, маргины, шрифты, границы — и передать разработчику контроль над дизайном. Это позволяет создавать консистентные и предсказуемые веб-сайты, не зависящие от особенностей конкретных браузеров. Сам Эрик Мейер называет свой сброс стартовой точкой, которую правят и расширяют под конкретный проект.
Зачем это нужно
- Унификация стилей: единый и консистентный внешний вид веб-страниц на всех платформах.
- Предсказуемость: сброс всех настроек оформления до нулевых значений делает внешний вид элементов известным заранее — стили настраиваются от этой базы.
- Защита от переопределения: без сброса браузерные стили по умолчанию вмешиваются в пользовательские стили.
Сильнее всего эффект заметен на сложных макетах: при вёрстке сайдбаров расхождение дефолтных отступов между браузерами ломает сетку первым.
Как это работает
reset.css — файл сброса стилей. Минимальный пример:
| html, body, div, span, h1, h2, h3, p {
margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } |
Этот код сбрасывает margin, padding и border до нулевых значений — так одним правилом можно сбросить отступы в CSS у всех перечисленных элементов. font-size: 100% и font: inherit предотвращают неявное изменение шрифта: элемент наследует гарнитуру и размер родителя.
Ровно эти шесть свойств сбрасывает и оригинальный reset.css версии 2.0 с сайта Эрика Мейера — код опубликован со статусом public domain, его можно копировать в любой проект без лицензионных ограничений. Отсюда же берут код те, кто ищет reset css на GitHub.
Преимущества
- Консистентность: reset.css даёт единый стартовый пункт, сайты выглядят одинаково во всех браузерах.
- Экономия времени: не нужно вручную переопределять браузерные стили в каждом новом проекте.
- Предсказуемость: внешний вид элементов на странице известен заранее, что упрощает стилизацию и вёрстку.
Как использовать

Подключите файл в проект раньше остальных стилей — через тег <link> в разделе <head> HTML-страницы:
HTML
| <!DOCTYPE html>
<html> <head> <link rel=»stylesheet» type=»text/css» href=»reset.css»> <link rel=»stylesheet» type=»text/css» href=»styles.css»> </head> <body> <!— Содержимое страницы —> </body> </html> |
Порядок принципиален: каскад CSS отдаёт приоритет более поздним правилам — сброс идёт первым, ваши стили в styles.css ложатся поверх очищенной базы.
Потренироваться можно на игре «Найди пару» на HTML и JS — сброс стилей там ставится первым же файлом.
Пример
Более полный вариант, который сбрасывает стили для основных HTML-элементов — фрагмент классического reset.css:
CSS
| html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } |
Этот вариант охватывает широкий набор элементов и убирает браузерные стили по умолчанию радикально: списки теряют маркеры, заголовки — размер и жирность. Всё оформление после такого сброса задаётся вручную.
Reset, normalize и современный сброс: что выбрать

Проект normalize.css называет себя «a modern, HTML5-ready alternative to CSS resets»: он сохраняет полезные браузерные дефолты, выравнивает различия между браузерами и исправляет их баги. Актуальная версия — v8.0.1, файл используют GitHub, Medium и Bootstrap. Разбор подхода — в статье зачем нужен нормализатор CSS.
| Подход | Что делает | Когда выбирать |
| reset.css (Эрик Мейер, v2.0) | Обнуляет margin, padding, border и font у всех элементов | Дизайн строится с нуля, нужен полный контроль над каждым элементом |
| normalize.css (v8.0.1) | Сохраняет полезные дефолты, выравнивает различия браузеров, чинит баги | Нужны рабочие стандартные стили: формы, типографика, семантика |
| Современный reset | Короткий набор правил: box-sizing, обнуление margin, text-wrap: balance | Новые проекты под актуальные браузеры |
| Сброс внутри фреймворка | Tailwind Preflight на базе modern-normalize | Проект уже на фреймворке — отдельный файл не нужен |
После reset.css оформление каждого элемента задаётся заново, после normalize.css большинство дефолтов остаётся рабочими.
Современный CSS reset
Современные сбросы короче классических: браузеры стали ближе друг к другу. Ориентир — «A (more) modern CSS reset» Энди Белла от 18 сентября 2023 года, лицензия Creative Commons Attribution. Ядро правил:
CSS
| *, *::before, *::after {
box-sizing: border-box; } body { min-height: 100vh; line-height: 1.5; } h1, h2, h3, h4 { line-height: 1.1; text-wrap: balance; } img { max-width: 100%; display: block; } input, button, textarea, select { font: inherit; } |
Здесь box-sizing: border-box включает рамки и внутренние отступы в заданный размер элемента, text-wrap: balance выравнивает строки заголовков, font: inherit заставляет поля форм наследовать шрифт страницы. В полной версии сброса у Белла есть ещё text-size-adjust: none и отключение маркеров у списков с role=»list».
Сброс стилей во фреймворках
Если проект собран на CSS-фреймворке, отдельный reset.css не нужен. Tailwind по умолчанию подключает Preflight — по документации это «an opinionated set of base styles», построенный на modern-normalize: он убирает margin и padding у всех элементов, снимает стили с заголовков и списков, делает изображения блочными. Отключается Preflight удалением строки импорта preflight.css.
Вопросы о CSS reset
Что такое CSS reset простыми словами?
Набор CSS-правил, который обнуляет стили браузера по умолчанию — отступы, границы, размеры шрифтов, — чтобы страница выглядела одинаково во всех браузерах.
Чем reset.css отличается от normalize.css?
reset.css сбрасывает все стили до нулевых значений, normalize.css сохраняет полезные браузерные дефолты, выравнивает различия между браузерами и исправляет их баги.
Как сбросить отступы в CSS у всех элементов?
Правило * { margin: 0; padding: 0; } обнуляет внешние и внутренние отступы у всех элементов — так делает, например, Preflight в Tailwind. Классический reset.css Эрика Мейера дополнительно сбрасывает border, font-size и vertical-align.
Нужен ли reset.css при работе с Tailwind или другим фреймворком?
Отдельный файл не нужен: Tailwind уже включает сброс Preflight на базе modern-normalize, он отключается удалением строки импорта preflight.css.
Что означает font: inherit в reset.css?
Свойство заставляет элемент наследовать шрифт родителя вместо браузерного значения по умолчанию: заголовки и поля форм получают гарнитуру и размер, заданные контейнеру.
Заключение
reset.css обеспечивает консистентный и предсказуемый стартовый пункт для веб-вёрстки: браузерные стили по умолчанию обнулены, дизайн — с чистого листа. Для проектов с готовыми дефолтами берите normalize.css, для новых под актуальные браузеры — современный сброс, во фреймворках сброс уже встроен. Часть рутины с базовыми стилями снимает нейросеть — разбор в статье 6 примеров того, как ChatGPT помогает начинающему frontend-разработчику.
