Синтаксис CSS — свойства, правила и комментарии

CSS состоит из правил. Каждое правило — это селектор и блок объявлений со свойствами и значениями. Разбираем структуру CSS, единицы измерения, сокращённые свойства и таблицу основных свойств.

Вся рубрика CSS: уроки, примеры и справочник по стилям

Анатомия CSS правила

/*
     ┌── СЕЛЕКТОР: к каким элементам применить стиль
     │
    h1  {
           color:    #2563eb  ;
           │          │       └── точка с запятой — конец объявления
           │          └── ЗНАЧЕНИЕ
           └── СВОЙСТВО
        }
        └── блок объявлений — фигурные скобки
*/

/* Несколько объявлений в одном блоке */
p {
  color: #374151;        /* цвет текста */
  font-size: 1rem;       /* размер шрифта */
  line-height: 1.6;      /* межстрочный */
  margin-bottom: 1rem;   /* отступ снизу */
}

/* Группировка — применить к нескольким */
h1, h2, h3 {
  font-weight: 700;
  line-height: 1.2;
  color: #111827;
}
Анатомия CSS правила: селектор, блок объявлений, свойство, значение, двоеточие и точка с запятой
CSS-правило читается как инструкция: к каким элементам применить стиль и какие свойства им назначить.

Единицы измерения CSS

ЕдиницаТипОписаниеПример
pxАбсолютнаяПиксели экранаfont-size: 16px
ptАбсолютнаяТипографские пункты (для печати)font-size: 12pt
remОтносительнаяОт корневого <html> (обычно 16px)font-size: 1rem
emОтносительнаяОт родительского элементаfont-size: 1.2em
%ОтносительнаяПроцент от родителяwidth: 50%
vwViewportПроцент ширины окнаwidth: 100vw
vhViewportПроцент высоты окнаheight: 100vh
vminViewportМеньшая сторона viewportfont-size: 3vmin
frGridДоля свободного пространства в Gridgrid-template-columns: 1fr
/* Примеры единиц */
html { font-size: 16px; }  /* база для rem */

h1   { font-size: 2rem; }    /* 32px — всегда от html */
p    { font-size: 1rem; }    /* 16px */
small{ font-size: 0.875rem; } /* 14px */

.container { width: 100%; max-width: 1200px; }
.hero      { height: 100vh; }   /* на весь экран */
.half      { width: 50%; }      /* от родителя */

/* clamp — адаптивные размеры без медиазапросов */
h1 {
  font-size: clamp(1.75rem, 5vw, 3rem);
  /* Минимум 28px, растёт с экраном, максимум 48px */
}
Карта единиц измерения CSS: px rem em percent vw vh fr clamp
Единицы CSS выбирают по задаче: фиксированные детали в px, типографику и отступы в rem, сетки в fr, адаптивные размеры через clamp().

Таблица основных CSS свойств

СвойствоЧто делаетПример
colorЦвет текстаcolor: #333
background-colorЦвет фонаbackground-color: #fff
backgroundФон (shorthand)background: url('bg.jpg') center/cover
font-familyШрифтfont-family: 'Inter', sans-serif
font-sizeРазмер шрифтаfont-size: 1rem
font-weightЖирностьfont-weight: 700
line-heightМежстрочный интервалline-height: 1.6
text-alignВыравнивание текстаtext-align: center
marginВнешний отступmargin: 0 auto
paddingВнутренний отступpadding: 16px 24px
borderРамкаborder: 1px solid #ccc
border-radiusСкругление угловborder-radius: 8px
widthШиринаwidth: 100%
heightВысотаheight: 200px
max-widthМаксимальная ширинаmax-width: 1200px
displayТип отображенияdisplay: flex
positionПозиционированиеposition: relative
top / right / bottom / leftСмещение позицииtop: 20px
z-indexПорядок наслоенияz-index: 10
overflowКонтент за пределамиoverflow: hidden
opacityПрозрачностьopacity: 0.5
box-shadowТень блокаbox-shadow: 0 4px 12px rgba(0,0,0,0.1)
transitionАнимация переходаtransition: all 0.2s ease
transformТрансформацияtransform: translateY(-4px)
cursorКурсор мышиcursor: pointer
Карта основных CSS свойств: color font margin padding display position shadow transition transform
CSS-свойства удобно учить группами: текст, размеры, отступы, layout, слои, эффекты и поведение.

