
На этой странице собраны упражнения для отработки навыков использования конических градиентов (`conic-gradient`) в CSS. Конические градиенты позволяют создавать круговые узоры, диаграммы и другие интересные визуальные эффекты, где цвета плавно переходят вокруг центральной точки. Задания построены от простого к сложному: начиная с создания базового градиента, добавления цветов, указания начального угла и центра, и заканчивая созданием повторяющихся узоров и секторных диаграмм. Каждое задание включает 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-арта.
Создание простого конического градиента
Начнем с основ. Ваша задача — создать простой конический градиент, переходящий от красного к синему цвету. Заполните пропуск, чтобы указать правильную функцию для создания конического градиента.
.gradient-box {
width: 200px;
height: 200px;
border-radius: 50%; /* Делаем круглым для наглядности */
background: input1(red, blue);
}
<div class="gradient-box"></div>
Градиент с тремя цветами
Теперь добавим еще один цвет. Создайте конический градиент, который начинается с красного, переходит в желтый и заканчивается синим. Заполните пропуск, чтобы добавить желтый цвет между красным и синим.
.gradient-box {
width: 200px;
height: 200px;
border-radius: 50%;
background: conic-gradient(red input1 yellow, blue);
}
<div class="gradient-box"></div>
Указание начального угла
По умолчанию градиент начинается сверху (0 градусов). Измените начальный угол градиента так, чтобы он начинался справа (90 градусов). Заполните пропуск, чтобы указать ключевое слово для задания начального угла.
.gradient-box {
width: 200px;
height: 200px;
border-radius: 50%;
background: conic-gradient(input1 90deg, red, blue);
}
<div class="gradient-box"></div>
Указание центра градиента
Центр градиента можно смещать. По умолчанию он находится в центре элемента (`center center` или `50% 50%`). Сместите центр градиента в левый верхний угол. Заполните пропуск, чтобы указать ключевое слово для задания позиции центра.
.gradient-box {
width: 200px;
height: 200px;
/* Убрали border-radius для наглядности смещения */
background: conic-gradient(input1 top left, red, yellow, blue);
}
<div class="gradient-box"></div>
Задание позиций цветов (углы)
Можно точно указать, где должны начинаться и заканчиваться цвета, используя углы. Создайте градиент, где красный цвет занимает сектор от 0 до 90 градусов, а синий — от 90 до 180 градусов. Заполните пропуски, чтобы указать единицу измерения для углов.
.gradient-box {
width: 200px;
height: 200px;
border-radius: 50%;
background: conic-gradient(red 0input1, red 90input1, blue 90input1, blue 180input1);
}
<div class="gradient-box"></div>
Задание позиций цветов (проценты)
Позиции цветов можно задавать и в процентах. Создайте градиент, где красный цвет занимает первые 25%, а синий — сектор от 25% до 75%. Заполните пропуски, чтобы указать единицу измерения для процентов.
.gradient-box {
width: 200px;
height: 200px;
border-radius: 50%;
background: conic-gradient(red 0input1, red 25input1, blue 25input1, blue 75input1);
}
<div class="gradient-box"></div>
Создание секторной диаграммы (жесткие переходы)
Конические градиенты отлично подходят для создания секторных диаграмм. Чтобы создать резкие границы между цветами, укажите одинаковую позицию для конца одного цвета и начала следующего. Создайте диаграмму из трех секторов: красный (0-120deg), желтый (120-240deg), синий (240-360deg). Заполните пропуски нужным разделителем.
.gradient-box {
width: 200px;
height: 200px;
border-radius: 50%;
background: conic-gradient(
red 0deg input1 red 120deg,
yellow 120deg input1 yellow 240deg,
blue 240deg input1 blue 360deg
);
}
<div class="gradient-box"></div>
Повторяющийся конический градиент
Иногда нужно создать повторяющийся узор. Для этого существует специальная функция. Создайте повторяющийся градиент, где сектор от красного к синему повторяется каждые 90 градусов. Заполните пропуск, указав правильную функцию.
.gradient-box {
width: 200px;
height: 200px;
border-radius: 50%;
background: input1(red 0deg, red 45deg, blue 45deg, blue 90deg);
}
<div class="gradient-box"></div>
Повторяющийся градиент с указанием угла и центра
Функция `repeating-conic-gradient` также поддерживает указание начального угла и центра. Создайте повторяющийся градиент (красный/синий каждые 45 градусов), который начинается с угла 45 градусов и имеет центр в позиции 25% 75%. Заполните пропуски ключевыми словами `from` и `at`.
.gradient-box {
width: 200px;
height: 200px;
background: repeating-conic-gradient(
input1 45deg input2 25% 75%,
red 0deg, red 22.5deg,
blue 22.5deg, blue 45deg
);
}
<div class="gradient-box"></div>