Блог Боринца l☯SEO БОГ☯l Рецепты версткиЗакругленные углы картинками

Закругленные углы картинками

Закругленные углыВ этой статье я хочу ознакомить вас с самым простым методом округления углов блочных элементов при верстке html + css. Этот метод используется в простейшем случае: когда цвет фона в блоке и вне блока однородный (то есть без градиентов или фоновых изображений).

Для тех, кто, возможно, не понял, поясню. В дизайне веб-страницы мы видим что-то подобное:
make-corners
Как это верстать? Очень просто. Делаем 4 изображения углов (такими, какими они и должны выглядеть: радиус округления, цвет фона, цвет картинки). Примерно вот так:Закругленные углы изображениями

Рисуем закругленные углы:

Объясню, на всякий случай, как это сделать в фотошопе. Значит так, выбираем в панели инструментов Rounded Rectangle Tool:

Закругленные углы изображениями

Rounded Rectangle Tool

Ставим в панели опций флажок на Paths и необходимый радиус округления:

Paths

Paths

Радиус округления

Радиус округления

Рисуем прямоугольник с закругленными углами:

Прямоугольник с закругленными углами

Rounded Rentangle

И выставляем флажок на «Load path as a selection»:

Load path as a selection

Load path as a selection

Теперь выделенную область зальем нужным нам цветом:

Выделение

Выделяем

Заливаем

Заливаем

Ну, а из получившегося вырезаем необходимый уголок

Вырезаем угол

Вырезаем угол

Пововачиваем три раза по 90 градусов и сохраняем:

Закругленные углы

Верстаем закругленные углы

А верстать это еще проще, чем рисовать:) Код выглядит следующим образом:

<div class="container">
 <div class="tr">
  <div class="tl">
   <div class="bl">
    <div class="br">
     <p class="text">TEXT</p>
    </div>
   </div>
  </div>
 </div>
</div>


.container{color:#FFFFFF;background-color:#FF9900;}
.tr{ background:url(tr.png) no-repeat top right;}
.tl{ background:url(tl.png) no-repeat top left;}
.bl{ background:url(bl.png) no-repeat bottom left;}
.br{ background:url(br.png) no-repeat bottom right;}
.text{text-align:left; padding:5px 10px 5px 10px;}

В итоге получаем следующее:

Пример

Как видим, html-код получился, мягко говоря, не слишком семантичен. Для того, чтобы устранить эту неприятность можно воспользоваться, так называемыми, псевдоэлементами before и after, что максимально уменьшит код html и сделает его семантичным:

<div class="rounded">TEXT</div>


.rounded{background: #FF9900;}
.rounded:before{
content:url(tl.png);
background: url(tr.png) no-repeat 100%;
display: block;
}
.rounded:after{
content:url(bl.png);
background: url(br.png) no-repeat 100%;
display: block;
}

Для более сложных случаев (градиентов, фоновых изображений) рекомендую использовать другие методы закругления углов, что будут описаны мною в следующих статьях.



Оставить комментарий