Сокращённые свойства (shorthand)

/* margin и padding: top right bottom left (по часовой стрелке) */
margin: 10px 20px 10px 20px;  /* 4 значения */
margin: 10px 20px;            /* 2 значения: вертикальный горизонтальный */
margin: 10px;                 /* 1 значение: все стороны */

/* border: ширина стиль цвет */
border: 1px solid #e5e7eb;
border: 2px dashed blue;
border: none;

/* background: цвет изображение повтор позиция/размер */
background: #f9fafb url('pattern.png') repeat center/100px;
background: linear-gradient(135deg, #667eea, #764ba2);

/* font: стиль начертание жирность размер/межстрочный семейство */
font: italic 600 1rem/1.6 'Inter', sans-serif;

/* transition: свойство время функция задержка */
transition: background-color 0.2s ease, transform 0.15s ease;

/* animation: имя время функция задержка повторения направление заполнение */
animation: fadeIn 0.5s ease 0s 1 normal forwards;
Сокращенные CSS свойства shorthand: margin border background font transition animation
Shorthand-свойства сокращают запись, но важно помнить порядок значений и возможный сброс отдельных sub-свойств.

Комментарии в CSS

/* Это комментарий в CSS */

/*
   Многострочный комментарий.
   Описание блока стилей.
*/

.header {
  background: #1a1a2e;  /* тёмный фон шапки */
  padding: 20px;        /* внутренние отступы */
}

/* === БЛОК: КАРТОЧКИ === */
/* --- КОМПОНЕНТ: КНОПКИ --- */

/* TODO: добавить hover-эффект */
/* FIXME: исправить на Safari */
/* HACK: временное решение */
/* NOTE: IE11 не поддерживает grid */
Комментарии в CSS: многострочный комментарий, блоки секций, TODO, FIXME, HACK, NOTE
CSS-комментарии используют для пояснений, разделения секций и технических пометок вроде TODO, FIXME, HACK и NOTE.

!important — когда использовать

/* !important перебивает всё — включая инлайн стили */
.hidden { display: none !important; }

/* Примеры оправданного использования */

/* Утилитарные классы (Tailwind-стиль) */
.hidden   { display: none !important; }
.sr-only  { position: absolute !important; width: 1px !important; }

/* Перебить стили сторонней библиотеки */
.widget-container { font-family: 'Inter' !important; }

/* Сброс в медиазапросе */
@media print {
  .no-print { display: none !important; }
}

/* ❌ Плохо: злоупотребление — симптом проблемы со специфичностью */
p.intro { color: blue !important; }  /* лучше разобраться с каскадом */
CSS important и специфичность: обычное правило, class, inline style, important
!important стоит использовать точечно: для утилит, print-режима или сторонних библиотек, а не вместо понимания каскада.

Часто задаваемые вопросы о синтаксисе CSS

px vs rem — что использовать?

Для шрифтов и отступовrem. Это позволяет пользователям менять базовый размер шрифта в настройках браузера, и всё масштабируется. Для рамок и тенейpx (1px border не должна вдруг стать 2px). Для максимальной ширины контейнераpx (1200px всегда 1200px). Для отступов внутри компонентов можно использовать em — тогда они масштабируются пропорционально шрифту.

Почему CSS свойство не применяется?

Чаще всего причина одна из: 1) Опечатка в имени свойства или значения — браузер игнорирует неизвестные свойства без ошибки. 2) Конфликт специфичности — другое правило с более высокой специфичностью перебивает. 3) Свойство неприменимо к типу элемента (например, width/height к display: inline). 4) Неправильный синтаксис — пропущена точка с запятой, скобка или кавычка. Инструмент для диагностики: DevTools → Elements → вкладка Computed — видны реально применённые значения и откуда они пришли.

Диагностика CSS в DevTools: ошибка свойства, перечеркнутое правило, Computed, specificity
Если CSS-свойство не применяется, проверь синтаксис, специфичность, применимость свойства и итоговое значение во вкладке Computed.

Как найти все CSS свойства элемента в браузере?

Открой DevTools (F12), выбери элемент в панели Elements. Справа вкладка Styles — все правила, применённые к элементу (с файлом и строкой). Вкладка Computed — только итоговые применённые значения (без перекрытых). В поле поиска Computed можно найти конкретное свойство. Перечёркнутые свойства в Styles — перебиты другим правилом с большей специфичностью.

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x