Как закруглить края в CSS

Скруглённые уголки

Традиционные прямоугольные уголки в дизайне сайтов давно уже всем надоели. В моде скруглённые уголки, которые делаются не с помощью изображений, а через стили, для чего используется свойство border-radius. Это свойство может иметь одно, два, три или четыре значения разделённых пробелом, которые и определяют радиус всех уголков или каждого по отдельности.

В табл. 1 приведёно разное количество значений и вид блока, который получается в этом случае.

Код Описание Вид
div { border-radius: 10px; } Радиус скругления для всех уголков сразу.
div { border-radius: 0 10px; } Первое значение устанавливает радиус левого верхнего и правого нижнего уголка, второе значение — для правого верхнего и левого нижнего.
div { border-radius: 20px 10px 0; } Первое значение задаёт радиус левого верхнего уголка, второе — одновременно правого верхнего и левого нижнего, а третье значение — правого нижнего.
div { border-radius: 20px 10px 5px 0; } Последовательно устанавливает радиус левого верхнего уголка, правого верхнего, правого нижнего и левого нижнего.

В примере 1 показано создание блока со скруглёнными уголками.

Пример 1. Уголки у блока

HTML5CSS3IE 9+CrOpSaFx

<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Радиус</title> <style> div { background: #007E3E; /* Цвет фона */ color: #fff; /* Цвет текста */ padding: 10px; /* Поля вокруг текста */ border-radius: 5px; /* Уголки */ } </style> </head> <body> <div>Меня — супплетивная форма винительного падежа от я.</div> </body> </html>

Результат данного примера показан на рис. 1.

Рис. 1. Блок со скруглёнными уголками

Интересный эффект можно получить, если задать радиус скругления больше половины высоты и ширины элемента. В таком случае получится круг. В примере 2 показано создание круглой кнопки с рисунком.

Пример 2. Круглая кнопка

HTML5CSS3IE 9+CrOpSaFx

<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Кнопка</title> <style> button { background: #f2f6f8; /* Цвет фона */ border: 1px solid #7a7b7e; /* Параметры рамки */ width: 60px; /* Ширина кнопки */ height: 60px; /* Высота */ border-radius: 30px; } </style> </head> <body> <button><img src=»images/done.png» alt=»Продолжить»></button> </body> </html>

Результат данного примера показан на рис. 2.

Рис. 2. Круглая кнопка

В браузере Opera скругление к <button> применяется некорректно, если не задана граница через свойство border.

Свойство border-radius можно сочетать и с другими свойствами, например, добавить к элементу тень. В примере 3 сделан набор кружков, из которых один подсвечивается с помощью box-shadow. Такой набор можно использовать для навигации по страницам или по фотографиям.

Пример 3. Свечение

HTML5CSS3IE 9+CrOpSaFx

<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Свечение</title> <style> body { background: #608DA2; /* Фон веб-страницы */ } ul { list-style: none; /* Убираем маркеры */ } li { display: inline-block; /* Строчно-блочный элемент */ border: 2px solid #fff; /* Параметры контура */ margin-right: 5px; /* Отступ справа */ background: #000; /* Чёрный фон */ width: 10px; height: 10px; /* Ширина и высота */ border-radius: 10px; /* Делаем кружок */ } li.active { background: #b00; /* Красный фон */ box-shadow: 0 0 4px 2px #fff; /* Параметры свечения */ } </style> </head> <body> <ul> <li></li> <li class=»active»></li> <li></li> <li></li> <li></li> </ul> </body> </html>

Результат данного примера показан на рис. 3.

Рис. 3. Свечение вокруг кружка

С помощью border-radius можно сделать не только кружок, но и эллипс, а также эллиптическое скругление у блока. Для этого надо написать не одно значение, а два через слэш. Запись 20px/10px означает, что по горизонтали радиус скругления будет 20 пикселов, а по вертикали 10 пикселов. В примере 4 показано создание эллиптических уголков для добавления к фотографии надписи оформленной как в комиксах.

Пример 4. Эллипсы

HTML5CSS3IE 9+CrOpSaFx

<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Эллиптические уголки</title> <style> div { position: relative; } span { position: absolute; /* Абсолютное позиционирование */ background: rgba(255,255,255,0.9); /* Белый полупрозрачный фон */ } .bulb1 { width: 10px; height: 10px; /* Ширина и высота */ left: 65px; top: 85px; /* Положение */ border-radius: 10px; /* Превращаем в кружок */ } .bulb2 { width: 20px; height: 14px; /* Ширина и высота */ left: 45px; top: 60px; /* Положение */ border-radius: 10px/6px; /* Превращаем в эллипс */ } .bulb3 { left: 10px; top: 15px; /* Положение */ padding: 5px 10px; border-radius: 60px/15px; /* Создание эллипса */ } </style> </head> <body> <div> <span class=»bulb3″>Вы сами себе учитель</span> <span class=»bulb2″></span> <span class=»bulb1″></span> <img src=»images/monk.jpg» alt=»Монах»> </div> </body> </html>

Результат данного примера показан на рис. 4.

Рис. 4. Использование эллиптических уголков

Вид уголков можно изменить и у изображений, добавляя к селектору img свойство border-radius, как показано в примере 5.

Пример 5. Изображения

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *