Разделы

Блок с двумя скругленными уголками

Метки:

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

В графическом редакторе вначале следует подготовить изображения уголков, цвет которых совпадает с цветом фона блока. Так, на рис. 1 показано изображение левого и правого уголка.

Рис. 1

Рис. 1. Подготовленные уголки

В изображении не должна быть включена прозрачность, используется два цвета — фона и блока, как показано на рис. 2

Рис. 2

Рис. 2. Цвета, используемые в изображении уголка

Нам понадобится два слоя, один из которых вкладывается внутрь другого. Первый, назовем его block_title, отвечает за левый уголок, а второй, внутри него — за правый. Добавление рисунка уголка происходит с помощью универсального стилевого атрибута background, в качестве значения которого устанавливается цвет фона, путь к графическому файлу и положение рисунка (пример 1). Поскольку изображение уголка задается в виде фона, который по умолчанию повторяется по вертикали и горизонтали, то к атрибуту background следует также добавить значение no-repeat. Оно гарантирует, что рисунок будет отображаться только один раз, без всяких повторений. Чтобы текст внутри цветной области не «налипал» на края, следует установить поля к внутреннему слою через атрибут padding.

Пример 1. Использование слоев

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  <title>Скругленные уголки</title>  <style type="text/css">
   .block_title {
    background: #bb5327 url(corner-left.png) no-repeat; /* Параметры левого уголка */
    color: #fff; /* Цвет текста */
    font-weight: bold; /* Жирное начертание */
   }
   .block_title div {
    background: url(corner-right.png) right top no-repeat; /* Параметры правого уголка */
    padding: 5px 10px; /* Поля вокруг текста */
   }
   .block_content {
    background: #f6e5c3; /* Цвет фона */
    padding: 10px; /* Поля вокруг текста */
   }
  </style>
 </head>
 <body>
  <div class="block">
   <div class="block_title"><div>Интересная информация</div></div>
   <div class="block_content">
     Были случаи, когда лев в одиночку справлялся с африканским буйволом, 
     вес которого превышает 600 килограмм, а характер оставляет желать лучшего.
   </div> 
  </div>
 </body>
</html>

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

Рис. 3

Рис. 3. Вид блока со скругленными уголками

Значение right top атрибута background означает, что фоновая картинка располагается в правом верхнем углу слоя. Это значение можно заменить альтернативным 100% 0.

   

Новичкам будет полезно

   
   

А почему нельзя сделать отсекаемую часть скругления прозрачной, чтобы не подгонять под цвет фона?

   
   

Почему же, можно и с прозрачностью сделать. Всегда существует более, чем одно решение.

   

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

  • Строки и параграфы переносятся автоматически.
CAPTCHA
Вопрос для защиты от спама.
1 + 2 =
Решите этот простой пример и введите результат. Так, для 1+3 надо ввести 4.