Border-image-slice - Propriété CSS

border-image-slice

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

Description rapide
Définit comment l'image de bordure est découpée.
Statut
Standard
Utilisable sur
HTML
Pourcentages
Calculés d'après les dimensions de la zone d'image.
Valeur initiale
100%
Héritée par défaut
Non.
Type d'animation
Computed value : lors d'une animation, la propriété border-image-slice passe progressivement d'une valeur à une autre.
Module W3C
Module CSS - Arrière-plans et bordures
Références (W3C)
Statut du document: CR (document candidat à la recommandation)

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

border-image-slice - Syntax DiagramSyntax diagram of the border-image-slice CSS property. See stylescss.free.fr for details. number number % % {1,4} {1,4} fill fillborder-image-slice:;border-image-slice:;
Schéma syntaxique de la propriété border-image-slice.
Syntaxe détaillée

Signification des termes sur le schéma ci-dessus :

  • number est une valeur numérique sans unité, positive ou null.
  • % est un pourcentage.
  • Cette syntaxe peut être répétée de une à quatre fois, avec des espaces de séparation.

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

La propriété border-image-slice définit comment l'image de bordure doit être découpée. En effet, la bordure est construite à partir de neuf parties d'image : les quatre coins, les quatre bords et le centre. Ces 9 parties d'image sont extraites d'une image unique définie par border-image-source.

Décomposition de l'image en 9 parties

Les neuf parties d'image ne sont pas forcément de tailles identiques.

La partie centrale (5) peut être utilisée pour remplir le fond de l'élément. Pour cela il faut ajouter la valeur fill à la propriété border-image-slice. Et dans ce cas, l'image d'arrière-plan éventuellement définie par background-image est masquée.

Pour une présentation générale de l'utilisation des bordures-images, reportez-vous à la propriété résumée border-image.

Valeurs pour border-image-slice.

  • border-image-slice: 20 15 5 30;

    Quatre valeur positives, sans unité. Elles indiquent comment l'image doit être découpée en neuf parties.
    Les valeurs correspondent successivement à la distance par rapport aux bords haut, droit, bas et gauche, conformément au schéma ci-dessous :

    Découpage d'une image avec border-image-slice

    Il n'y a pas d'unité à préciser : ce sont obligatoirement des pixels si l'image est bitmap, ou des coordonnées si l'image est vectorielle.

    Si les valeurs sont trop grandes, il se peut que la partie centrale soit réduite à zéro. Dans ce cas, la valeur fill sera sans effet (voir plus bas).

  • border-image-slice: 25% 10% 10% 30%; a b c d

    Les pourcentages sont déterminés par rapport aux dimensions de l'image : les pourcentages b et d par rapport à la largeur de l'image, et les pourcentages a et c par rapport à sa hauteur.

  • border-image-slice: 20 15 5;

    Si trois valeurs seulement sont précisées, la distance par rapport au bord gauche sera identique à celle par rapport au bord droit.

  • border-image-slice: 20 15;

    Si deux valeurs seulement sont précisées, la distance par rapport au bord gauche sera identique à celle par rapport au bord droit, et la distance par rapport au bord du bas sera identique à celle par rapport au bord du haut.

  • border-image-slice: 20;

    Enfin, si une seule valeur est précisée, elle s'applique à tous les bords.

  • border-image-slice: 20 10 15 15 fill;

    La valeur fill indique que la partie centrale de l'image doit être utilisé pour remplir le fond de l'élément. Si fill n'est pas précisé, le fond de l'élément est transparent, ou définit par les autres propriétés relatives à l'arrière-plan de l'élément.

  • border-image-slice: initial; (100%) border-image-slice: inherit; border-image-slice: revert; border-image-slice: revertLayer; border-image-slice: unset;

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

Exemple d'animation de border-image-slice.

L'animation de la propriété border-image-slice est possible, mais dans la mesure ou ses valeurs sont fortement liées à l'image, les animations risquent d'être peu pertinentes. A moins d'utiliser une image spécialement conçue dans cet esprit. A vous de lâcher votre créativité.

Exemple interactif.

L'image utilisée pour la bordure de cet exemple est celle-ci. Elle mesure 45 pixels de coté.

CSS : border-image-slice

border-image-slice :

Prise en charge par les navigateurs.

La propriété border-image-slice ainsi que les autres propriétés relatives aux images de bordure sont correctement 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-slice qui définit la découpe d'une image utilisée pour une bordure en plusieurs zones (coin en haut à gauche, segment en haut, coin en haut à droite, etc.).

Remarques :

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

(2) Les petits SVG sont incorrectement étirés parce que les pourcentages pour border-image-slice sont convertis en entiers au lieu de nombre flottants.

1
Utilisation d'images
pour des bordures
2
Propriété
border-image-slice
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-slice.

Voir aussi : autres caractéristiques des bordures et arrière-plans.

Les propriétés relatives aux bordures et aux bordures-image sont décrites dans la spécification du W3C dénommée CSS Backgrounds and Borders Module, et dont voici la liste :

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-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.
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-color
Définit la couleur des bordures.
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-source
Définit 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-radius
Rayon des angles arrondis.
border-style
Type de bordure (solide, double, pointillé...).
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-width
Définit l'épaisseur de la bordure 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.