Border-image-source - Propriété CSS

border-image-source

Résumé des caractéristiques de la propriété border-image-source

Description rapide
Définit le chemin et le nom de fichier pour l'image utilisée pour construire la bordure.
Statut
Standard
Valeurs prédéfinies
none
Pourcentages
Ne s'appliquent pas.
Valeur initiale
none
Héritée par défaut
Non.
Discrète : lors d'une animation, la propriété border-image-source passe d'une valeur à l'autre sans transition. (1)
Single : valeur unique (l'ordre n'intervient pas).
Module W3C
Module CSS - Arrière-plans et bordures
Statut du document: CR (document candidat à la recommandation)

(1) Voir cependant le cas particulier de certains navigateurs.

Schéma de la syntaxe de border-image-source.

border-image-source - Syntax DiagtramSyntax diagram of the border-image-source CSS property, which defines what image is used for the borders. none none image image gradient gradientborder-image-source:;border-image-source:;
Schéma syntaxique de la propriété border-image-source.
Cliquez sur les liens du schéma pour plus de précisons sur les valeurs.
Télécharger le schéma en SVG.

Description des termes utilisés sur le schéma :

Description de la propriété border-image-source.

border-image-source définit l'image qui sera utilisée pour construire la bordure.


Autres propriétés relatives aux bordures images.

Résumé des propriétés des bordures réalisées avec des images.
Définit le chemin et le nom de fichier pour l'image utilisée pour construire la bordure.
Définit comment l'image de bordure est découpée.
Définit l'épaisseur de la bordure lorsque cette dernière est réalisée avec une image.
Définit le débordement de l'image de bordure.
Définit comment l'image de bordure est répétée ou dilatée pour couvrir la zone voulue.

Valeurs pour border-image-source.

  • border-image-source: none;

    Valeur par défaut. Aucune image ne sera utilisée pour la bordure.

  • border-image-source: url(...); border-image-source: image(...); border-image-source: image-set(...);

    L'image spécifiée sera utilisée pour la construction de la bordure. De nombreuses syntaxes permettent de spécifier l'image : reportes-vous aux fonctions url(), image(), image-set().

  • border-image-source: linear-gradient(...); border-image-source: radial-gradient(...); border-image-source: conic-gradient(...); border-image-source: repeating-linear-gradient(...); border-image-source: repeating-radial-gradient(...); border-image-source: repeating-conic-gradient(...);

    La bordure sera construite à partir d'un dégradé. Reportez vous aux fonctions de dégradé pour plus de précision sur les syntaxes : conic-gradient(), linear-gradient(), radial-gradient(), et pour les dégradés répétitifs : repeating-conic-gradient(), repeating-linear-gradient(), repeating-radial-gradient()

  • border-image-source: initial; (none) border-image-source: inherit; border-image-source: revert; border-image-source: revert-layer; border-image-source: revert-rule; border-image-source: unset;

    Consultez les pages suivantes pour plus de détails : initial, inherit, revert, revert-layer, revert-rule, unset.

Exemple d'animation de border-image-source.

La propriété border-image-source peut être animée. La norme prévoit un passage d'une image à l'autre sans transition mais certains navigateurs ajoutent un effet de fondu entre les images. C'est le cas de Google Chrome ou Microsoft Edge par exemple.

>

Accéder à la propriété border-image-source par programme.

Avec Javascript, modifier la valeur de border-image-source.

En Javascript, voici comment modifier la valeur de border-image-source. On voit que Javascript propose une syntaxe avec la notation typique de CSS, en kebab-case (un tiret pour séparer les mots), et une autre syntaxe avec la notation en camel-case (une majuscule pour séparer les mots).

Javascript
let el = document.getElementById('id'); el.style['border-image-source'] = "url('image.png')"; // ou let el = document.getElementById('id'); el.style.borderImageSource = "url('image.png')";

Avec Javascript, lire la valeur de border-image-source.

