Создать рамку со скругленными уголками без изображений - «Уголки» » Самоучитель CSS
Меню
Наши новости
Учебник CSS

Невозможно отучить людей изучать самые ненужные предметы.

Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3

Надо знать обо всем понемножку, но все о немногом.

Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы

Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)

Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода

Самоучитель CSS

Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5

Новости

Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости

Справочник CSS

Справочник от А до Я
HTML, CSS, JavaScript

Афоризмы

Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы

Видео Уроки


Видео уроки
Наш опрос



Наши новости

       
26-03-2016, 13:59
Создать рамку со скругленными уголками без изображений - «Уголки»
Рейтинг:

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

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

 


Рис. 1. Увеличенный фрагмент уголка

Для создания подобной рамки потребуется три слоя высотой 1–2 пиксела, который накладываются друг на друга. Опишем их характеристики глядя на рис. 1.

  • Слой 1 — высота один пиксел, отступ четыре пиксела.
  • Слой 2 — ширина границы два пиксела, высота один пиксел, отступ два пиксела.
  • Слой 3 — ширина границы один пиксел, высота два пиксела, отступ один пиксел.

Высота слоя задается свойством height, граница слева через border-left, справа — border-right. Чтобы обеспечить смещение этих слоев, к их стилям следует добавить свойство margin со значением, равным величине смещения, как показано в примере 1.

Пример 1. Создание скругленной рамки

XHTML 1.0CSS 2.1IECrOpSaFx

<!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=utf-8" />
  <title>Рамка с уголками</title>
  <style type="text/css">
   .d1, .d2, .d3 { 
    display: block; /* Блочный элемент */
    font-size: 0; /* Размер шрифта для IE6-7 */
    overflow: hidden; /* Для браузера IE6 */
    height: 1px; /* Высота блока в один пиксел */
   }
   .d2, .d3, .dialog-round div {
    border-left: 1px solid #666; /* Граница слева */
    border-right: 1px solid #666; /* Граница справа */
   }
   .d1 { margin: 0 4px; background: #666; }
   .d2 { margin: 0 2px; border-width: 2px; }
   .d3 { margin: 0 1px; height: 2px; }
   .dialog-round div {
    padding: 5px 10px; /* Отступы по горизонтали и вертикали */
   }
  </style>
 </head>
 <body>
  <div class="dialog-round">
   <span class="d1"></span><span class="d2"></span><span class="d3"></span>
   <div>
    На улицах и пустырях мальчики запускают воздушных змеев, 
    а девочки играют деревянными ракетками с многоцветными рисунками в ханэ.
   </div>
   <span class="d3"></span><span class="d2"></span><span class="d1"></span>
  </div>
 </body>
</html>

Три слоя создающие скругление добавляются с первого по третий в начале блока и с третьего по первый — в его конце. Граница слева и справа также добавляется к слою с текстом. Результат примера показан на рис. 2.

 


Рис. 2. Рамка со скругленными уголками

Удобство приведенного метода создания рамки состоит в простоте изменения цвета рамки и фона блока. После небольшой модификации примера 1 понадобится задать цвет в двух местах. В примере 2 используется белый цвет рамки (#fff), который хорошо заметен на темном фоне веб-страницы.

Пример 2. Цветной блок

XHTML 1.0CSS 2.1IECrOpSaFx

<!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=utf-8" />
  <title>Рамка с уголками</title>
  <style type="text/css">
   BODY {
    background: #7e7166; /* Цвет фона веб-страницы */
   }
   .d1, .d2, .d3 { 
    display: block; font-size: 0; overflow: hidden; height: 1px;
   }
   .d2, .d3, .dialog-round div {
    border: 1px solid #fff; /* Параметры рамки */
    border-top: none; border-bottom: none; /* Убираем границу сверху и снизу */
    background: #fc0; /* Цвет фона блока */
   }
   .d1 { margin: 0 4px; background: #fff; }
   .d2 { margin: 0 2px; border-width: 2px; }
   .d3 { margin: 0 1px; height: 2px; }
   .dialog-round div { padding: 5px 10px; }
  </style>
 </head>
 <body>
  <div class="dialog-round">
   <span class="d1"></span><span class="d2"></span><span class="d3"></span>
   <div>
    На улицах и пустырях мальчики запускают воздушных змеев, 
    а девочки играют деревянными ракетками с многоцветными рисунками в ханэ.
   </div>
   <span class="d3"></span><span class="d2"></span><span class="d1"></span>
  </div>
 </body>
</html>

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

 


Рис. 3. Рамка со скругленными уголками на темном фоне

Приведем также стиль для создания рамки толщиной два пиксела, который может пригодиться в тех случаях, когда толщины в один пиксел бывает недостаточно (пример 3). При этом HTML-код останется прежним.

Пример 3. Стиль для рамки толщиной два пиксела

<style type="text/css">
 .d1, .d2, .d3 { 
  display: block; font-size: 0; overflow: hidden; height: 1px;
 }
 .d2, .d3, .dialog-round div {
  border: 2px solid #666; /* Параметры рамки */
  border-top: none; border-bottom: none; /* Убираем границу сверху и снизу */
 }
 .d1 { margin: 0 3px; background: #666; }
 .d2 { margin: 0 1px; border-width: 2px; background: #666; }
 .d3 { margin: 0 1px; height: 1px; }
 .dialog-round div { padding: 5px 10px; }
</style>

Хотя изображения достаточно успешно применяются для создания скругленных уголков в рамках, стилями порой делать это удобнее. Во-первых, через стили можно легко изменить цвет рамки без редактирования картинок. И, во-вторых, рамки без рисунков всегда отображаются в браузерах одинаково, независимо от того, выключен показ картинок или нет. Любое закругление образуется за счет смещения определенных пикселов в углу прямоугольной рамки. Если увеличить фрагмент левого верхнего уголка рисунка рамки толщиной один пиксел и радиусом скругления три пиксела (рис.
Просмотров: 2 493
Комментариев: 0:   26-03-2016, 13:59
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

 
Еще новости по теме:



Другие новости по теме:
Комментарии для сайта Cackle