Коротко: CSS (Cascading Style Sheets) — это язык описания внешнего вида. В программировании CSS считается «декларативным» языком: вы не пишете алгоритм, а описываете, как должен выглядеть элемент. Он работает вместе с HTML (структура) и JavaScript (поведение) и не является языком программирования в строгом смысле — в нём нет условий в классическом виде и циклов.
Роли трёх технологий
| Технология | За что отвечает | Аналогия |
|---|---|---|
| HTML | структура и содержимое | стены и комнаты |
| CSS | внешний вид | обои, мебель, цвет |
| JavaScript | поведение и логика | электрика и механизмы |
Вкладки: разбор понятий
Вместо «сделай такой-то шаг» вы описываете результат:
.card {
background: #fff;
border-radius: 8px;
}Браузер сам решает, как этого добиться. Это декларативный подход — как в SQL или в описании стилей.
Название «каскадные таблицы стилей» не случайно: если правил несколько, браузер выбирает победителя по специфичности и порядку. Из этого «каскада» и складывается итоговый вид.
- специфичность селектора;
- порядок правил;
- наследование от родителя;
- !important как крайняя мера.
Почему CSS не называют «полноценным программированием»:
- нет переменных с полноценным вычислением (хотя есть CSS-переменные);
- нет условий и циклов как в языках;
- нет функций в привычном смысле;
- нет ввода-вывода.
При этом CSS Turing-полным не является и остаётся языком разметки стилей. Но современный CSS стал мощнее: calc(), min(), clamp(), вложенность, @supports.
CSS применяется не только в вебе:
- сайты и веб-приложения;
- мобильные приложения (React Native, и др. — свои диалекты);
- десктопные приложения на Electron;
- письма и PDF-отчёты (ограниченная поддержка).
Что входит в «вёрстку»
- Разметка HTML по макету.
- Стили CSS: цвета, шрифты, отступы, сетки.
- Адаптив: media-запросы под мобильные и планшеты.
- Состояния: hover, focus, active, disabled.
- Проверка в браузерах и на устройствах.
Частые заблуждения
| Заблуждение | Как на самом деле |
|---|---|
| CSS — это программирование | это язык описания стилей |
| CSS устарел | наоборот, активно развивается |
| Можно всё сделать на JS | без CSS интерфейс не стилизуется |
| Один раз выучил — хватит | CSS меняется, нужно следить за новинками |
Проверьте себя
Вопросы и ответы
Да, вёрстка — это отдельная профессия. JavaScript нужен, когда требуется интерактив и логика.
Потому что несколько правил «наслаиваются» друг на друга, и итог определяется каскадом: специфичностью и порядком.
Нет. CSS активно развивается: появились переменные, вложенность, :has(), контейнерные запросы.
Сначала HTML, потом CSS. Без умения сверстать интерфейс JavaScript сложно применять осмысленно.
Итоги
- CSS — декларативный язык описания внешнего вида.
- HTML — структура, CSS — вид, JS — поведение.
- «Каскадные» — потому что правила наслаиваются по специфичности и порядку.
- CSS постоянно развивается и остаётся обязательным навыком фронтенда.
Комментарии
Пока комментариев нет — будьте первым, кто поделится мнением.