
На этой странице собраны упражнения для отработки навыков позиционирования фонового изображения внутри элемента с помощью CSS свойства `background-position`. Задания варьируются от использования базовых ключевых слов до задания точных координат с помощью пикселей, процентов и смещений от краев. Каждое задание предоставляет HTML-структуру и CSS-стили, в которых вам нужно будет заполнить пропуски, чтобы добиться нужного визуального результата. Это поможет вам лучше понять и запомнить, как управлять положением фона.
- Модуль 1: Основы CSS
- Селекторы элементов.
- Селекторы классов и идентификаторов.
- Цвет текста и фона.
- Размеры и единицы измерения в CSS.
- Семейство шрифта и базовые свойства текста.
- Стилизация текста (жирный, курсив, подчеркивание).
- Выравнивание и интервалы текста.
- Комбинированные селекторы.
- Псевдоклассы для ссылок.
- Приоритеты стилей и каскадность.
- Наследование в CSS.
- Модуль 2: Блочная модель и позиционирование
- Блочная модель CSS (box model).
- Внутренние отступы (padding).
- Внешние отступы (margin).
- Границы элементов (border).
- Сокращенная запись свойств границ.
- Радиус скругления углов (border-radius).
- Свойство display и его значения.
- Блочные элементы (display: block).
- Строчные элементы (display: inline).
- Строчно-блочные элементы (display: inline-block).
- Скрытие элементов (display: none, visibility: hidden).
- Статичное позиционирование (position: static).
- Относительное позиционирование (position: relative).
- Абсолютное позиционирование (position: absolute).
- Фиксированное позиционирование (position: fixed).
- Липкое позиционирование (position: sticky).
- Свойство z-index и порядок наложения элементов.
- Свойство float и его применение.
- Свойство clear для обтекания.
- Центрирование элементов различными способами.
- Модуль 3: Селекторы CSS продвинутый уровень
- Групповые селекторы.
- Селекторы потомков (descendant selectors).
- Дочерние селекторы (child selectors).
- Соседние селекторы (adjacent sibling selectors).
- Общие сиблинги (general sibling selectors).
- Селекторы атрибутов: точное совпадение.
- Селекторы атрибутов: частичное совпадение.
- Псевдоклассы состояний (:hover, :active, :focus, :visited).
- Псевдоклассы для форм (:checked, :disabled, :required).
- Структурные псевдоклассы (:first-child, :last-child).
- Псевдоклассы :nth-child() и :nth-of-type().
- Псевдоклассы :not() и :empty.
- Псевдоэлементы ::before и ::after.
- Псевдоэлементы ::first-letter и ::first-line.
- Псевдоэлемент ::selection.
- Псевдоэлемент ::placeholder.
- Комбинирование псевдоклассов и псевдоэлементов.
- Создание декоративных элементов с помощью псевдоэлементов.
- Модуль 4: Работа с фоном и визуальными эффектами
- Фоновый цвет (background-color).
- Фоновое изображение (background-image).
- Повторение фона (background-repeat).
- Позиционирование фона (background-position).
- Размер фона (background-size).
- Фиксация фона (background-attachment).
- Сокращенная запись свойств фона.
- Множественные фоновые изображения.
- Линейные градиенты (linear-gradient).
- Радиальные градиенты (radial-gradient).
- Конические градиенты (conic-gradient).
- Тень блока (box-shadow).
- Тень текста (text-shadow).
- Прозрачность (opacity).
- Фильтры (filter: blur, grayscale, etc.).
- Режимы смешивания (mix-blend-mode, background-blend-mode).
- Маски с mask-image.
- Формы с clip-path.
- Модуль 5: Типографика продвинутый уровень
- Межстрочное расстояние (line-height).
- Интервалы между буквами (letter-spacing).
- Интервалы между словами (word-spacing).
- Трансформация текста (text-transform).
- Декорирование текста (text-decoration).
- Перенос слов (word-break, overflow-wrap).
- Управление пробелами (white-space).
- Многоколоночный текст (columns).
- Обрезка текста (text-overflow, ellipsis).
- Вертикальное выравнивание текста (vertical-align).
- Направление текста (direction, writing-mode).
- Веб-шрифты и @font-face.
- Модуль 6: Flexbox
- Введение в Flexbox.
- Включение Flexbox (display: flex).
- Flex-контейнер и flex-direction.
- Выравнивание с justify-content.
- Выравнивание с align-items.
- Выравнивание с align-content.
- Свойство align-self для отдельных элементов.
- Свойство flex-wrap.
- Свойство flex-flow (сокращение для direction и wrap).
- Свойство flex-grow.
- Свойство flex-shrink.
- Свойство flex-basis.
- Сокращенное свойство flex.
- Порядок элементов с order.
- Сложные макеты на Flexbox.
- Вложенные flex-контейнеры.
- Создание адаптивной навигационной панели с Flexbox.
- Модуль 7: CSS Grid Layout
- Введение в Grid Layout.
- Включение Grid Layout (display: grid).
- Создание сетки: grid-template-columns.
- Создание сетки: grid-template-rows.
- Единица измерения fr.
- Функция repeat().
- Промежутки с gap, row-gap, column-gap.
- Размещение элементов: grid-column.
- Размещение элементов: grid-row.
- Сокращенная запись grid-area.
- Именованные линии и области.
- Свойство grid-template-areas.
- Автоматическое размещение элементов.
- Автоматические треки (grid-auto-rows, grid-auto-columns).
- Управление потоком элементов (grid-auto-flow).
- Выравнивание в Grid: justify-items и align-items.
- Выравнивание в Grid: justify-content и align-content.
- Выравнивание отдельного элемента (justify-self, align-self).
- Сложные макеты на Grid.
- Комбинирование Grid и Flexbox.
- Модуль 8: Трансформации и переходы
- Трансформации: translate.
- Трансформации: scale.
- Трансформации: rotate.
- Трансформации: skew.
- Комбинирование трансформаций.
- Точка трансформации с transform-origin.
- 3D-трансформации и перспектива.
- Переходы с transition-property.
- Длительность перехода с transition-duration.
- Функции плавности с transition-timing-function.
- Задержка с transition-delay.
- Сокращенное свойство transition.
- Переходы для нескольких свойств.
- Создание интерактивных элементов с переходами.
- Производительность трансформаций и переходов.
- Модуль 9: Анимации
- Создание keyframes.
- Свойство animation-name.
- Свойство animation-duration.
- Свойство animation-timing-function.
- Свойство animation-delay.
- Свойство animation-iteration-count.
- Свойство animation-direction.
- Свойство animation-fill-mode.
- Свойство animation-play-state.
- Сокращенное свойство animation.
- Множественные анимации.
- Создание сложных анимаций.
- Анимации с использованием переменных.
- Оптимизация производительности анимаций.
- Анимации и доступность.
- Модуль 10: Адаптивный дизайн
- Относительные единицы измерения (%, em, rem).
- Единицы vh и vw.
- Медиа-запросы: основы.
- Медиа-запросы: max-width и min-width.
- Медиа-запросы: ориентация устройства.
- Медиа-запросы: типы устройств и медиа-функции.
- Mobile-first подход.
- Адаптивные изображения.
- Элемент picture и атрибуты srcset/sizes.
- Адаптивная типографика.
- Адаптивная навигация.
- Адаптивные таблицы.
- Адаптивные формы.
- Отзывчивые медиа (видео, iframe).
- Тестирование адаптивности.
- Модуль 11: Формы и CSS
- Базовая стилизация input и button.
- Стилизация textarea.
- Стилизация состояний форм (:focus, :valid, :invalid).
- Стилизация placeholder.
- Кастомизация radio и checkbox с помощью CSS.
- Стилизация select и option.
- Создание кастомных выпадающих списков.
- Стилизация range input.
- Стилизация file input.
- Валидация форм и стилизация сообщений об ошибках.
- Модуль 12: Современные возможности CSS
- Переменные CSS (Custom Properties).
- Область видимости переменных.
- Функция calc().
- Свойство object-fit для изображений.
- Свойство object-position.
- Scroll Snap.
- Контейнерные запросы (Container Queries).
- Подсеточные элементы (Subgrid).
- Логические свойства (logical properties).
- CSS Houdini (введение).
- Feature Queries (@supports).
- Новые селекторы CSS (is(), where(), has()).
- Модуль 13: Практические проекты
- Создание адаптивной навигационной панели.
- Создание карточек товаров.
- Создание слайдера изображений на CSS.
- Создание табов.
- Создание дропдаун-меню.
- Создание галереи изображений с фильтрами.
- Создание анимированных иконок.
- Создание адаптивного лендинга.
- Создание тёмной темы с CSS-переменными.
- Создание анимированных кнопок.
- Создание анимированных форм.
- Создание сетки изображений с hover-эффектами.
- Создание адаптивного футера.
- Создание макета блога на CSS Grid.
- Создание адаптивного дашборда.
- Создание интерактивной формы с анимациями.
- Создание CSS-арта.
Позиционирование фона в левый верхний угол
В этом задании у вас есть блок с фоновым изображением. Ваша задача — используя свойство позиционирования фона, разместить изображение в левом верхнем углу блока. Это стандартное поведение, но важно явно указать его для практики.
.image-box {
width: 300px;
height: 250px;
border: 2px dashed #ccc;
background-image: url("https://naytikurs.ru/img/1.png");
background-repeat: no-repeat;
background-position: input1 input2;
}
<div class="image-box"></div>
Центрирование фонового изображения
Теперь задача немного усложняется. Расположите фоновое изображение точно по центру блока как по горизонтали, так и по вертикали. Используйте для этого соответствующие ключевые слова.
.image-box {
width: 300px;
height: 250px;
border: 2px dashed #ccc;
background-image: url("https://naytikurs.ru/img/2.png");
background-repeat: no-repeat;
background-position: input1;
}
<div class="image-box"></div>
Позиционирование фона в правый нижний угол
Разместите фоновое изображение в правом нижнем углу контейнера. Используйте комбинацию ключевых слов для горизонтального и вертикального позиционирования.
.image-box {
width: 300px;
height: 250px;
border: 2px dashed #ccc;
background-image: url("https://naytikurs.ru/img/4.png");
background-repeat: no-repeat;
background-position: input1 input2;
}
<div class="image-box"></div>
Горизонтальное выравнивание по правому краю
В этом упражнении нужно выровнять фоновое изображение по правому краю блока. Вертикальное положение должно остаться по центру (это значение по умолчанию, если указано только одно горизонтальное ключевое слово).
.image-box {
width: 300px;
height: 250px;
border: 2px dashed #ccc;
background-image: url("https://naytikurs.ru/img/5.png");
background-repeat: no-repeat;
background-position: input1;
}
<div class="image-box"></div>
Вертикальное выравнивание по верхнему краю
Аналогично предыдущему заданию, но теперь нужно выровнять фоновое изображение по верхнему краю блока. Горизонтальное положение должно остаться по центру (значение по умолчанию, если указано только одно вертикальное ключевое слово).
.image-box {
width: 300px;
height: 250px;
border: 2px dashed #ccc;
background-image: url("https://naytikurs.ru/img/6.png");
background-repeat: no-repeat;
background-position: input1;
}
<div class="image-box"></div>
Позиционирование с помощью пикселей
Иногда требуется задать точное положение фона. Установите фоновое изображение так, чтобы его левый верхний угол находился на расстоянии 20 пикселей от левого края и 50 пикселей от верхнего края блока.
.image-box {
width: 300px;
height: 250px;
border: 2px dashed #ccc;
background-image: url("https://naytikurs.ru/img/7.png");
background-repeat: no-repeat;
background-position: input1 input2;
}
<div class="image-box"></div>
Позиционирование с помощью процентов
Используйте процентные значения для позиционирования фона. Установите фон так, чтобы точка на изображении, находящаяся на 10% его ширины и 90% его высоты, совпадала с точкой в блоке, находящейся на 10% ширины и 90% высоты блока.
.image-box {
width: 300px;
height: 250px;
border: 2px dashed #ccc;
background-image: url("https://naytikurs.ru/img/8.png");
background-repeat: no-repeat;
background-position: input1 input2;
}
<div class="image-box"></div>
Смешанное позиционирование (ключевое слово и пиксели)
Можно комбинировать ключевые слова и числовые значения. Расположите фоновое изображение по центру горизонтально и на расстоянии 30 пикселей от верхнего края блока.
.image-box {
width: 300px;
height: 250px;
border: 2px dashed #ccc;
background-image: url("https://naytikurs.ru/img/9.png");
background-repeat: no-repeat;
background-position: input1 input2;
}
<div class="image-box"></div>
Смешанное позиционирование (ключевое слово и проценты)
Еще один пример смешанного позиционирования. Расположите фоновое изображение у правого края блока и на расстоянии 10% от верхнего края блока.
.image-box {
width: 300px;
height: 250px;
border: 2px dashed #ccc;
background-image: url("https://naytikurs.ru/img/1.png");
background-repeat: no-repeat;
background-position: input1 input2;
}
<div class="image-box"></div>
Позиционирование со смещением от краев (4 значения)
Используйте синтаксис с четырьмя значениями для позиционирования фона. Расположите изображение на расстоянии 10 пикселей от верхнего края и 20 пикселей от левого края блока.
.image-box {
width: 300px;
height: 250px;
border: 2px dashed #ccc;
background-image: url("https://naytikurs.ru/img/2.png");
background-repeat: no-repeat;
background-position: input1 input2 input3 input4;
}
<div class="image-box"></div>
Позиционирование со смещением от правого и нижнего краев
Закрепим синтаксис с четырьмя значениями. Теперь расположите изображение на расстоянии 15 пикселей от правого края и 25 пикселей от нижнего края блока.
.image-box {
width: 300px;
height: 250px;
border: 2px dashed #ccc;
background-image: url("https://naytikurs.ru/img/4.png");
background-repeat: no-repeat;
background-position: input1 input2 input3 input4;
}
<div class="image-box"></div>