Красивые рамки в CSS3

Создание рамок в HTML и CSS доступно с самого появления данных языков. Наверняка вы знакомы со сплошными рамками, рамками с точечными линиями и так далее. Но CSS3 расширяет возможности работы с рамками - теперь можно использовать изображения для создания более привлекательных рамок, например, таких:

 

Синтаксис и поддержка браузерами

Рамка с изображением в CSS3 определяется следующим образом:

border-image: [источник_изображения] [нарезка_изображения] [ширина] [начало] [повторение];

Описанный выше синтаксис является официальной версией W3C, которая поддерживается только в Chrome, а Opera, Firefox, и Safari требуют префиксов (-o-, -moz-, -webkit-), а Internet Explorer совсем не поддерживает данное свойство.

К тому же, значения [ширина] и [начало] в свойстве border-image НЕ ПОДДЕРЖИВАЮТСЯ ни в одном браузер. Однако, ширину можно задать с помощью свойства  border-width.

Итак, в настоящий момент доступны только значения [источник_изображения], [нарезка_изображения] и [повтороение] .

border-image: [image source] [slice] [repeat];

 

Нарезка изображения

Прежде, чем мы продолжим, нужно разобраться с “нарезкой изображения”, так как это новое веяние в определении свойств. Нарезка изображения определяет разрезы на исходном изображении, которые проводятся соответственно сверху, справа, снизу и слева от границ изображения и разделяют его на девять частей, как показано на следующем рисунке.

Как видно на рисунке, секции 1, 3, 7 и 9 будут использоваться для углов рамки, а секции 2, 4, 6 и 8 - для сторон рамки (следует убедиться, что секции сторон можно растягивать или повторять без визуальных искажений).

Значение для нарезки можно задавать в пикселях или процентах.

 

Создаем рамку для фотографии

Теперь сделаем рамку для реального примера.

Мы будем использовать свойство border-image для формирования фоторамки с помощью ниже приведенного изображения. Мы тщательно измерили его чтобы нарезать правильно - углы, растяжение и повторы для сторон будут выполняться без искажений.

Также для демонстрации используется следующая фотография:

 

Разметка

Разметка очень простая:

<div class="wrapper">
	<img src="/path/photo.jpg">
</div>

 

Стили

А теперь сделаем рамку с помощью свойства border-image.

Если посмотреть на выше приведенную картинку, то можно заметить, что наше изображение имеет ширину 180px. Значение делится на шесть, то есть каждая секция будет шириной 30px (нарезка изображения).

Если вы используете значение в px, то единицы можно не указывать, а для процентов придется ставить рядом с цифрами символ %.

Для повтора секции используется значение repeat. В качестве альтернативы можно использовать значение stretch для растягивания секции на установленную ширину.

img {
	border-image:url("images/frame.png") 30 repeat;
	-o-border-image:url("images/frame.png") 30 repeat;
	-moz-border-image:url("images/frame.png") 30 repeat;
	-webkit-border-image:url("images/frame.png") 30 repeat;

	border-width: 30px;
}

В дополнение мы также разместим изображение в центре окна браузера и добавим текстуру к фону документа.

    html {  
        background: url('images/lightpaperfibers.png');  
    }  
    .wrapper {  
        margin: 20px auto;  
        height: 476px;  
        width: 675px;  
        text-align: center;  
    }  

И все. Смотрим демонстрационную страницу.

Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/v5Cbc2qvGZU/lessons.php

Читать комменты и комментировать

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



Защитный код
Обновить

Красивые рамки в CSS3 | | 2012-08-16 21:03:54 | | Статьи Web-мастеру | | Создание рамок в HTML и CSS доступно с самого появления данных языков. Наверняка вы знакомы со сплошными рамками, рамками с точечными линиями и так далее. Но CSS3 расширяет возможности работы с | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: