Что такое CSS простыми словами
CSS — это инструкция для браузера, как показывать HTML-элементы пользователю. Если HTML можно сравнить с каркасом дома, то CSS — это отделка: цвет стен, шрифты, расстояния между блоками, размеры кнопок, расположение элементов и общая визуальная композиция.
Без CSS страница будет выглядеть как простой документ: текст, ссылки, изображения и формы без продуманного оформления. CSS превращает эту структуру в полноценный интерфейс: аккуратный, читаемый, адаптивный и удобный для пользователя.
Расшифровка CSS
CSS расшифровывается как Cascading Style Sheets, что переводится как «каскадные таблицы стилей». Слово «каскадные» означает, что стили могут накладываться друг на друга, а браузер выбирает итоговое значение по определённым правилам: источнику стилей, важности, специфичности, порядку подключения и наследованию.
- Cascading — каскад, то есть система приоритетов между разными CSS-правилами.
- Style — стиль, визуальное оформление HTML-элементов.
- Sheets — таблицы или файлы стилей, где хранятся правила оформления.
CSS не является языком программирования в классическом смысле. Он не описывает алгоритмы и бизнес-логику, а задаёт правила отображения элементов. Поэтому CSS обычно называют языком стилей или языком описания внешнего вида документа.
Зачем нужен CSS
CSS нужен, чтобы отделить содержание страницы от её визуального оформления. Благодаря этому разработчик может менять дизайн сайта без изменения структуры HTML-документа. Один CSS-файл может управлять оформлением десятков, сотен или тысяч страниц.
- Оформление текста. CSS задаёт цвет, размер, шрифт, жирность, межстрочный интервал и выравнивание текста.
- Работа с блоками. Через CSS настраивают размеры, отступы, границы, фон и расположение элементов.
- Адаптивность. CSS помогает сайту корректно отображаться на компьютерах, планшетах и смартфонах.
- Макеты страниц. С помощью Flexbox и Grid создают сетки, колонки, карточки, меню, формы и сложные интерфейсы.
- Анимации и состояния. CSS позволяет менять внешний вид элементов при наведении, фокусе, клике или изменении состояния.
- Единый дизайн. Общие стили помогают сохранять одинаковый внешний вид кнопок, заголовков, карточек и форм на всём сайте.
- Оптимизация интерфейса. Правильный CSS улучшает читаемость, удобство и визуальную иерархию страницы.
CSS, HTML и JavaScript: в чём разница
HTML, CSS и JavaScript решают разные задачи. HTML отвечает за структуру, CSS — за оформление, JavaScript — за поведение и интерактивность.
| Технология | За что отвечает | Пример задачи |
|---|---|---|
| HTML | Структура и содержание страницы | Добавить заголовок, абзац, изображение, кнопку или форму |
| CSS | Внешний вид и расположение элементов | Задать цвет кнопки, отступы, сетку, шрифт и адаптивность |
| JavaScript | Логика и интерактивность | Открыть меню, отправить форму, показать модальное окно |
Например, HTML создаёт кнопку, CSS делает её зелёной и округлой, а JavaScript может обработать нажатие и отправить данные формы.
Как выглядит CSS-код
CSS-правило состоит из селектора и блока объявлений. Селектор указывает, к каким элементам нужно применить стили. Внутри фигурных скобок находятся объявления: свойство и значение.
CSS
p { color: blue; font-size: 16px; }p— селектор, который выбирает все параграфы на странице.color— CSS-свойство, которое задаёт цвет текста.blue— значение свойства.font-size— свойство размера шрифта.16px— значение размера шрифта.
Пример CSS для кнопки
- HTML-код кнопки:
HTML
<button class="main-btn">Купить товар</button> - CSS-стили для этой кнопки:
CSS
.main-btn { background-color: #28a745; color: #ffffff; padding: 12px 24px; border: none; border-radius: 6px; font-size: 16px; cursor: pointer; } .main-btn:hover { background-color: #218838; }
В этом примере CSS задаёт цвет фона, цвет текста, внутренние отступы, скругление углов, размер шрифта и изменение цвета при наведении.
Из чего состоит CSS-правило
Любое CSS-правило состоит из нескольких частей. Понимание этой структуры помогает быстро читать код и находить ошибки в стилях.
| Элемент | Что означает | Пример |
|---|---|---|
| Селектор | Указывает, к каким элементам применяются стили | .button, p, #header |
| Свойство | Определяет, что именно меняется | color, margin, display |
| Значение | Задаёт конкретный параметр свойства | red, 20px, flex |
| Объявление | Пара «свойство: значение» | color: red; |
| Блок объявлений | Все объявления внутри фигурных скобок | { color: red; font-size: 16px; } |
Способы подключения CSS к странице
CSS можно подключить к HTML-странице несколькими способами. На практике чаще всего используют внешний CSS-файл, потому что его удобно поддерживать, кэшировать и переиспользовать на разных страницах сайта.
Внешний CSS-файл
Это основной и самый распространённый способ. Файл стилей подключается в секции <head> через элемент <link>.
HTML
<link rel="stylesheet" href="/css/style.css">Такой подход удобен для больших сайтов: стили хранятся отдельно от HTML, а браузер может кэшировать CSS-файл и не загружать его заново на каждой странице.
Атрибут media и условная загрузка. При подключении CSS можно указать атрибут media, который сообщает браузеру, для каких условий нужны стили. Например, <link rel="stylesheet" href="print.css" media="print"> используется для печатной версии и обычно не блокирует отображение обычной экранной версии страницы. Подобные техники применяют для отложенной загрузки некритичных стилей, но их нужно тестировать: ошибка в загрузке CSS может привести к миганию нестилизованного контента или проблемам с первым экраном.
Встроенные стили через style
Стили можно написать внутри HTML-документа в теге <style>. Такой способ подходит для небольших фрагментов, отдельных страниц или технических вставок, но для крупного сайта он менее удобен.
HTML
<style> h1 { font-size: 36px; color: #222222; } </style>Инлайн-стили
Инлайн-стили прописываются прямо в HTML-элементе через атрибут style.
HTML
<p style="color: red;">Красный текст</p>Такой способ лучше использовать ограниченно. Инлайн-стили сложнее поддерживать, они засоряют HTML и могут мешать переиспользованию единой системы оформления.
Почему не стоит злоупотреблять @import
В CSS есть директива @import url("file.css"), которая позволяет подключать один CSS-файл внутри другого. Но для продакшен-сайтов этот способ часто нежелателен: браузер обнаруживает импорт только после загрузки и обработки основного CSS-файла, из-за чего может появиться цепочка зависимых загрузок. Для основных стилей сайта обычно лучше использовать <link rel="stylesheet"> в HTML, чтобы браузер мог раньше начать загрузку нужных CSS-файлов.
Reset и Normalize CSS
Разные браузеры имеют собственные встроенные стили: отступы у заголовков, маркеры списков, стили кнопок и форм могут немного отличаться. Чтобы сделать базовое отображение более предсказуемым, используют Reset CSS или Normalize CSS. Reset сильнее обнуляет стандартные стили, а Normalize сохраняет полезные браузерные значения и исправляет основные различия. На практике выбор зависит от проекта, фреймворка и дизайн-системы.
Что такое каскад в CSS
Каскад — это механизм, по которому браузер выбирает итоговое значение CSS-свойства, если на один элемент одновременно действует несколько правил. Например, один стиль может задавать цвет текста для всех абзацев, другой — для абзацев внутри конкретного блока, а третий — для отдельного класса.
При конфликте правил браузер учитывает несколько факторов:
- источник стилей: браузерные стили, пользовательские стили, стили сайта;
- важность правила, включая
!important; - специфичность селектора;
- порядок подключения правил в коде;
- наследование свойств от родительских элементов.
Именно из-за каскада CSS может вести себя не так, как ожидает разработчик: правило написано, но его перебивает другое, более специфичное или подключённое позже.
Что такое специфичность CSS
Специфичность — это «вес» селектора. Чем селектор точнее указывает на элемент, тем выше его приоритет при конфликте правил.
CSS
p { color: black; } .text { color: blue; } #main-text { color: red; } Если один и тот же элемент одновременно подходит под все три правила, стиль по id обычно будет сильнее класса, а класс — сильнее обычного селектора тега. Поэтому чрезмерное использование id, вложенных селекторов и !important может усложнить поддержку CSS.
Как проверять специфичность в DevTools. Инструменты разработчика в браузере помогают понять, почему конкретный стиль не применяется. Во вкладке Styles видно, какие правила активны, какие перебиты и из какого CSS-файла они пришли. Это позволяет быстро найти конфликтующее правило, проверить порядок подключения стилей и оценить специфичность селекторов.
Что такое наследование в CSS
Наследование означает, что некоторые CSS-свойства автоматически передаются от родительского элемента к дочерним. Например, если задать цвет текста для блока, вложенные абзацы и ссылки могут получить этот цвет без отдельного правила.
CSS
.article { color: #333333; font-family: Arial, sans-serif; } В этом примере вложенный текст внутри блока .article может унаследовать цвет и шрифт. Но не все свойства наследуются. Например, margin, padding, border и размеры блока обычно не наследуются автоматически.
Основные возможности CSS
CSS покрывает почти всю визуальную часть интерфейса. Он используется не только для цвета и шрифта, но и для построения макета, адаптивности, состояния элементов и визуальных эффектов.
- Текст и типографика. Цвет, размер, шрифт, высота строки, межбуквенное расстояние, выравнивание.
- Фоны. Цвета, изображения, градиенты, повторение, позиционирование и размеры фоновых изображений.
- Блочная модель. Размеры, внешние отступы, внутренние отступы, рамки и поведение блока.
- Позиционирование. Управление расположением элементов через
position,top,right,bottom,left,z-index. - Flexbox. Удобная раскладка элементов в строку или колонку.
- Grid. Создание сложных сеток, колонок и макетов страницы.
- Адаптивность. Изменение стилей под разные размеры экрана через медиа-запросы.
- Анимации. Плавные переходы, трансформации и keyframe-анимации.
- Состояния. Стили при наведении, фокусе, активном состоянии или отключении элемента.
Блочная модель CSS
Блочная модель — один из базовых принципов CSS. Каждый HTML-элемент можно представить как прямоугольный блок, который состоит из содержимого, внутренних отступов, границы и внешних отступов.
- Content. Содержимое элемента: текст, изображение, кнопка или другой контент.
- Padding. Внутренний отступ между содержимым и границей.
- Border. Граница элемента.
- Margin. Внешний отступ между элементом и соседними блоками.
CSS
.card { width: 300px; padding: 20px; border: 1px solid #dddddd; margin-bottom: 24px; } Часто в проектах используют свойство box-sizing: border-box;, чтобы ширина блока включала padding и border. Это делает расчёт размеров более предсказуемым.
HTML
* { box-sizing: border-box; }Контекст наложения и почему z-index может не работать
Иногда разработчик задаёт элементу z-index: 9999, но он всё равно оказывается под другим блоком. Частая причина — контекст наложения, или stacking context. Он может создаваться из-за position в сочетании с z-index, а также из-за свойств opacity, transform, filter и других CSS-параметров. Внутри такого контекста элементы сравниваются между собой, но не всегда могут перекрыть элементы из другого контекста. Поэтому проблему лучше решать на уровне структуры слоёв, а не бесконечно увеличивать z-index.
Селекторы CSS
Селекторы определяют, к каким элементам применяются стили. От правильного выбора селекторов зависит чистота CSS-кода, его поддерживаемость и отсутствие конфликтов.
| Тип селектора | Пример | Что выбирает |
|---|---|---|
| Селектор тега | p | Все параграфы |
| Селектор класса | .button | Элементы с классом button |
| Селектор идентификатора | #header | Элемент с id header |
| Вложенный селектор | .menu a | Ссылки внутри блока menu |
| Псевдокласс | a:hover | Ссылку при наведении |
| Псевдоэлемент | p::first-line | Первую строку параграфа |
Flexbox и Grid в CSS
Flexbox и Grid — современные инструменты CSS для построения макетов. Они заменили многие старые подходы, где для раскладки использовали таблицы, float или сложные хаки.
Flexbox
Flexbox удобен, когда нужно выстроить элементы в строку или колонку, распределить пространство между ними, выровнять по центру или сделать гибкий ряд карточек.
CSS
.features { display: flex; gap: 24px; align-items: center; justify-content: space-between; }Grid
CSS Grid используют для более сложных сеток: колонок, рядов, карточек каталога, общего макета страницы или адаптивных блоков.
CSS
.catalog { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }На практике Flexbox чаще используют для выравнивания внутри компонента, а Grid — для сеток и общей структуры.
Адаптивность в CSS
Адаптивность означает, что сайт корректно отображается на разных устройствах: компьютерах, ноутбуках, планшетах и смартфонах. В CSS для этого используют гибкие размеры, относительные единицы, медиа-запросы, Flexbox, Grid и современные подходы к изображениям.
- Пример медиа-запроса:
CSS
.catalog { display: grid; grid-template-columns: repeat(3, 1fr); } @media (max-width: 768px) { .catalog { grid-template-columns: 1fr; } }
В этом примере на широком экране карточки показываются в три колонки, а на экранах до 768 пикселей — в одну колонку.
CSS-переменные
CSS-переменные, или custom properties, позволяют хранить повторяющиеся значения в одном месте: цвета, размеры, отступы, радиусы, шрифты и другие параметры дизайн-системы.
CSS
:root { --main-color: #1a73e8; --text-color: #222222; --section-gap: 64px; } .button { background-color: var(--main-color); color: #ffffff; }Переменные упрощают поддержку проекта. Если нужно изменить основной цвет сайта, достаточно поменять значение в одном месте, а не искать его по всем CSS-файлам.
Псевдоклассы и псевдоэлементы
Псевдоклассы позволяют стилизовать элемент в определённом состоянии. Например, при наведении, фокусе, активном состоянии или выборе пользователем.
CSS
a:hover { color: red; } input:focus { border-color: #1a73e8; }Псевдоэлементы позволяют стилизовать часть элемента или добавить декоративный элемент через CSS.
CSS
.title::after { content: ""; display: block; width: 60px; height: 3px; background-color: #1a73e8; }Анимации и переходы в CSS
CSS позволяет создавать простые визуальные эффекты без JavaScript: плавную смену цвета, появление элементов, трансформации, вращение, масштабирование и другие анимации.
CSS
.button { transition: background-color 0.2s ease, transform 0.2s ease; } .button:hover { background-color: #1558b0; transform: translateY(-2px); } Для более сложных анимаций используют @keyframes.
CSS
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .popup { animation: fadeIn 0.3s ease; }Анимации нужно использовать аккуратно. Избыточные эффекты могут ухудшать восприятие сайта, отвлекать пользователя и снижать производительность на слабых устройствах.
Как CSS влияет на SEO
CSS не заменяет SEO-оптимизацию, но влияет на техническое качество сайта, скорость загрузки, мобильное удобство и пользовательский опыт. Если CSS написан плохо, страница может медленно отображаться, ломаться на смартфонах, вызывать сдвиги макета или мешать пользователю выполнить целевое действие.
- Скорость загрузки. Большие CSS-файлы могут замедлять отображение страницы.
- Render-blocking. Браузер должен загрузить и обработать CSS, прежде чем корректно отрисовать страницу.
- Core Web Vitals. CSS может влиять на LCP, CLS и другие показатели пользовательского опыта.
- Мобильная версия. Ошибки в CSS могут ломать адаптивность, кнопки, формы и меню.
- Доступность. Неправильные цвета, маленький текст и скрытые элементы ухудшают доступность интерфейса.
- Скрытие контента. Свойства
display: noneиvisibility: hiddenскрывают элементы не только визуально, но и от скринридеров. Это нормально для контента, который действительно должен быть недоступен, например закрытого меню или неактивного модального окна. Но важную информацию, которая должна быть доступна пользователю, нельзя просто прятать через CSS без продуманной логики доступности. - Конверсия. CSS влияет на понятность CTA, читаемость, визуальную иерархию и удобство форм.
CSS и Core Web Vitals
CSS может влиять на пользовательские метрики, особенно если стили блокируют рендеринг, вызывают позднюю перерисовку элементов или приводят к сдвигам макета.
- LCP. Слишком тяжёлый CSS может задерживать отображение главного содержимого первого экрана.
- CLS. Неправильные размеры изображений, шрифтов, баннеров и блоков могут вызывать сдвиги макета.
- INP. Сложные стили, тяжёлые анимации и частые перерасчёты макета могут ухудшать отзывчивость интерфейса.
Поэтому при техническом аудите важно проверять не только вес изображений и JavaScript, но и качество CSS: объём файлов, критические стили, неиспользуемый код, порядок загрузки и влияние на первый экран.
Что такое render-blocking CSS
Render-blocking CSS — это CSS, который задерживает отображение страницы. Браузеру нужно загрузить и обработать таблицы стилей, чтобы понять, как отрисовать элементы. Если CSS-файлы большие, подключены в неправильном порядке или содержат много лишнего кода, пользователь может дольше видеть пустой экран или незавершённую страницу.
Для оптимизации используют разные подходы:
- минификацию CSS-файлов;
- удаление неиспользуемых стилей;
- выделение критического CSS для первого экрана;
- отложенную загрузку некритичных стилей;
- объединение или разумное разделение CSS-файлов;
- кэширование статических файлов;
- оптимизацию шрифтов и стилей, которые влияют на первый экран.
Критический CSS (Critical CSS)
Критический CSS — это техника, при которой стили, необходимые для отображения первого экрана, встраиваются прямо в HTML-документ внутри тега <style>, а остальные стили загружаются отдельно. Это может ускорить отображение видимой части страницы и улучшить FCP или LCP, если именно CSS задерживал первый рендер. Но применять Critical CSS нужно аккуратно: избыточное встраивание стилей увеличивает HTML, усложняет поддержку и может дать обратный эффект.
CSS при техническом и UX/UI-аудите сайта
При техническом аудите сайта CSS проверяют как часть фронтенд-оптимизации. При UX/UI-аудите CSS оценивают с точки зрения удобства интерфейса: читаемости текста, размера кнопок, расстояний между элементами, поведения форм и адаптивности.
Обычно проверяют:
- нет ли неиспользуемого CSS;
- не слишком ли большой общий объём CSS-файлов;
- не блокируют ли стили отображение первого экрана;
- корректно ли работает адаптивная версия;
- не вылезает ли текст за границы экрана;
- удобны ли кнопки и формы на смартфонах;
- нет ли сдвигов макета при загрузке;
- не используется ли слишком много
!important; - нет ли конфликтов специфичности;
- согласованы ли стили с дизайн-системой сайта.
Типичные ошибки в CSS
Ошибки в CSS могут быть неочевидны: сайт вроде бы отображается, но медленно загружается, плохо работает на мобильных устройствах или сложно поддерживается при дальнейшем развитии.
- слишком большие CSS-файлы;
- много неиспользуемого кода после редизайна;
- частое использование
!importantвместо правильной структуры стилей; - слишком вложенные и тяжёлые селекторы;
- дублирование одних и тех же правил в разных файлах;
- инлайн-стили вместо переиспользуемых классов;
- подключение CSS через
@importвнутри CSS-файла вместо<link>для основных стилей; - отсутствие адаптивных стилей для мобильных экранов;
- фиксированные ширины, из-за которых блоки ломаются на смартфонах;
- неправильная работа со шрифтами и межстрочными интервалами;
- анимации, которые перегружают слабые устройства;
- CSS подключается через JavaScript и поздно применяется к странице;
- важный контент скрыт через
display: noneилиvisibility: hiddenбез логики доступности; - стили не согласованы между разными страницами сайта.
Как оптимизировать CSS
Оптимизация CSS нужна, чтобы сайт быстрее загружался, стабильнее отображался и проще поддерживался. Особенно это важно для интернет-магазинов, сервисов, медиа, сайтов услуг и проектов с большим количеством шаблонов.
- Удалять неиспользуемые стили. После редизайна и доработок в CSS часто остаются старые правила.
- Минифицировать файлы. Минификация убирает лишние пробелы, переносы и комментарии в продакшен-версии.
- Не перегружать первый экран. Важные стили должны загружаться быстро, а второстепенные — не мешать рендерингу.
- Использовать кэширование. Статические CSS-файлы должны кэшироваться браузером.
- Сокращать дубли. Повторяющиеся правила лучше выносить в общие классы или переменные.
- Не злоупотреблять
!important. Этот приём усложняет поддержку и отладку. - Строить понятную структуру. Стили должны быть логично разделены по компонентам, блокам или слоям.
- Проверять мобильные сценарии. Адаптивность нужно тестировать на реальных размерах экранов.
Методологии и подходы к организации CSS
На небольшом сайте CSS может быть простым. Но по мере роста проекта стили становятся сложнее, появляются конфликты, дубли и разные варианты одних и тех же компонентов. Чтобы избежать хаоса, используют методологии и соглашения.
- БЭМ. Методология именования классов через блок, элемент и модификатор.
- Component-based CSS. Стили пишутся вокруг отдельных компонентов интерфейса.
- Utility-first. Подход, где оформление собирается из маленьких служебных классов.
- CSS Modules. Изоляция стилей на уровне компонентов в современных фронтенд-проектах.
- Design tokens. Единые переменные для цветов, размеров, отступов и типографики.
Выбор подхода зависит от проекта. Для корпоративного сайта может хватить БЭМ и аккуратной структуры файлов. Для сложного веб-приложения чаще используют компонентный подход.
Препроцессоры CSS
Препроцессоры — это инструменты, которые расширяют возможности CSS и затем компилируют код в обычный CSS, понятный браузеру. Самые известные примеры — Sass, SCSS и Less.
Они позволяют использовать переменные, вложенность, миксины, функции и более удобную структуру файлов. При этом итоговый код всё равно должен быть оптимизирован: препроцессор не гарантирует хороший CSS сам по себе.
CSS и ИИ-поиск
Для ИИ-поиска CSS важен косвенно. Нейросетевые поисковые системы в первую очередь анализируют содержание, структуру и полезность страницы, но плохой CSS может мешать пользователю и поисковым системам нормально воспринимать контент. Например, если текст скрыт, блоки налезают друг на друга, мобильная версия ломается или первый экран загружается слишком долго, страница хуже выполняет свою задачу.
Для хорошей видимости в поиске и ИИ-ответах важно, чтобы CSS не прятал основной контент, не ухудшал доступность, не создавал проблем с мобильной версией и не мешал быстрой отрисовке страницы. В идеале оформление должно усиливать смысловую структуру: делать заголовки заметными, таблицы читаемыми, кнопки понятными, а FAQ и экспертные блоки удобными для восприятия.
Чек-лист CSS для сайта
- CSS подключён через внешний файл, если это основной набор стилей.
- На странице нет лишних инлайн-стилей без необходимости.
- Стили находятся в логичной структуре файлов.
- CSS минифицирован в продакшен-версии.
- Неиспользуемые стили удалены или сокращены.
- Критический CSS первого экрана загружается быстро.
- Сайт корректно отображается на мобильных устройствах.
- Нет горизонтальной прокрутки из-за фиксированных ширин.
- Кнопки и ссылки удобны для нажатия на смартфоне.
- Текст читается без масштабирования.
- Нет заметных сдвигов макета при загрузке.
- CSS не скрывает важный контент от пользователя.
- Селекторы не перегружены лишней вложенностью.
!importantиспользуется только в исключительных случаях.- Стили согласованы с дизайн-системой и шаблонами сайта.
Комментарий экспертаCSS часто недооценивают при SEO- и UX-аудите, считая его только «оформлением». На практике именно CSS может быть причиной медленного первого экрана, сдвигов макета, проблем с мобильной версией и низкой конверсии. Хороший CSS — это не просто красивый дизайн, а управляемая система: понятная структура классов, минимальный лишний код, стабильная адаптивность, предсказуемый каскад и аккуратная работа с критическими стилями.
Вопросы и ответы о CSS
CSS — это язык стилей, который отвечает за внешний вид веб-страниц. Он задаёт цвета, шрифты, размеры, отступы, фон, расположение элементов, адаптивность и визуальные эффекты. HTML создаёт структуру страницы, а CSS управляет её оформлением.
CSS нужен, чтобы сделать сайт визуально понятным, удобным и адаптивным. С его помощью можно оформить текст, кнопки, меню, карточки товаров, формы, сетки, отступы и мобильную версию. Без CSS страница останется простой HTML-структурой без полноценного дизайна.
HTML отвечает за структуру и содержание страницы, CSS — за внешний вид, а JavaScript — за поведение и интерактивность. Например, HTML создаёт кнопку, CSS задаёт её цвет и размер, а JavaScript обрабатывает нажатие.
CSS влияет на SEO косвенно через скорость загрузки, мобильное удобство, Core Web Vitals, доступность и пользовательский опыт. Если CSS слишком тяжёлый, блокирует отображение страницы или ломает адаптивность, это может ухудшить поведение пользователей и техническое качество сайта.
При аудите проверяют размер CSS-файлов, неиспользуемые стили, render-blocking CSS, адаптивность, сдвиги макета, мобильную версию, читаемость текста, удобство кнопок, конфликты специфичности, чрезмерное использование !important и корректность отображения ключевых страниц.

