DevSkillRoad

Фоны и градиенты в CSS

🎨 background-image, градиенты, позиционирование фона

С позиционированием и раскладкой мы немного разобрались (Flexbox, Grid, адаптив). Теперь вернёмся к красоте — будем украшать фон: добавлять изображения, градиенты и управлять их расположением.

Напомню, свойство background-color (цвет фона) мы уже изучили в лекции 3. Сейчас пойдём дальше.

1. background-image — фоновое изображение

Задаёт изображение в качестве фона. Указывается путь к файлу.

.bg-image {
    background-image: url('/images/logo.svg');
    background-size: 50px;
    background-repeat: no-repeat;
    background-position: center;
    padding: 40px;
}
Фоновое изображение (логотип по центру)

2. background-repeat — повторение фона

Управляет тем, повторяется ли фоновое изображение.

Возможные значения:

.repeat-x {
    background-image: url('/images/logo.svg');
    background-repeat: repeat-x;
    background-size: 30px;
}

✅ Логотип повторяется только по горизонтали

3. background-size — размер фона

Возможные значения:

.bg-cover {
    background-image: url('/images/logo.svg');
    background-size: cover;
    background-repeat: no-repeat;
}

✅ cover — изображение растянулось, чтобы заполнить весь блок

4. background-position — позиция фона

Задаёт начальное положение фонового изображения.

Возможные значения:

.bg-position {
    background-image: url('/images/logo.svg');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: 50px;
}

✅ Изображение прижато к правому нижнему углу

5. linear-gradient — линейный градиент

Плавный переход между цветами по прямой линии.

Синтаксис: linear-gradient(направление, цвет1, цвет2, ...)

Возможные направления:

Пример 1: сверху вниз

.gradient-down {
    background: linear-gradient(to bottom, #530899, #14b8a6);
}
linear-gradient(to bottom, #530899, #14b8a6)

Пример 2: слева направо

.gradient-right {
    background: linear-gradient(to right, #530899, #14b8a6);
}
linear-gradient(to right, #530899, #14b8a6)

Пример 3: три цвета

.gradient-three {
    background: linear-gradient(to right, #530899, #14b8a6, #ffc107);
}
linear-gradient(to right, #530899, #14b8a6, #ffc107)

Пример 4: диагональный градиент (to top right)

.gradient-diagonal {
    background: linear-gradient(to top right, #530899, #14b8a6);
}
linear-gradient(to top right, #530899, #14b8a6)

Пример 5: под углом 45 градусов

.gradient-angle {
    background: linear-gradient(45deg, #530899, #14b8a6);
}
linear-gradient(45deg, #530899, #14b8a6)
📌 Разница между to top right и 45deg: to top right строго в угол, 45deg под углом 45 градусов от горизонтали. Визуально они похожи, но при неквадратном блоке разница заметна.

6. radial-gradient — радиальный градиент

Градиент, расходящийся от центра к краям (круг или эллипс).

.radial {
    background: radial-gradient(circle, #530899, #14b8a6, #ffc107);
}
radial-gradient(circle, #530899, #14b8a6, #ffc107)

7. Сокращённое свойство background

Объединяет все свойства фона в одной строке. Порядок не важен, но рекомендуется:

background: цвет изображение повторение позиция / размер

.bg-short {
    background: #f0f0f0 url('/images/logo.svg') no-repeat center / 50px;
}

✅ Светло-серый фон + логотип по центру + размер 50px

📓 Из тетради: «Фон создаёт настроение страницы. Но помните: изображения и градиенты — это тяжёлый контент. Не перегружайте сайт. И всегда проверяйте контраст — текст на фоне должен быть читаемым».