aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/css/border-image/index.md
blob: 83424b2d0fb8560d3df318f93b11d4ca5b3b5098 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
---
title: border-image
slug: Web/CSS/border-image
tags:
  - CSS
  - Propriété
  - Propriété raccourcie
  - Reference
translation_of: Web/CSS/border-image
---
{{CSSRef}}

La propriété **`border-image`** dessine une image sur la bordure d'un élément. C'est [une propriété raccourcie](/fr/docs/Web/CSS/Propri%C3%A9t%C3%A9s_raccourcies) qui permet de définir {{cssxref("border-image-source")}}, {{cssxref("border-image-width")}}, {{cssxref("border-image-repeat")}}, {{cssxref("border-image-slice")}}, {{cssxref("border-image-outset")}}.

{{EmbedInteractiveExample("pages/css/border-image.html")}}

Cela permet d'obtenir des effets de dessin complexes sans avoir à complexifier l'utilisation des boîtes CSS. La propriété `border-image` sera utilisée plutôt que le style défini via la propriété {{cssxref("border-style")}}. Selon la spécification, `border-style` **doit** être présente si `border-image` est utilisée.

> **Note :** Si [la valeur calculée](/fr/docs/Web/CSS/Valeur_calculée) de {{cssxref("border-image-source")}} vaut `none` (via `border-image-source` ou via la propriété raccourcie `border-image`), ce sera le style indiqué par {{cssxref("border-style")}} qui sera utilisé.

## Syntaxe

```css
/* source | slice */
border-image: linear-gradient(red, blue) 27;

/* source | slice | repeat */
border-image: url("/images/border.png") 27 space;

/* source | slice | width */
border-image: linear-gradient(red, blue) 27 / 35px;

/* source | slice | width | outset | repeat */
border-image: url("/images/border.png") 27 23 / 50px 30px / 1rem round space;
```

La propriété `border-image` peut être définie avec une à cinq valeurs parmi celles définies ci-après.

> **Note :** Si la [valeur calculée](/fr/docs/Web/CSS/Valeur_calculée) de {{cssxref("border-image-source")}} vaut `none` ou si l'image ne peut pas être affichée, c'est le {{cssxref("border-style")}} correspondant qui sera affiché.

### Valeurs

- `border-image-source`
  - : L'image source. Voir {{cssxref("border-image-source")}}.
- `border-image-slice`
  - : La façon dont l'image est découpée en zones (jusqu'à 4). Voir {{cssxref("border-image-slice")}}.
- `border-image-width`
  - : La largeur de la bordure avec l'image. Voir {{cssxref("border-image-width")}}.
- `border-image-outset`
  - : La distance entre la bordure et le bord de l'élément. Voir {{cssxref("border-image-outset")}}.
- `border-image-repeat`
  - : La façon dont l'image source est adaptée afin de correspondre aux dimensions de la bordure. Voir {{cssxref("border-image-repeat")}}.

### Syntaxe formelle

{{csssyntax}}

## Exemples

### Utiliser une image matricielle étirée

On découpe l'image et on la répète pour remplir la zone entre les bordures.

#### CSS

```css
#bitmap {
  border: 30px solid transparent;
  padding: 20px;
  border-image: url("https://mdn.mozillademos.org/files/4127/border.png") 30;
}
```

#### HTML

```html
<div id="bitmap">
  L'image est étirée pour remplir l'espace.
</div>
```

#### Résultat

{{EmbedLiveSample('Utiliser_une_image_matricielle_répétée')}}

### Utiliser un dégradé

#### CSS

```css
#gradient {
  border: 30px solid;
  border-image: linear-gradient(red, yellow) 10;
  padding: 20px;
}
```

#### HTML

```html
<div id="gradient">
  L'image formée par le gradient est étirée pour remplir la zone.
</div>
```

#### Résultat

{{EmbedLiveSample('Utiliser_un_dégradé')}}

## Accessibilité

Les technologies d'assistance ne peuvent pas analyser les images de bordure. Si l'image contient des informations essentielles au sens de la page, mieux vaut décrire ces informations dans le contenu sémantique du document.

- [Comprendre les règles WCAG 1.1](/fr/docs/Web/Accessibility/Understanding_WCAG/Perceivable#Guideline_1.1_%E2%80%94_Providing_text_alternatives_for_non-text_content)
- [_Understanding Success Criterion 1.1.1 - Understanding WCAG 2.0_ (en anglais)](https://www.w3.org/TR/2016/NOTE-UNDERSTANDING-WCAG20-20161007/text-equiv-all.html)

## Spécifications

| Spécification                                                                                | État                                     | Commentaires         |
| -------------------------------------------------------------------------------------------- | ---------------------------------------- | -------------------- |
| {{SpecName('CSS3 Backgrounds', '#the-border-image', 'border-image')}} | {{Spec2('CSS3 Backgrounds')}} | Définition initiale. |

{{cssinfo}}

## Compatibilité des navigateurs

{{Compat("css.properties.border-image")}}

## Voir aussi

- {{cssxref("border")}}
- {{cssxref("outline")}}
- {{cssxref("box-shadow")}}
- {{cssxref("background-image")}}
- {{cssxref("url()", "url()")}}
- Fonctions pour les dégradés

  - {{CSSxRef("conic-gradient")}}
  - {{CSSxRef("linear-gradient")}}
  - {{CSSxRef("repeating-linear-gradient")}}
  - {{CSSxRef("radial-gradient")}}
  - {{CSSxRef("repeating-radial-gradient")}}