border-image
est une propriété abrégée qui vous permet d'utiliser une image ou un dégradé CSS comme bordure d'un élément.
.module ( border-image: url(border.png.webp) 25 25 round; )
La border-image
propriété peut être appliquée à n'importe quel élément, à l'exception des éléments de table internes (par exemple tr, th, td) lorsque border-collapse
est défini sur collapse
.
Propriétés
La seule propriété requise pour la border-image
sténographie est border-image-source
. Les autres propriétés reprennent par défaut leurs valeurs initiales si elles ne sont pas spécifiées. Voici les border-image
propriétés dans l'ordre:
border-image-source
.module ( border-image-source: url(border.png.webp); )
Cette propriété spécifie la source de l'image de bordure. Cela peut être une URL, un URI de données, un dégradé CSS ou un SVG en ligne (bien que la prise en charge soit limitée pour le SVG en ligne, voir les notes d'utilisation de SVG).
La valeur initiale est none
.
border-image-slice
.module ( border-image-source: url(border.png.webp); border-image-slice: 20; )
Les valeurs de cette propriété indiquent au navigateur où «découper» l'image pour créer les morceaux de la bordure. L'image est divisée en 9 sections - les quatre coins, les quatre côtés et le centre.
![](3283320/border-image_css-tricks_2.png.webp)
![](3283320/border-image_css-tricks_3.png.webp)
![](3283320/border-image_css-tricks_3.png.webp)
Si vous pensez que cela semble absurde, vous êtes en bonne compagnie. Il y a quelques années, il y a eu une longue discussion sur le sujet sur le blog d'Eric Myer, où de nombreux grands du développement frontend ont pesé.
Dans cette démo, un cœur se répète autour de la frontière du div. L' border-image-source
image est une image composite de huit de la même icône de cœur, découpée en tranches de sorte que la forme du cœur complet soit utilisée de chaque côté de l'élément.
Voir la démo Pen border-image: icon border par CSS-Tricks (@ css-tricks) sur CodePen.
Plus de notes d'utilisation
Bien que la prise en charge de se border-image
soit améliorée - elle est prise en charge sans préfixe dans toutes les versions actuelles du navigateur - la définition d'un border
style de secours en vaut la peine. Votre bordure de secours s'affichera sur les navigateurs qui ne prennent pas en charge border-image
, ou si l'image ne se charge pas.
Contrairement à certaines des autres propriétés de bordure, border-image
ne peut pas être animé. Il ne peut pas non plus être coiffé avec border-radius
.
Si vous déclarez a border-image-source
et une border
largeur ou border-image-width
sans aucune tranche, toute l'image non découpée sera placée aux quatre coins de l'élément, à l'échelle de votre largeur spécifiée.
En rapport
border
border-collapse
box-sizing
Plus d'information
border-image
dans le module CSS Background and Borders Niveau 3 CRborder-image
chez MDN- border-image.com, cet outil vous permet de télécharger une image et de jouer avec les tranches de bordure jusqu'à ce que vous les obteniez correctement, puis il génère le CSS pour vous.
- Image de la frontière expliquée de Dudley Storey.
Plus de démos
- Aussi de Dudley Storey, Pratique border-image: cadre photo réactif, une démo CodePen. Ceci est un bon exemple d'utilisation judicieuse d'une image de bordure sur une image réactive. Notez que le «cadre» est supprimé pour les tailles d'écran plus petites.
- De véritables bordures en pointillé utilisant SVG et border-image, un stylo de Lucas Lemonnier. Une solution pour la vilaine bordure carrée «pointillée», cette méthode vous donne de vrais points ronds!
- bouton dégradé, un Pen par l'utilisateur de CodePen GSSxGSS. Un joli exemple de dégradé linéaire comme image de bordure.
- Film Strip, un stylo de Nick Pettit. Peut-être pas la démo la plus pratique, c'est un exemple amusant et arty de ce que vous pouvez faire
border-image
.
Prise en charge du navigateur
border-image
préfixes de fournisseur initialement requis sur tous les navigateurs qui le prenaient en charge. Maintenant, cela fonctionne sans préfixe dans la dernière version de tous les navigateurs. Ce tableau montre à la fois le support avec préfixe le plus ancien et le support sans préfixe le plus ancien, le cas échéant.
Chrome | Safari | Firefox | Opéra | C'EST À DIRE | Android | iOS |
---|---|---|---|---|---|---|
7 *, 16 | 3 *, 6 | 3,5 †, 15 | 10,5 et 15 ‡ | 11 | 2,1 *, 4,4 | 3,2 *, 6 |
* avec -webkit
préfixe.
† avec -moz
préfixe.
‡ 10,5 - 14 séries avec -o
préfixe; fill
Le mot-clé n'est pris en charge dans aucune version.