
Круги часто применяются в интерфейсах: для аватаров, кнопок, индикаторов или декоративных элементов. В CSS форма круга создаётся за счёт сочетания свойств width, height и border-radius. При равных значениях ширины и высоты и установке border-radius: 50% элемент принимает форму правильного круга.
Чтобы круг выглядел корректно, нужно задать фиксированные размеры, так как относительные единицы могут изменить пропорции при масштабировании. Для окрашивания применяется свойство background-color, а если нужно добавить изображение, используется background-image с параметрами background-size: cover и background-position: center.
При работе с текстом внутри круга важно настроить выравнивание. Вертикальное центрирование удобно делать через flexbox или grid. Для адаптивных кругов под разные экраны применяются единицы vw и vh, что позволяет сохранять форму независимо от разрешения устройства.
Создание простого круга с помощью свойства border-radius
Чтобы получить круг, достаточно задать блочному элементу равные значения width и height, а затем применить border-radius: 50%. Это значение скругляет углы до центра, превращая квадрат в круг.
Пример базовой разметки:
<div class=»circle»></div>
И соответствующие стили:
.circle {
width: 100px;
height: 100px;
background-color: #3498db;
border-radius: 50%;
}
Если задать разные значения ширины и высоты, получится овал. Поэтому важно использовать одинаковые размеры. При необходимости круг можно сделать адаптивным, задав размеры в относительных единицах, например em или vw, чтобы он масштабировался вместе с макетом.
Для изменения визуального стиля можно добавить тень через box-shadow или рамку с помощью border. Эти приёмы позволяют визуально выделить круг без использования изображений.
Как задать размер круга с использованием ширины и высоты
Размер круга определяется двумя свойствами: width и height. Их значения должны быть равными, иначе фигура станет овалом. Эти параметры можно задавать в пикселях, процентах, относительных единицах или единицах, зависящих от окна просмотра.
Основные варианты единиц измерения:
| Единица | Описание | Пример |
|---|---|---|
| px | Фиксированный размер, не изменяется при масштабировании страницы. | width: 100px; height: 100px; |
| % | Зависит от родительского блока. Полезно при создании кругов внутри контейнеров. | width: 50%; height: 50%; |
| vw / vh | Пропорционально ширине и высоте окна браузера. Подходит для адаптивных элементов. | width: 10vw; height: 10vw; |
| em / rem | Зависит от размера шрифта элемента или корневого узла. Удобно при масштабируемых интерфейсах. | width: 5em; height: 5em; |
Для стабильной формы важно, чтобы ширина и высота всегда были синхронизированы. Если используется адаптивная вёрстка, рекомендуется применять относительные единицы, чтобы круг не терял пропорции при изменении размеров экрана.
Использование background-color для окрашивания круга

Цвет заливается с помощью свойства background-color. Оно задаёт однотонный фон внутри круга, который формируется благодаря border-radius: 50%. Цвет можно указывать в формате HEX, RGB, RGBA, HSL или по названию цвета.
Пример кода:
.circle {
width: 120px;
height: 120px;
border-radius: 50%;
background-color: #ff6347;
}
Формат RGBA позволяет регулировать прозрачность, что полезно при наложении нескольких элементов. Например, значение background-color: rgba(255, 99, 71, 0.5) создаёт полупрозрачный красный круг.
При использовании градиентов или изображений свойство background-color может служить запасным вариантом для случаев, когда фоновое изображение не загружается. Цвет следует выбирать с учётом контраста к фону страницы, чтобы круг был чётко виден.
Добавление рамки к кругу через свойство border

Свойство border позволяет добавить рамку к кругу без нарушения его формы. Толщина и цвет границы задаются с помощью параметров border-width и border-color, стиль – через border-style.
Пример оформления:
.circle {
width: 100px;
height: 100px;
border-radius: 50%;
background-color: #4caf50;
border: 5px solid #2e7d32;
}
Чтобы рамка выглядела симметрично, важно сохранять равные размеры по ширине и высоте. При слишком большой толщине границы круг визуально уменьшается, поэтому при необходимости стоит компенсировать это увеличением размера самого элемента.
Для создания эффектов можно комбинировать border с box-shadow – это даёт мягкие контуры и помогает выделить круг на фоне без изменения его формы.
Создание круга с изображением внутри

Чтобы разместить изображение внутри круга, используется свойство background-image вместе с border-radius: 50%. Изображение не должно искажаться, поэтому необходимо указать background-size: cover и background-position: center.
Пример кода:
.circle {
width: 150px;
height: 150px;
border-radius: 50%;
background-image: url(‘photo.jpg’);
background-size: cover;
background-position: center;
}
Такой способ подходит для аватаров и миниатюр, где требуется сохранить пропорции без растяжения. Если нужно добавить обводку, можно использовать свойство border с небольшим значением толщины и контрастным цветом.
Для динамического изменения изображения достаточно заменить путь в background-image через CSS-класс или JavaScript, не нарушая форму круга. Это удобно при загрузке аватаров пользователей или при смене фоновых иллюстраций.
Как сделать круг с текстом по центру

Чтобы разместить текст внутри круга и выровнять его по центру, используют методы CSS flexbox или grid. Оба способа позволяют горизонтально и вертикально центрировать содержимое без дополнительных вычислений.
Пример с flexbox:
.circle {
width: 120px;
height: 120px;
border-radius: 50%;
background-color: #f39c12;
display: flex;
justify-content: center;
align-items: center;
}
Список рекомендаций для текста внутри круга:
- Использовать text-align: center для многострочного текста.
- Подбирать font-size, чтобы текст помещался внутри круга.
- Добавлять line-height, если текст занимает несколько строк, для равномерного вертикального распределения.
- Для адаптивного круга применять относительные единицы em или vw для шрифта, чтобы текст масштабировался вместе с элементом.
Использование grid аналогично, через display: grid; place-items: center;, что особенно удобно при работе с несколькими вложенными элементами внутри круга.
Создание круга с градиентной заливкой

Для создания круга с плавным переходом цветов используют свойство background с линейными или радиальными градиентами. Радиальный градиент идеально подходит для кругов, так как плавно заполняет центр и края.
Пример радиального градиента:
.circle {
width: 150px;
height: 150px;
border-radius: 50%;
background: radial-gradient(circle, #ff7f50, #ff6347);
}
Линейный градиент позволяет создавать эффект перехода по диагонали, вертикали или горизонтали:
.circle {
width: 150px;
height: 150px;
border-radius: 50%;
background: linear-gradient(45deg, #6a5acd, #00bfff);
}
При использовании градиентов важно сохранять равные размеры width и height, чтобы форма оставалась кругом. Также рекомендуется учитывать контраст текста или элементов, размещённых поверх градиента, чтобы информация оставалась читаемой.
Адаптивные круги при помощи единиц измерения vw и vh
Единицы vw и vh позволяют задавать размеры круга относительно ширины и высоты окна браузера. Это удобно для адаптивной верстки, когда элемент должен сохранять пропорции на разных экранах.
Пример создания адаптивного круга:
.circle {
width: 20vw;
height: 20vw;
border-radius: 50%;
background-color: #1e90ff;
}
Рекомендации при использовании vw и vh:
- Для одинаковой формы использовать однотипные единицы для width и height, например оба значения в vw.
- Для кругов, зависящих от высоты окна, можно использовать vh.
- При масштабировании окна браузера круг автоматически изменяет размер, сохраняя пропорции.
- Если внутри круга находится текст, рекомендуется использовать относительные единицы для font-size, чтобы шрифт адаптировался вместе с элементом.
Такой подход подходит для интерфейсов, где элементы должны оставаться одинаковыми на мобильных и десктопных устройствах без ручного изменения размеров.
Вопрос-ответ:
Как сделать круг в CSS с помощью одного свойства?
Для создания круга достаточно задать элементу одинаковую ширину и высоту и применить border-radius: 50%. Это свойство скругляет углы до центра, превращая квадрат в круг.
Можно ли разместить изображение внутри круга без искажений?
Да, для этого используют background-image вместе с border-radius: 50%. Чтобы изображение не растягивалось, применяют background-size: cover и background-position: center.
Как сделать круг с текстом по центру?
Текст центрируют с помощью flexbox или grid. Например, при flexbox нужно добавить display: flex; justify-content: center; align-items: center;, что выравнивает текст и по горизонтали, и по вертикали.
Можно ли сделать круг адаптивным под разные размеры экрана?
Да, используют единицы vw или vh для ширины и высоты. При изменении размеров окна круг автоматически масштабируется, сохраняя пропорции. Для текста внутри применяют относительные единицы em или vw.
Как добавить цветовую заливку или градиент к кругу?
Для однотонного цвета применяют background-color. Для градиентов используют background: linear-gradient(…) или radial-gradient(…). Радиальный градиент подходит для центра круга, линейный — для диагональных или вертикальных переходов.
Как создать круг в CSS, чтобы он был одинаковым на разных устройствах?
Для сохранения одинаковой формы круга на различных экранах используют единицы, зависящие от размеров окна: vw для ширины и vh для высоты. Ширина и высота должны быть равны, а форма задаётся через border-radius: 50%. Если внутри круга есть текст, его размер рекомендуется задавать в относительных единицах, например em или vw, чтобы шрифт масштабировался вместе с кругом и оставался читаемым.
