Основные свойства css
🅰️ Шрифт
font-family: Arial, sans-serif; /* семейство шрифта */
font-weight: bold; /* жирность: normal | bold | 100–900 */
font-style: italic; /* курсив */
font-variant: small-caps; /* малые заглавные буквы */
📏 Размер и масштаб текста
font-size: 16px; /* размер шрифта */
line-height: 1.5; /* межстрочное расстояние */
letter-spacing: 0.5px; /* расстояние между буквами */
word-spacing: 2px; /* расстояние между словами */
🎨 Цвет и оформление
color: black; /* цвет текста: #ffffff */
text-shadow: 2px 2px 5px gray; /* тень текста */
📍 Выравнивание и оформление
text-align: center; /* выравнивание: left | right | center | justify */
text-indent: 30px; /* отступ первой строки */
text-transform: uppercase; /* преобразование регистра: uppercase | lowercase | capitalize */
direction: rtl; /* направление текста: ltr (слева направо), rtl (справа налево) */
white-space: nowrap; /* запрет переноса строк */
🔗 Оформление ссылок и подчёркивания
text-decoration: underline; /* подчёркивание: none | underline | line-through | overline */
text-decoration-color: red; /* цвет подчёркивания */
text-decoration-style: wavy; /* стиль подчёркивания: solid | double | dotted | dashed | wavy */
🔧 Flexbox
display: flex; /* включить flex-контейнер */
flex-direction: row; /* направление: row | column | row-reverse | column-reverse */
flex-wrap: wrap; /* перенос: nowrap | wrap | wrap-reverse */
justify-content: center; /* горизонтальное выравнивание: flex-start | flex-end | center | space-between | space-around | space-evenly */
align-items: center; /* вертикальное выравнивание: stretch | flex-start | flex-end | center | baseline */
align-content: space-between;/* выравнивание строк (при переносе) */
gap: 10px; /* отступы между элементами */
🧩 Элементы (дочерние)
flex-grow: 1; /* растягивание — сколько места занимает (1 = равномерно) */
flex-shrink: 0; /* сжатие — можно ли сжимать */
flex-basis: 100px; /* базовый размер */
flex: 1 1 100px; /* сокращённо: grow shrink basis */
align-self: center; /* индивидуальное выравнивание */
order: 2; /* порядок отображения */
💡 Пример:
.container {
display: flex;
justify-content: space-between;
align-items: center;
}
🧠 Псевдоклассы и псевдоэлементы
:hover /* при наведении */
:active /* при нажатии */
:focus /* при фокусе (например, в input) */
:visited /* посещённая ссылка */
:checked /* отмеченный checkbox/radio */
:disabled /* отключённый элемент */
:enabled /* включённый элемент */
:required /* обязательное поле формы */
:valid /* валидное значение формы */
:invalid /* невалидное */
🔁 Логические и позиционные селекторы
:first-child /* первый потомок родителя */
:last-child /* последний */
:nth-child(2) /* второй */
:nth-child(odd) /* нечётные */
:not(.disabled) /* всё, кроме .disabled */
:has(input) /* если внутри есть input (поддерживается не везде) */
:empty /* элемент без содержимого */
🧩 Псевдоэлементы
::before {
content: "★ ";
color: gold;
}
::after {
content: " →";
color: gray;
}
💡 Пример:
a:hover::after {
content: " (ссылка)";
color: gray;
}
🎨 Цвета, фон и границы
background-color: #f5f5f5; /* цвет фона */
opacity: 0.8; /* прозрачность (0 — полностью прозрачный, 1 — полностью видимый) */
🖼 Фон
background-image: url("image.jpg"); /* картинка фона */
background-size: cover; /* масштабирование: cover | contain */
background-repeat: no-repeat; /* повтор: repeat | no-repeat */
background-position: center center; /* позиция */
background-attachment: fixed; /* прокрутка: scroll | fixed */
⏹ Границы
border: 1px solid black; /* универсальное свойство */
border-width: 2px; /* толщина */
border-style: dashed; /* стиль: solid | dashed | dotted | double | none */
border-color: red; /* цвет */
border-radius: 8px; /* скругление углов */
📦 Тень
box-shadow: 2px 2px 5px rgba(0,0,0,0.3); /* тень блока */
🧱 CSS Grid
display: grid; /* включить grid */
grid-template-columns: 1fr 2fr; /* ширины колонок: можно px, %, fr */
grid-template-rows: auto 100px; /* высоты строк */
grid-template-areas: /* именованные области */
"header header"
"sidebar main";
grid-gap: 10px; /* отступы между строками и колонками */
column-gap: 10px; /* только между колонками */
row-gap: 20px; /* только между строками */
justify-items: center; /* выравнивание содержимого ячеек по горизонтали */
align-items: start; /* по вертикали */
📦 Элементы (дочерние)
grid-column: 1 / 3; /* от какой до какой колонки (можно span: span 2) */
grid-row: 2 / 4; /* аналогично — строки */
grid-area: header; /* размещение в именованной области */
justify-self: end; /* горизонтальное выравнивание элемента */
align-self: center; /* вертикальное выравнивание */
💡 Пример:
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
📱 Адаптивный дизайн и медиа-запросы
@media (max-width: 768px) {
body {
font-size: 16px;
}
}
🔍 Часто используемые условия
(min-width: 600px) /* от 600px и шире */
(max-width: 1024px) /* до 1024px */
(orientation: landscape) /* горизонтальная ориентация */
(pointer: coarse) /* устройства с грубым вводом (пальцы) */
💻 Комбинирование условий
@media (min-width: 768px) and (max-width: 1024px) {
.menu {
display: none;
}
}
🧭 Навигация и курсоры
a {
text-decoration: none; /* убрать подчёркивание */
color: inherit; /* унаследовать цвет */
cursor: pointer; /* курсор "рука" */
}
button {
border: none; /* убрать рамку */
background: transparent; /* убрать фон */
cursor: pointer;
}
🖱️ Типы курсоров
cursor: pointer; /* рука (на кликабельных элементах) */
cursor: default; /* обычный курсор */
cursor: text; /* текстовый курсор (I-beam) */
cursor: move; /* курсор "перемещения" */
cursor: not-allowed; /* запрещено */
cursor: grab; /* рука с хватом */
📐 Размеры, отступы и позиционирование
width: 200px; /* ширина */
height: 100px; /* высота */
min-width: 100px; /* минимальная ширина */
max-width: 500px; /* максимальная ширина */
box-sizing: border-box; /* включает padding и border в width/height */
📦 Внутренние отступы (padding)
padding: 10px; /* отступ со всех сторон */
padding: 10px 20px; /* сверху/снизу, слева/справа */
padding: 10px 15px 5px 20px; /* сверху, справа, снизу, слева */
📤 Внешние отступы (margin)
margin: 0 auto; /* по центру по горизонтали */
margin: 10px; /* со всех сторон */
margin: 10px 20px; /* сверху/снизу, слева/справа */
margin: 10px 15px 5px 20px; /* сверху, справа, снизу, слева */
📌 Позиционирование
position: static; /* по умолчанию */
position: relative; /* относительно обычного положения */
position: absolute; /* абсолютно (внутри родителя с relative/absolute) */
position: fixed; /* фиксировано к экрану */
position: sticky; /* "прилипает" при прокрутке */
top: 10px; left: 20px; /* смещения */
z-index: 10; /* порядок наложения */
🧱 Отображение и тип элемента
display: block; /* блочный элемент */
display: inline; /* строчный */
display: inline-block; /* строчный, но с размерами */
display: none; /* скрыть элемент */
visibility: hidden; /* скрыть, но оставить место */
🧮 Переполнение
overflow: visible; /* по умолчанию */
overflow: hidden; /* обрезать лишнее */
overflow: scroll; /* всегда показывать прокрутку */
overflow: auto; /* показывать прокрутку при необходимости */
🎞️ Анимации и переходы
transition: all 0.3s ease; /* свойство, длительность, функция */
transition-property: color, background; /* какие свойства анимировать */
transition-duration: 0.5s;
transition-timing-function: ease-in-out; /* скорость: linear | ease | ease-in | ease-out | cubic-bezier(...) */
transition-delay: 0.2s; /* задержка */
💡 Пример:
button {
transition: background-color 0.3s ease;
}
button:hover {
background-color: red;
}
🎬 Анимации (@keyframes + animation)
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.element {
animation-name: fadeIn;
animation-duration: 1s;
animation-delay: 0.2s;
animation-iteration-count: infinite; /* или 1 */
animation-direction: alternate; /* normal | reverse | alternate */
animation-timing-function: ease-in;
animation-fill-mode: forwards; /* сохраняет финальное состояние */
}
animation: fadeIn 1s ease-out forwards; /* сокращённо */
🔄 Трансформации
transform: scale(1.1); /* масштаб */
transform: rotate(45deg); /* поворот */
transform: translateX(100px); /* смещение */
transform: skewX(10deg); /* наклон */
🌫️ Эффекты и фильтры
filter: blur(5px); /* размытие */
filter: brightness(120%); /* яркость */
filter: grayscale(100%); /* черно-белый */
52