blob: d8133f9c846a7c4489b2da8a949eaf9e11e9984a (
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
|
---
title: viewBox
slug: Web/SVG/Attribute/viewBox
tags:
- Attributs SVG
- SVG
translation_of: Web/SVG/Attribute/viewBox
---
<p>« <a href="/fr/SVG/Attribute">Sommaire de la référence des attributs SVG</a></p>
<p>L'attribut <code>viewBox</code> permet de spécifier qu'un groupe d'éléments graphiques s'étire afin de s'adapter à un élément conteneur.</p>
<p>La valeur de l'attribut <code>viewBox</code> est une liste de quatre nombres <code>min-x</code>, <code>min-y</code>, <code>width</code> et <code>height</code>, séparés par des espaces ou/et des virgules. Ces nombres spécifient un rectangle dans l'espace utilisateur, qui doit correspondre aux coins du viewport établis par l'élément SVG donné, ceci en prenant en compte l'attribut {{ SVGAttr("preserveAspectRatio") }}.</p>
<p>Les valeurs négatives de <code>width</code> et <code>height</code> ne sont pas autorisées et une valeur à zéro désactive le rendu de l'élément.</p>
<h2 id="Contexte_d'utilisation">Contexte d'utilisation</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="row">Catégories</th>
<td>Aucune</td>
</tr>
<tr>
<th scope="row">Valeur</th>
<td><em>Voir ci-dessus</em></td>
</tr>
<tr>
<th scope="row">Animable</th>
<td>Oui</td>
</tr>
<tr>
<th scope="row">Document de norme</th>
<td><a href="http://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute">SVG 1.1 (2nd Edition)</a></td>
</tr>
</tbody>
</table>
<h2 id="Exemple">Exemple</h2>
<p>Nous créons ici un viewport de 300×200 unités, ce qui fait que chaque unité de l'élément SVG correspondra à une unité du viewport. On aura donc un élément SVG dont le système de coordonnée ira de 0 à 300 en largeur et de 0 à 200 en hauteur :</p>
<p><code><svg width="300" height="200"></svg></code></p>
<p>En ajoutant une notion de viewbox, nous transformons ce système de coordonnées afin qu'il aille de 0 à w à l'horizontale et de 0 à h à la verticale. Ici, ce sera donc 300/30 (=10) en x ce qui équivaut à 10 unités d'élément SVG pour 1 unité du viewport :</p>
<p><code><svg width="300" height="200" viewBox="0 0 30 20"></svg></code></p>
<h2 id="Elements">Elements</h2>
<p>Les éléments suivants peuvent utiliser l'attribut <code>viewBox</code></p>
<ul>
<li>{{ SVGElement("svg") }}</li>
<li>{{ SVGElement("symbol") }}</li>
<li>{{ SVGElement("image") }}</li>
<li>{{ SVGElement("marker") }}</li>
<li>{{ SVGElement("pattern") }}</li>
<li>{{ SVGElement("view") }}</li>
</ul>
<h2 id="Voir_également">Voir également</h2>
<ul>
<li><a href="/fr/SVG/Tutoriel/Positionnement">Introduction au SVG : Positionnement</a></li>
</ul>
|