La propriété doit avoir été affectée directement à l'élément lui-même via son attribut style, et pas en passant par un sélecteur CSS.

Javascript
let el = document.getElementById('id'); let value = el.style['border-image-source']; // ou let el = document.getElementById('id'); let value = el.style.borderImageSource;

Avec Javascript, lire la valeur calculée de border-image-source.

La valeur calculée est celle qui résulte de la conversion des chemins relatifs en chemins absolus, et de la prise en compte éventuelle des valeurs héritées.

Javascript
let el = document.getElementById('id'); let value = window.getComputedStyle(el).getPropertyValue('border-image-source');

Avec JQuery, lire ou modifier la valeur de border-image-source.

JQuery est une libraire Javascript. qui autorise souvent des syntaxes plus courtes que Javascript lui même.

JQuery

// Lire la valeur :
$('#id').prop('border-image-source');
// Écrire la valeur :
$('#id').prop('border-image-source', "url('image.png')");
$('#id').prop('{border-image-source': "url('image.png')"});

Avec JQuery, lire la valeur calculée de border-image-source.

JQuery
let value = $('#id').css('border-image-source');

Autres exemples de code.

D'autres exemples de code Javascript et JQuery sont donnés sur la page Javascript et CSS. Ils concernent tous la manipulation des styles CSS.

Testez vous-même.

Les boutons ci-dessous appliquent la valeur saisie à la propriété border-image-source et affichent ensuite soit la valeur telle qu'elle a été appliquée, soit la valeur calculée. Cette deuxième option permet de voir comment est mémorisée (sérialisée) la valeur de border-image-source. On constate en particulier que les chemins sont convertis en absolus.

Exemple interactif avec la propriété border-image-source.

border-image-source :

Compatibilité des navigateurs avec border-image-source.

La propriété border-image-source et les autres propriétés relatives aux images de bordure sont prises en charge depuis 2015 à 2017 suivant les navigateurs.

Colonne 1
Possibilité d'utiliser des images pour construire des bordures et, donc, support de la propriété border-image.
Colonne 2
Traitement correct par les navigateurs de la propriété border-image-source qui définit l'image à utiliser pour la bordure.

Remarques :

(1) Supporte la propriété résumé mais pas les propriétés détaillées.

1
Utilisation d'images
pour des bordures
2
Propriété
border-image-source
Estimation de la prise en charge globale.
97%
95%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Internet Explorer

KaiOS Browser

Opéra Mobile

Chrome

Edge

Opéra

Safari

Safari sur IOS

Androïd Brower

Chrome pour Androïd

Firefox pour Androïd

Samsung Internet

Firefox

Baidu Browser

QQ Browser

UC Browser pour Androïd

Opéra mini

Histoire de la propriété border-image-source.

  • Module CSS - Arrière-plans et bordures - Niveau 3

    Le niveau 3 de la spécification décrit en plus comment positionner le fond par rapport à la zone d'arrière-plan, et comment le découper.
    Concernant les bordures, la notion de bordure image est introduite, ainsi que la notion d'arrondi d'angle et d'ombrage de boîte.

    Concernant border-image-source Introduction des bordures réalisées avec une image, à la place de simples tracés, et des propriétés correspondantes, dont border-image-width.
    WD
    02 Août 2002
    Document de travail.
    CR
    17 Décembre 2009
    Candidat à la recommandation.
    PR
    REC

Autres caractéristiques des bordures et arrière-plans.

Les propriétés relatives aux bordures, et plus particulièrement aux bordures-image sont décrites dans la spécification du W3C dénommée module CSS - Arrière-plans et bordures.

Propriétés :

