
Свойство border-radius позволяет задавать радиус скругления углов для блоков, изображений и других элементов. Оно поддерживает значения в пикселях, процентах и комбинированные записи для отдельных углов.
Для одинакового скругления всех углов достаточно указать одно значение, например, border-radius: 10px;. Если требуется задать разные радиусы для каждого угла, используется сокращённая запись через пробел: border-radius: 10px 20px 30px 40px;, где порядок соответствует верхнему левому, верхнему правому, нижнему правому и нижнему левому углу.
Процентное значение помогает создавать адаптивные блоки с пропорциональными скруглениями. Например, border-radius: 50%; превращает квадратный блок в круг при равной ширине и высоте.
Важно учитывать, что при применении border-radius к изображениям и фоновым блокам их содержимое будет ограничено формой скруглённых углов. Для совместимости с тенями и границами рекомендуется тестировать визуальные эффекты на разных размерах и разрешениях.
Старые версии браузеров могут не поддерживать комбинированные значения или проценты. Для них применяются отдельные префиксы типа -webkit-border-radius и -moz-border-radius, что обеспечивает одинаковый внешний вид на большинстве платформ.
Использование свойства border-radius для всех углов
Свойство border-radius позволяет скруглять сразу все углы блока одним значением. Например, border-radius: 15px; создаст одинаковое скругление в 15 пикселей для верхнего левого, верхнего правого, нижнего правого и нижнего левого угла.
Для создания полностью круглых блоков можно использовать значение в процентах. Установка border-radius: 50%; на квадратный блок равной ширины и высоты формирует идеальный круг. Для прямоугольников такая запись создаёт овальные формы.
При комбинировании border-radius с границами и фоном рекомендуется проверять визуальное соответствие на разных разрешениях, чтобы скругление не нарушало пропорции и не обрезало содержимое.
Для плавного визуального эффекта при изменении размеров блока можно использовать относительные единицы вроде em или rem, что сохраняет пропорции скругления независимо от ширины или высоты элемента.
Округление только верхних или нижних углов
CSS позволяет скруглять не все углы одновременно, а выборочно. Для этого используются свойства:
- border-top-left-radius – скругляет верхний левый угол;
- border-top-right-radius – скругляет верхний правый угол;
- border-bottom-left-radius – скругляет нижний левый угол;
- border-bottom-right-radius – скругляет нижний правый угол.
Пример для округления только верхних углов:
- Установить border-top-left-radius: 20px;
- Установить border-top-right-radius: 20px;
- Оставить нижние углы без изменений.
Для нижних углов применяется аналогичный подход. Значения можно задавать как в пикселях, так и в процентах. Процентные значения полезны для адаптивного дизайна, когда высота блока изменяется, а форма углов должна оставаться пропорциональной.
Совмещение верхних и нижних скруглений с границами или тенями требует тестирования, чтобы избежать визуальных искажений на разных разрешениях и при изменении размеров блока.
Задание разных радиусов для каждого угла

Для индивидуального скругления каждого угла блока используется сокращённая запись свойства border-radius через пробел. Порядок значений следующий: верхний левый, верхний правый, нижний правый, нижний левый.
Пример: border-radius: 10px 20px 30px 40px; создаёт уникальное скругление для каждого угла, при этом визуальная форма блока становится асимметричной.
Также допустимо задавать горизонтальные и вертикальные радиусы через косую черту: border-radius: 20px 40px 60px 80px / 10px 30px 50px 70px;. Левое и правое значения после косой черты управляют высотой радиусов, что полезно для создания эллиптических углов.
При комбинировании разных радиусов с фоном, тенями или границами рекомендуется проверять видимость содержимого и пропорции на блоках разных размеров. Это предотвращает деформацию элементов и неправильное отображение на мобильных устройствах.
Применение процентов для адаптивного округления

Использование процентных значений в border-radius позволяет создавать блоки с пропорциональными углами, которые автоматически подстраиваются под размер элемента. Например, border-radius: 50%; превращает квадратный блок в круг, а прямоугольный – в овал.
Процентное скругление особенно полезно для адаптивного дизайна, где ширина и высота блока меняются в зависимости от разрешения экрана или родительского контейнера.
Для разных углов можно задавать отдельные проценты: border-radius: 25% 50% 25% 50%;. Это создаёт асимметричные формы, которые сохраняют свои пропорции при изменении размеров блока.
Процентные значения работают совместно с относительными единицами, такими как em или rem, что обеспечивает предсказуемое поведение скругления при масштабировании текста или изменении шрифтов.
Важно проверять визуальный результат на разных устройствах, чтобы скруглённые углы не приводили к искажению содержимого, особенно при использовании фонов и теней.
Округление углов у изображений и фоновых блоков

