border-image
- це скорочена властивість, яка дозволяє використовувати зображення або градієнт CSS як межу елемента.
.module ( border-image: url(border.png.webp) 25 25 round; )
border-image
Властивість може бути застосоване до будь-якого елементу, за винятком внутрішніх елементів таблиці (наприклад , т, е, тд) , коли border-collapse
встановлений в положенні collapse
.
Властивості
Єдиною необхідною властивістю border-image
стенографії є border-image-source
. Інші властивості за замовчуванням мають початкові значення, якщо вони не вказані. Ось border-image
властивості по порядку:
border-image-source
.module ( border-image-source: url(border.png.webp); )
Ця властивість визначає джерело для зображення кордону. Це може бути URL-адреса, URI даних, градієнт CSS або вбудований SVG (хоча підтримка обмежена для вбудованого SVG, див. Примітки щодо використання SVG).
Початкове значення - none
.
border-image-slice
.module ( border-image-source: url(border.png.webp); border-image-slice: 20; )
Значення цієї властивості підказують браузеру, куди “нарізати” зображення, щоб створити фрагменти рамки. Зображення поділено на 9 розділів - чотири кути, чотири сторони та центр.
Якщо ви вважаєте, що це звучить безглуздо, ви в хорошій компанії. Кілька років тому в блозі Еріка Майєра тривало довге обговорення цієї теми, де зважили багато великих розробників зовнішнього розвитку.
У цій демонстрації серце повторюється навколо кордону div. border-image-source
Зображення являє собою складене зображення з восьми же значок серця, вирізається , так що повна форма серця використовується на кожній стороні елемента.
Див. Демонстраційне зображення Pen border-image: border icon by CSS-Tricks (@ css-tricks) на CodePen.
Додаткові примітки щодо використання
Хоча підтримка для border-image
покращилася - вона підтримується без префіксу у всіх поточних версіях браузера - встановлення резервного border
стилю все ще варто. Ваша резервна межа буде відображатися в браузерах, які не підтримують border-image
, або якщо зображення не вдається завантажити.
На відміну від деяких інших властивостей кордону, border-image
не можна анімувати. Його також не можна стилізувати border-radius
.
Якщо ви оголосите a border-image-source
та border
ширину або border-image-width
без будь-яких зрізів, все нерозрізане зображення буде розміщено в чотирьох кутах елемента, масштабоване до вказаної ширини.
Пов’язані
border
border-collapse
box-sizing
Більше інформації
border-image
у модулі CSS Background and Borders Level 3 CRborder-image
на MDN- border-image.com, цей інструмент дозволяє завантажувати зображення та грати з нарізаними обрізами, поки ви не правильно їх зрозумієте, тоді він генерує CSS для вас.
- Зображення на кордоні пояснено Дадлі Сторі.
Більше демонстрацій
- Також від Дадлі Сторі, Практична рамка-зображення: адаптивна рамка для зображення, демонстрація CodePen. Це хороший приклад використання розумного зображення на чуйному зображенні. Зверніть увагу, що "кадр" видаляється при менших розмірах екрана.
- Справжні пунктирні межі з використанням SVG та border-image, ручка Лукаса Лемоньє. Рішення для потворної квадратної «пунктирної» межі, цей метод дає вам справжні круглі крапки!
- кнопка градієнта, ручка користувача CodePen GSSxGSS. Гарний приклад лінійного градієнта як зображення кордону.
- Кінострічка, ручка Ніка Петтіта. Мабуть, не сама практична демонстрація, це веселий, вигадливий приклад того, з чим можна впоратися
border-image
.
Підтримка браузера
border-image
спочатку потрібні префікси постачальників у всіх браузерах, які його підтримували. Зараз він працює без префіксу в останній версії всіх браузерів. У цій таблиці наведено як найранішу префіксну підтримку, так і найранішу безпрефіксну підтримку, де це можливо.
Chrome | Сафарі | Firefox | Опера | IE | Android | iOS |
---|---|---|---|---|---|---|
7 *, 16 | 3 *, 6 | 3,5 †, 15 | 10,5, 15 ‡ | 11 | 2,1 *, 4,4 | 3,2 *, 6 |
* з -webkit
префіксом.
† з -moz
префіксом.
‡ 10,5 - 14 серія з -o
префіксом; fill
Ключове слово не підтримується в жодній версії.