background
Résumé des propriétés de l'arrière-plan.
background-attachment
Mode de défilement de l'image d'arrière-plan.
background-clip
Définit l'étendue de l'arrière-plan, en particulier par rapport à la bordure et aux marges intérieures..
background-color
Définit la couleur en arrière-plan.
background-image
Définit l'image ou dégradé d'arrière-plan (plusieurs images ou dégradés peuvent coexister).
background-origin
Définit une référence pour positionner l'image d'arrière-plan.
background-position
Définit comment se positionne l'image d'arrière-plan.
background-position-block
Définit le positionnement de l'arrière-plan dans le sens des blocs.
background-position-inline
Définit le positionnement de l'arrière-plan dans le sens des lignes.
background-position-x
Définit comment se positionne l'image d'arrière-plan dans le sens horizontal.
background-position-y
Définit comment se positionne l'image d'arrière-plan dans le sens vertical.
background-repeat
Définit comment est répétée l'image d'arrière-plan.
background-size
Dimensionnement de l'image d'arrière-plan.
border
Propriété résumée qui définit l'ensemble des paramètres des bordures : épaisseur, style et couleur.
border-bottom
Définit les paramètres de la bordure en bas de l'élément (épaisseur, style de trait, couleur).
border-bottom-color
Définit la couleur du trait de bordure pour le bas de l'élément.
border-bottom-left-radius
Définit le rayon de l'angle arrondi en bas à gauche.
border-bottom-right-radius
Définit le rayon de l'angle arrondi en bas à droite.
border-bottom-style
Définit le style de trait pour la bordure en dessous de l'élément.
border-bottom-width
Définit l'épaisseur du trait de bordure situé en dessous de l'élément.
border-color
Définit la couleur des bordures pour les 4 cotés de l'élément.
border-end-end-radius
Définit le rayon de l'arrondi de l'angle en fin de ligne et fin de bloc.
border-end-start-radius
Définit le rayon de l'arrondi de l'angle en fin de ligne et début de bloc.
border-image
Résumé des propriétés des bordures réalisées avec des images.
border-image-outset
Définit le débordement de l'image de bordure.
border-image-repeat
Définit comment l'image de bordure est répétée ou dilatée pour couvrir la zone voulue.
border-image-slice
Définit comment l'image de bordure est découpée.
Border-image-source
Définit le chemin et le nom de fichier pour l'image utilisée pour construire la bordure.
border-image-width
Définit l'épaisseur de la bordure lorsque cette dernière est réalisée avec une image.
border-left
Définit les trois paramètres de la bordure à gauche de l'élément (épaisseur, style de trait, couleur).
border-left-color
Définit la couleur du trait de bordure à gauche de l'élément.
border-left-style
Définit le type de trait pour la bordure sur la gauche de l'élément.
border-left-width
Définit l'épaisseur du trait de bordure situé à gauche de l'élément.
border-radius
Rayon des angles arrondis.
border-right
Définit les trois paramètres de la bordure de droite de l'élément (épaisseur, style de trait, couleur).
border-right-color
Définit la couleur du trait de bordure à droite de l'élément.
border-right-style
Définit le type de trait pour la bordure à droite de l'élément.
border-right-width
Définit l'épaisseur du trait de bordure situé à droite de l'élément.
border-start-end-radius
Définit le rayon de l'arrondi de l'angle en début de ligne et fin de bloc.
border-start-start-radius
Définit le rayon de l'arrondi de l'angle en début de ligne et début de bloc.
border-style
Définit le type de trait pour certaines ou les quatre bordures autour de l'élément (solide, double, pointillé...).
border-top
Définit les paramètres de la bordure en haut de l'élément (épaisseur, style de trait, couleur).
border-top-color
Définit la couleur du trait de la bordure au dessus de l'élément.
border-top-left-radius
Définit le rayon de l'angle arrondi en haut à gauche.
border-top-right-radius
Définit le rayon de l'angle arrondi en haut à droite.
border-top-style
Définit le type de trait pour la bordure à gauche de l'élément.
border-top-width
Définit l'épaisseur du trait de bordure au dessus de l'élément.
border-width
Définit l'épaisseur du trait de la bordure situé tout autour de l'élément.
box-shadow
Applique un effet d'ombrage sur les blocs en indiquant tous les paramètres : couleur, décalage de l'ombre, flou, etc.