Для изображений свойство border-radius ограничивает видимую область. Например, border-radius: 50%; превращает квадратное изображение в круг, при этом содержимое автоматически обрезается по форме.
При работе с фоновыми блоками скругление углов влияет на контейнер и его содержимое. Если у блока задан фон через background-color или background-image, скруглённые углы применяются к визуальной области блока, сохраняя внутренние элементы.
Для предотвращения искажения изображений рекомендуется устанавливать одинаковую ширину и высоту или использовать объектное свойство object-fit: cover;. Это позволяет сохранить пропорции изображения внутри скруглённого контейнера.
Комбинация скруглённых углов с тенями и границами требует проверки на разных размерах блока, чтобы эффекты отображались равномерно и не обрезали критические детали содержимого.
Совмещение border-radius с тенями и границами

Скругление углов влияет на отображение теней и границ. Чтобы тени повторяли форму блока, необходимо использовать свойство box-shadow совместно с border-radius.
- Пример: border-radius: 15px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); создаёт плавные тени вокруг скруглённого блока.
- Границы (border) также повторяют форму углов. Для сохранения чёткой линии рекомендуется использовать единообразные толщину и цвет границы.
При комбинировании разных радиусов углов с границами и тенями полезно тестировать блок на разных размерах и разрешениях. Это предотвращает визуальные искажения, особенно при асимметричных скруглениях.
- Сначала задать border-radius для блока.
- Добавить границу через border с нужной толщиной и цветом.
- Применить box-shadow для создания объёмного эффекта.
При изменении размеров блока тень и граница будут автоматически подстраиваться под новые пропорции углов, если значения радиусов заданы в пикселях или процентах, соответствующих дизайну.
Поддержка старых браузеров при округлении углов
Старые версии браузеров могут не распознавать стандартное свойство border-radius. Для обеспечения совместимости используются вендорные префиксы:
| Браузер | Префикс | Пример |
|---|---|---|
| Chrome, Safari | -webkit- | -webkit-border-radius: 10px; |
| Firefox | -moz- | -moz-border-radius: 10px; |
| Opera | -o- | -o-border-radius: 10px; |
| IE8 и ниже | Не поддерживается | Использовать скрипты или изображения для имитации скруглений |
Для старых версий Internet Explorer применяются специальные CSS-хакеры или JavaScript-библиотеки, создающие визуальное округление через фильтры или SVG-элементы. Это сохраняет внешний вид блоков, где критично точное отображение углов.
Рекомендуется проверять адаптивность и визуальное соответствие скруглений на разных браузерах, чтобы избежать обрезки содержимого или некорректного отображения границ и теней.
Вопрос-ответ:
Как задать одинаковое скругление для всех углов блока?
Чтобы все углы блока имели одинаковый радиус, достаточно использовать свойство border-radius с одним значением, например, border-radius: 15px;. Это применит скругление к верхнему левому, верхнему правому, нижнему правому и нижнему левому углам одновременно.
Можно ли скруглять только верхние или только нижние углы?
Да, для этого существуют отдельные свойства: border-top-left-radius, border-top-right-radius, border-bottom-left-radius и border-bottom-right-radius. Задавая значения только для нужных углов, вы оставляете остальные углы прямыми.
Как задать разные радиусы для каждого угла блока?
Свойство border-radius позволяет указывать до четырёх значений через пробел, соответствующих углам в порядке: верхний левый, верхний правый, нижний правый, нижний левый. Например, border-radius: 10px 20px 30px 40px; создаёт асимметричное скругление.
Как сделать скругление углов адаптивным при изменении размера блока?
Для адаптивного скругления используют процентные значения, например, border-radius: 50%;. Такой подход позволяет углам сохранять пропорции при изменении ширины и высоты блока, превращая квадрат в круг или прямоугольник в овал.
Как поддерживать скругление углов в старых браузерах?
Для старых версий браузеров используют вендорные префиксы: -webkit-border-radius для Chrome и Safari, -moz-border-radius для Firefox. Для Internet Explorer 8 и ниже применяют скрипты или изображения, имитирующие скругление, чтобы сохранить визуальный вид блока.
