Округлые уголки, CSS
В этой статье мы рассмотрим пример создания панелей веб-сайта с округлыми углами на заранее известном сплошном цвете фона, при этом панели будут как угодно изменять свои размеры.
I. Начнем работу с Adobe Photoshop:
- Создадим новое изображение (Ctrl+N) небольшого размера, например: 300х200 пикселей, на белом фоне;
- Воспользуемся инструментом
Rounded Rectangle Tool
(U). Поставим радиус округления угловRadius
равным 10 пикселей, и управление размерностью добавляемого объектаRound Rectangle Options
– Unconstrained
Выберем какой-нибудь цвет для панели, например: #74c44c
Используем данный инструмент на нашем холсте, затем нажмем правой кнопкой мыши в панелиСлои (Layers)
по названию появившегося слояShape 1
и выберем пунктResterize Layer
. В итоге должно получиться что-то похожее на изображение ниже:
- Увеличим масштаб изображения до максимального (Ctrl++) и используя инструмент
Crop Tool
(C) выделим левый верхний угол нашей фигуры (Rounded Rectangle) как показано на рисунке
Т.е. захватим только область где идет скругление углов, все что залито сплошным не попадет в зону выреза. Далее нажмем правой кнопкой мыши внутри выделенного прямоугольника и выберем пунктCrop
, получим:
- Сохраним полученное изображение в файл, для этого нажмем Ctrl+Shift+Alt+S или выберем пункт
Save for Web (Сохранить для Веб)
в менюFile (Файл)
. В появившемся окне проделаем следующие настройки:GIF
– формат в который будем сохранять изображение;Adaptive
– режим коррекции цветом, в нашем случае является наилучшим;- Параметры уменьшающие качество и четкость изображения (Dieter, Lossy, Web Snap) выключаем и ставим на минимум;
- Убираем галочку напротив
Transparency (Прозрачность)
; - Выберем количество цветов
Colors
так чтобы не было потери качества; - Параметр
Matte
устанавливаем в значениеnone
- Далее нажимаем кнопку
Save (Сохранить)
и сохраняем изображение, например под именем:panel_top_left.gif

- Проделаем пункты 3-4 с тремя оставшимися углами, в итоге получим набор изображений:
panel_top_left.gif
– левый верхний угол;
panel_top_right.gif
– правый верхний угол;
panel_bottom_left.gif
– левый нижний угол;
panel_bottom_right.gif
– правый нижний угол.
На этом работа с Adobe Photoshop закончена.
II. Далее действия могут производится в любом текстовом редакторе, например Notepad (Блокнот)
. Рекомендуем воспользоваться специализированным решением, например Adobe Dreamweaver
, ActiveState Komodo Edit
, PSPad
и др.
- Создадим
html
– документ (далее планируется что, читатель данной статьи обладает начальными знаниями HTML и CSS); - Добавим 4 вложенных друг в друга тега <div>
<div><div><div><div>Hello World !</div></div></div></div>
- Опишем для первого тега <div> класс и назовем его
panel
:.panel { background: #74c44c url(panel_top_left.gif) top left no-repeat; }
Цвет фона следует задать только у первого (родителького) тега <div>;
- Далее относительно
родительского
тега <div> опишем стили для всех вложенных тегов <div>:.panel div { background: url(panel_top_right.gif) top right no-repeat; } .panel div div { background: url(panel_bottom_left.gif) bottom left no-repeat; } .panel div div div { background: url(panel_bottom_right.gif) bottom right no-repeat; }
Т.е. для каждого тега <div> задаем в виде неповторяющегося фона ранее созданные изображения. Для первого тега <div> фоном будет изображение
panel_top_left.gif
, которое с помощью комбинации параметровtop left
свойстваbackground
разместим в верхнем левом углу. Изображениеpanel_top_right.gif
, являющееся фоном первого вложенного тега <div> в тег <div> с классомpanel
с помощью комбинации параметровtop right
свойстваbackground
разместим в верхнем правом углу и т.д. - Опишем отступ текста от краев панели и применим некоторое оформление к тексту, который будет содержаться внутри панели:
.panel div div div { background: url(panel_bottom_right.gif) bottom right no-repeat; padding: 15px; color: #fff; text-align: center; }
- Соберем теперь все это в один документ:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Округлые уголки (CSS: Урок № 1)</title> <style type="text/css"> .panel { background: #74c44c url(panel_top_left.gif) top left no-repeat; width: 200px; } .panel div { background: url(panel_top_right.gif) top right no-repeat; } .panel div div { background: url(panel_bottom_left.gif) bottom left no-repeat; } .panel div div div { background: url(panel_bottom_right.gif) bottom right no-repeat; padding: 15px; color: #fff; text-align: center; } </style> </head> <body> <div class="panel"> <div> <div> <div>Hello World !</div> </div> </div> </div> </body> </html>
и получим результат:
Hello World !Наша панель может изменять свои размеры, как в высоту, так и в ширину, при этом качество округления уголков не теряетсяСоздавайте сайты так,
чтобы они радовали глаз!
Заключение: данный способ позволяет создать эффект округления уголков контейнеров, находящихся на заранее известном сплошном цвете фона (в нашем случае белый), как создать такой эффект в случае градиентного или текстурированного фона, рассмотрим в следующей статье.
Так же стоит отметить, что при наличии большого количества разноцветных панелей, сделанных таким способом, получается большое количество запросов на сервер, например, у нас есть 5 цветов панелей, по 4 файла на каждую, уже получается 20 изображений, в этом случае такой способ не рекомендуется использовать. О том как уменьшить количество запросов изображений на сервер, а так же почему лучше использовать фоновые изображения рассмотрим отдельно в ближайших статьях.
P.S.: Когда Все браузеры будут поддерживать CSS3, такой пример можно будет осуществить по средством одного тега <div> и одного CSS-класса к нему, т.к. будет существовать возможность задать сразу несколько фоновых рисунков для одного элемента.
Статья перенесена из нашего корпоративного блога ввиду полной переделки сайта. Подробнее можно узнать тут.
Компания Web++ — создание сайтов Волгоград.
Похожие темы
RSS-лента комментариев к этой статье | Обратная ссылка (trackback link)



Ребята ну нормальные же статьи постили а тут детский сад развели….
CTAPbIu_MABP, эта статья была написана больше года назад для другого блога, сейчас перенесена с кодом 301 сюда, чтобы оставить рабочими внешние ссылки. Это отмечено в конце статьи.
Честно говоря я не (до)читал. А то что она перенесена я заметил чуть позже потому что в ридере идут сначала самый новые
но было уже поздно
Тут показано как сделать то же самое только без картинок –
http://blog.yosle.com/2007/09/20/css-round-corners
да этот способ использует гугл.
Alex, я бы не советовал так делать, это ужасный способ.
Если итересует именно реализация округлых уголков без изображений, советую почитать следующую статью: «Закругленные углы без использования картинок».
Описанный же мной способ, повторюсь, более года назад для другого блога, можно назвать «железным». Он будет работать во всех браузерх, при любом масштабе и размере шрифта. К тому же не нарушает семантику. Если заранее известна ширина или высота блока, количсетво изображений можно сократить.
если ты так отстаиваешь этот способ почему не сделать css-sprite?
и ссылка у тебя неправильная
Можно и спрайты, а можно и вообще картинки в DataURI запихать прямо в CSS.
В css есть команда -moz-border-radius: 10px 10px 10px 10px;
Но она поддерживается только в FireFox’е, в Опере и ИЕ неработает
Еще короче -moz-border-radius: 10px;
при использовании «-moz-border-radius» код не пройдёт валидатор!!!
У меня картинки не грузятся (отключены – интернет медленный) и всё прямоугольное.
А -moz-border-radius работает !
Приветствую всех
Кто хочет построить свой бизнес в Рязани?
Предлагая клиенту предельную свободу, именно услуга – снять в рязани квартиру посуточно, предоставляет возможность жить в привычном для себя режиме, без краткосрочного притеснения или привязанности к работе разнообразных обслуживающих служб. Согласитесь, это достаточно важно. Негласность как отличительную особенность и при всем намерении краткосрочная аренда рязань, предпочтительно признают иностранные путешественники. Соответственно недавно напечатанным цифрам, собственно европейские бизнесмены составляют до 30% заказчиков варианта краткосрочная аренда в рязани, около 20% составляют приезжие и 14% относится к агентам межнациональных выставок, проходящих в Рязани.
С уважением ваш друг Николай
I want to post quick hello and want to say appriciate for this good article. D4D4Tc9xCy9B19
Good
The risk of ED is nearly two times greater in men with total cholesterol levels above 240 than in men with total cholesterol levels below 180. lowest prices on generic
Pa!!!
____________________________
substitute