Как создать кружок в CSS

Как сделать кружок в css

Как сделать кружок в css

Круги часто применяются в интерфейсах: для аватаров, кнопок, индикаторов или декоративных элементов. В 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 для окрашивания круга

Цвет заливается с помощью свойства 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 позволяет добавить рамку к кругу без нарушения его формы. Толщина и цвет границы задаются с помощью параметров 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, чтобы шрифт масштабировался вместе с кругом и оставался читаемым.

Ссылка на основную публикацию