Свойство border-radius — скругленные уголки
Свойство border-radius создает скругленные
уголки для границы и фона. Значением свойства
служат любые единицы
для размеров. Значение по умолчанию: 0. Является сокращением для свойств border-top-left-radius, border-top-right-radius, border-bottom-left-radius, border-bottom-right-radius.
Синтаксис
селектор {
border-radius: значение;
}
Количество значений
Свойство может принимать 1, 2, 3 или 4 значений, указываемых
через пробел:
| Количество | Описание |
|---|---|
1 | Для всех углов одновременно. |
2 | Первое значение задает скругление для верхнего правого и нижнего
левого углов, второе — для верхнего левого и нижнего правого.![]() |
3 | Первое значение задает скругление для верхнего левого угла, второе — одновременно для верхнего правого и нижнего левого, а третье — для нижнего правого угла. |
4 | Первое значение задает скругление для верхнего левого угла, второе — для верхнего правого, третье — для нижнего правого угла, а четвертое — для нижнего левого угла. |
Эллиптическое скругление
Два значения через слеш устанавливают эллиптическое скругление. Значение перед слешем указывает горизонтальное скругление, а значения после слеша — вертикальное:
селектор {
border-style: горизонтальное / вертикальное;
}
Если задаются скругления для нескольких углов, то до слеша перечисляются все горизонтальные скругления, а после него — все вертикальные.
Пример
Установим скругление 10px для всех углов:
<div></div>#elem {
border-radius: 10px;
border: 1px solid black;
width: 300px;
height: 100px;
}
:
Пример
Посмотрим, как выглядит скругления для границы в виде точек:
#elem {
border-radius: 10px;
border: 1px dotted black;
width: 300px;
height: 100px;
}
:
Пример
Установим скругление в 10px для углов
одной диагонали, и скругления в 40px — для
углов второй диагонали:
<div></div>#elem {
border-radius: 10px 40px;
border: 1px solid black;
width: 300px;
height: 100px;
}
:
Пример
Установим скругление в 10px для верхнего
левого угла, скругление в для
нижнего правого угла, и скругления в 50px
— для углов второй диагонали:
<div></div>#elem {
border-radius: 10px 50px 30px;
border: 1px solid black;
width: 300px;
height: 100px;
}
:
Пример
Установим различные скругления для каждого из углов:
<div></div>#elem {
border-radius: 10px 30px 50px 70px;
border: 1px solid black;
width: 300px;
height: 100px;
}
:
Пример
Давайте сделаем эллиптическое скругление,
установив 20px для горизонтальной
части скругления, а 40px — для вертикальной:
<div></div>#elem {
border: 1px solid black;
border-radius: 20px / 40px;
width: 300px;
height: 100px;
}
:
Пример
А сейчас установим разное эллиптическое скругление для всех углов по отдельности:
<div></div>
:
Пример
Если поставить для квадратного блока скругления, равное половине стороны квадрата, то получится круг:
<div></div>#elem {
border-radius: 100px;
border: 1px solid black;
width: 200px;
height: 200px;
}
:
Пример
Если поставить скругление, большее чем сторона квадрата, то все равно получится круг:
<div></div>
#elem {
border-radius: 200px;
border: 1px solid black;
width: 200px;
height: 200px;
}:
Пример
Круг можно также получить, если установить border-radius в 50% (преимущество
в том, что при изменении размеров квадрата
не придется менять скругление):
<div></div>#elem {
border: 1px solid black;
border-radius: 50%;
width: 200px;
height: 200px;
}
:
Пример
Если установить border-radius в процентах
для прямоугольника, то получится эллиптическое
скругление.
400px,
высота в 200px, а border-radius в 10%, то это все равно, как если
бы было написано border-radius: 40px/20px;.
Эти значения получились отсюда: 40px =
400px*10%, 20px = 200px*10%:<div></div>#elem {
border-radius: 10%;
border: 1px solid black;
width: 400px;
height: 200px;
}
:
Пример
border-radius в 50% для прямоугольника — получится эллипс:<div></div>#elem {
border-radius: 50%;
border: 1px solid black;
width: 400px;
height: 200px;
}
:
Пример
Свойство border-radius скругляет не только уголки не границы, но и фона:
<div></div>#elem {
border-radius: 20px;
width: 300px;
height: 100px;
background-color: #e4f1ed;
}
:
Смотрите также
- свойство
border,
которое является свойством-сокращением для границы
Как сделать круглые изображения? | htmlbook.
ruТема:Скруглённые уголки
| Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
| 9.0+ | 4.0+ | 11.60+ | 5.0+ | 4.0+ | 2.1+ | 2.0+ |
Задача
Превратить изображения в круг и добавить вокруг них рамку.
Решение
Для скругления уголков у элементов в CSS3 предназначено свойство border-radius, значением которого выступает радиус закругления. Если взять квадратное изображение и добавить к нему это свойство, то мы получим уже не квадратное, а круглое изображение. В качестве значения следует задать половину ширины рисунка. Правда, можно поступить и проще и значением указать заведомо большое число, превышающее размеры изображения. Так мы в любом случае получим круглую картинку и сможем применять стиль к изображениям разного размера.
Плюсом использования border-radius является то, что мы можем добавлять в стилях к элементу рамку, тень и она будет повторять контур.
Пример 1. Круглые изображения
HTML5CSS3IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Круглые изображения</title>
<style>
.round {
border-radius: 100px; /* Радиус скругления */
border: 3px solid green; /* Параметры рамки */
box-shadow: 0 0 7px #666; /* Параметры тени */
}
</style>
</head>
<body>
<p><img src="images/thumb1.jpg" alt="">
<img src="images/thumb2.jpg" alt="">
<img src="images/thumb3.jpg" alt=""></p>
</body>
</html>Результат данного примера в Opera показан на рис. 1.
Рис. 1. Круглые изображения
Браузеры Chrome и Safari некорректно отображают скруглённые уголки, что выглядит довольно некрасиво (рис. 2).
Рис. 2. Рамка в браузере Chrome
Здесь можно посоветовать только отказаться от рамки вообще или заменить border на свойство box-shadow.
Вспоминаем, что оно может давать не только размытую тень, но и тень с резкими краями. К тому же box-shadow одновременно допускает наличие нескольких теней, параметры которых перечисляются через запятую. Таким образом, первая тень будет формировать рамку, а вторая добавлять затемнение. В примере 2 показан изменённый стиль, решающий проблему в Chrome с обрамлением.
Пример 2. Рамка из тени
HTML5CSS3IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Круглые изображения</title>
<style>
.round {
border-radius: 100px; /* Радиус скругления */
box-shadow: 0 0 0 3px green, 0 0 13px #333; /* Параметры теней */
}
</style>
</head>
<body>
<p><img src="images/thumb1.jpg" alt="">
<img src="images/thumb2.jpg" alt="">
<img src="images/thumb3.jpg" alt=""></p>
</body>
</html>Результат данного примера показан на рис. 3.
Рис. 3. Рамка в браузере Chrome
Заметьте, что изображения теперь плотно прилегают друг к другу, для добавления пространства между ними примените свойство margin.
CSS3
- border-radius
- box-shadow
html — Создание круга с использованием радиуса границы
спросил
Изменено 5 лет, 7 месяцев назад
Просмотрено 5к раз
Я читаю HTML и CSS Джона Дакетта и познакомился со свойством border-radius .
Я пытаюсь создать круг, используя приведенный ниже код, но круг не идеален. Я использую радиус 50px , но он не идеален.
р {
граница: 5px сплошная #ee3e80;
отступ: 10 пикселей;
ширина: 100 пикселей;
высота: 100 пикселей;
отображение: встроенный блок;
поле: 20 пикселей;
}
стр.
три {
отступ: 0px;
радиус границы: 50 пикселей;
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
} Что я делаю не так?
- HTML
- CSS
1
отступ и ширина границы вычисляется дополнительно к ширине и высоте вашего элемента.
У вас есть разные варианты решения этой проблемы:
- добавьте
box-sizing: border-boxк вашему элементу, который определяет, что должно включаться в расчет размера - использовать
радиус границы: 50% - добавьте ширину границы и отступы к радиусу границы
.
Здесь решение только с box-sizing
p {
отображение: встроенный блок;
поле: 20 пикселей;
ширина: 100 пикселей;
высота: 100 пикселей;
/* эти значения добавляются к вашим 100px по умолчанию */
граница: 5px сплошная #ee3e80;
отступ: 10 пикселей;
}
стр.
три {
отступ: 0px;
радиус границы: 50 пикселей;
/* теперь ширина и высота определяют размер вашего
элемент в целом */
box-sizing: граница-коробка;
} Более подробное объяснение блочной модели CSS см. в этой статье на MDN.
Должно быть 50% , а не 50px . 50% всегда будет рисовать круг независимо от размера элемента. Установка значения в пикселях будет рисовать круг только в том случае, если элемент достаточно мал.
См. ниже.
р {
граница: 5px сплошная #ee3e80;
отступ: 10 пикселей;
ширина: 100 пикселей;
высота: 100 пикселей;
отображение: встроенный блок;
поле: 20 пикселей;
}
стр. три {
отступ: 0px;
радиус границы: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
} 0
Это потому, что вы не учли ширину, исходящую от ширины границы, которая составляет 5px на каждом конце.
Таким образом, общая ширина составляет 110 пикселей , поэтому радиус границы должен быть 55 пикселей . Более простой способ для идеального круга — просто установить border-radius на 50% .
р {
граница: 5px сплошная #ee3e80;
отступ: 10 пикселей;
ширина: 100 пикселей;
высота: 100 пикселей;
отображение: встроенный блок;
поле: 20 пикселей;
}
стр. три {
отступ: 0px;
радиус границы: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
} 0
Вам просто нужно добавить 50% к свойству border-radius . Ниже приведен фрагмент, и вы обнаружите, что это идеальный круг.
р {
граница: 5px сплошная #ee3e80;
отступ: 10 пикселей;
ширина: 100 пикселей;
высота: 100 пикселей;
отображение: встроенный блок;
поле: 20 пикселей;
}
стр. три {
отступ: 0px;
радиус границы: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
} 1
Еще один вариант — установить для свойства box-sizing вашего элемента значение border-box (как я делаю почти для всех элементов).
р {
граница: 5px сплошная #ee3e80;
отступ: 10 пикселей;
ширина: 100 пикселей;
высота: 100 пикселей;
отображение: встроенный блок;
поле: 20 пикселей;
box-sizing: граница-коробка; /* < -------------------- здесь */
}
стр. три {
отступ: 0px;
радиус границы: 50 пикселей;
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
} Border-box учитывает границы при выполнении математических операций и обычно упрощает компоновку и стилизацию при повсеместном применении. Библиотеки вроде Bootstrap делают это за вас.
0
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Радиус границы — попутный ветер CSS
Основное использование
Скругленные углы
Используйте такие утилиты, как . ,
rounded-sm .rounded или .rounded-lg , чтобы применить различные размеры радиуса границы к элементу.
округлено
округлено-md
округлено-lg
округлено-полное
<дел>дел> <дел>дел>
Кнопки для таблеток
Используйте округлено-полно утилита для создания кнопок-таблеток.
округленный-полный
Без округления
Используйте округленный-нет , чтобы удалить существующий радиус границы из элемента.
Чаще всего используется для удаления радиуса границы, который был применен к меньшей контрольной точке.
округление-нет
Скругление сторон отдельно
Использование rounded-{t|r|b|l}{-size?} для округления только одной стороны элемента.
округленный-t-lg
округленный-r-lg
округленный-b-lg
округленный-l-lg
<дел>дел> <дел>дел>
Скругление углов отдельно
Используйте rounded-{tl|tr|br|bl}{-size?} , чтобы скруглить только один угол элемента.
закругленный-tl-lg
закругленный-tr-lg
закругленный-br-lg
округлен-bl-lg
<дел>дел> <дел>дел>
Условное применение
Наведение курсора, фокус и другие состояния
Tailwind позволяет условно применять служебные классы в различных состояниях, используя модификаторы вариантов. Например, используйте hover:rounded-lg , чтобы применять утилиту rounded-lg только при наведении.
<дел>
Полный список всех доступных модификаторов состояния см. в документации по Hover, Focus и другим состояниям.
Точки останова и медиа-запросы
Вы также можете использовать модификаторы вариантов для таргетинга на медиа-запросы, такие как чувствительные точки останова, темный режим, предпочтения с уменьшенным движением и многое другое. Например, используйте md:rounded-lg , чтобы применить утилиту rounded-lg только к экранам среднего размера и выше.
<дел>


три {
отступ: 0px;
радиус границы: 50 пикселей;
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
}
три {
отступ: 0px;
радиус границы: 50 пикселей;
/* теперь ширина и высота определяют размер вашего
элемент в целом */
box-sizing: граница-коробка;
} 