css властивість border-image


border-image - це одна з властивостей, яка була введена у CSS3 для можливості використання зображення як межі елементу.

Властивість `border-image`

border-image використовується для скороченого запису таких властивостей як border-image-source, border-image-slice, border-image-width, border-image-outset, і border-image-repeat. Це ефективний метод, щоб додати зображення для рамки.

Товщина рамки задається властивістю border, при цьому якщо вказано border: 0, то рамка не виводиться. При інших значеннях властивості border малюнок завжди має пріоритет.

Одночасно можна задати наступні властивості:

  • border-image-source
  • border-image-slice
  • border-image-width
  • border-image-outset
  • border-image-repeat

Якщо не вказати якесь значення, то браузер встановить це значення в значення без задання.

Також підтримуються градієнти CSS будь-якого типу

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

На відміну від деяких інших властивостей, які встановлюють кордон для елементів, border-image не може бути анімованим. Вона також не може стилізувати кордон разом з використанням заокруглення, тобто властивістю border-radius.

Дозволяється використовувати одне, два, три або чотири значення, поділяючи їх між собою пробілом. Ефект залежить від кількості значень і приведений в таблиці.

Число значень Результат
1 Задає колір кордону для всіх сторін.
2 Перше значення задає колір для верхнього та нижнього кордону, друге - для лівого та правого.
3 Перше значення задає колір для верхнього кордону, друге - для лівого та правого, останнє - для нижнього кордону.
4 По черзі встановлює колір для верхнього, правого, нижнього та лівого кордонів.
автор: Svitlana

Порада

Зверніть увагу, border-image використовується замість border-style, який буде показаний тільки у випадку, якщо сталася помилка при завантаженні зображення, або для border-image встановлене значення none.

автор: Svitlana
Нотатка

Якщо задано тло через властивість background, то він відображається під рамкою.

автор: Svitlana
Нотатка

Firefox до версии 15.0 поддерживает свойство -moz-border-image. Safari, Chrome до версии 15.0, Android и iOS поддерживают свойство -webkit-border-image. Opera до версии 15.0 поддерживает свойство -o-border-image.

автор: Svitlana

Синтаксис

border-image: source slice width outset repeat|initial|inherit && stretch|repeat|round;

Властивість border-image може отримувати 10 значень:

border-image-source

Шлях до зображення, яке буде використано в якості кордону.

автор: Svitlana

border-image-slice

Як нарізати зображення для кордону.

автор: Svitlana

border-image-width

Ширина кордону.

автор: Svitlana

border-image-outset

Визначає на яку величину може виходити зображення за межі кордону блоку.

автор: Svitlana

border-image-repeat

Як буде повторюватися зображення

автор: Svitlana

initial

Встановлює властивість у значення без задання

автор: Svitlana

inherit

Вказує на спадковість властивості від свого батьківського елемента

автор: Svitlana

stretch

Розтягує малюнок кордону до розмірів елемента. Це значення використовується за умовчанням.

автор: Svitlana

repeat

Повторює малюнок кордону.

автор: Svitlana

round

Повторює малюнок і масштабує його так, щоб на стороні елемента виявилося ціле число зображень.

автор: Svitlana

Значення без задання: none
Наслідує: Ні
Анімується: Ні
JavaScript синтаксис: object.style.borderImage="url(border.png) 30 round"

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft Internet Explorer
border-image 16.0 15.0 6.0 15.0 11.0
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Mozilla Firefox Mobile Apple Safari
border-image 4.4 15.0 6.0

Приклади

+ запропонувати свій приклад у пісочниці

Замість звичайної рамки — зображення: воно ріжеться на дев'ять частин по 30 пікселів, кути стають кутами рамки, а сторони повторюються цілим числом разів (round). Бордер мусить мати товщину — тому border: 12px solid transparent.

HTML

<div id="borderimg">Рамка зібрана з зображення з ромбами: нарізка по 30px, повторення round.</div>

CSS

#borderimg {
    padding: 16px;
    border: 12px solid transparent;
    border-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cg fill='%230172ad'%3E%3Cpath d='M15 0l15 15-15 15L0 15z'/%3E%3Cpath d='M45 0l15 15-15 15-15-15z'/%3E%3Cpath d='M75 0l15 15-15 15-15-15z'/%3E%3Cpath d='M15 30l15 15-15 15L0 45z'/%3E%3Cpath d='M75 30l15 15-15 15-15-15z'/%3E%3Cpath d='M15 60l15 15-15 15L0 75z'/%3E%3Cpath d='M45 60l15 15-15 15-15-15z'/%3E%3Cpath d='M75 60l15 15-15 15-15-15z'/%3E%3C/g%3E%3C/svg%3E") 30 round;
}
автор: Svitlana

Динамічний приклад

автор: Svitlana

Демонстрація роботи властивості

автор: Svitlana

Демонстрація роботи властивості

автор: Svitlana

Приклад використання властивості

автор: Svitlana

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід