Красивые рамки в 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
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Все мы сидим в сточной канаве, но некоторые при этом смотрят на звезды Уайльд Оскар - (1854-1900) - английский писатель |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.