diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/fr/web/svg/attribute | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/fr/web/svg/attribute')
37 files changed, 5636 insertions, 0 deletions
diff --git a/files/fr/web/svg/attribute/accent-height/index.html b/files/fr/web/svg/attribute/accent-height/index.html new file mode 100644 index 0000000000..e19d3c01bd --- /dev/null +++ b/files/fr/web/svg/attribute/accent-height/index.html @@ -0,0 +1,50 @@ +--- +title: accent-height +slug: Web/SVG/Attribute/accent-height +tags: + - Attribut + - NeedsCompatTable + - NeedsExample + - NeedsUpdate + - Reference + - SVG +translation_of: Web/SVG/Attribute/accent-height +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>accent-height</code></strong> définit la distance entre l'origine et le haut des accents placés sur les caractères. Cette distance est mesurée dans le système de coordonnées de la police.</p> + +<p>Si cet attribut n'est pas défini, l'effet obtenu est identique à celui obtenu avec la valeur de l'attribut {{SVGAttr("ascent")}}.</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">Type de valeur</th> + <td><a href="/fr/docs/Web/SVG/Content_type#Length" title="https://developer.mozilla.org/en/SVG/Content_type#Number"><number></a></td> + </tr> + <tr> + <th scope="row">Peut être animé</th> + <td>Non</td> + </tr> + <tr> + <th scope="row">Spécification</th> + <td><a class="external" href="https://www.w3.org/TR/SVG/fonts.html#FontFaceElementAccentHeightAttribute">SVG 1.1 (seconde édition)</a></td> + </tr> + </tbody> +</table> + +<p>{{page("/fr/docs/Web/SVG/Content_type","Number")}}</p> + +<h2 id="Éléments">Éléments</h2> + +<p>On peut utiliser l'attribut <code>accent-height</code> sur les éléments suivants :</p> + +<ul> + <li>{{SVGElement("font-face")}}</li> +</ul> diff --git a/files/fr/web/svg/attribute/clip-path/index.html b/files/fr/web/svg/attribute/clip-path/index.html new file mode 100644 index 0000000000..11078c3e3f --- /dev/null +++ b/files/fr/web/svg/attribute/clip-path/index.html @@ -0,0 +1,103 @@ +--- +title: clip-path +slug: Web/SVG/Attribute/clip-path +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/clip-path +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>clip-path</code></strong> permet d'appliquer un détourage à un élément.</p> + +<p class="note"><strong>Note:</strong> <code>clip-path</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<p>Cet attribut peut être appliqué sur tous les éléments, en revanche il n'aura d'effet que sur les éléments suivants: {{SVGElement('a')}}, {{SVGElement('circle')}}, {{SVGElement('clipPath')}}, {{SVGElement('ellipse')}}, {{SVGElement('g')}}, {{SVGElement('glyph')}}, {{SVGElement('image')}}, {{SVGElement('line')}}, {{SVGElement('marker')}}, {{SVGElement('mask')}}, {{SVGElement('path')}}, {{SVGElement('pattern')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('rect')}}, {{SVGElement('svg')}}, {{SVGElement('symbol')}}, {{SVGElement('text')}}, {{SVGElement('use')}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> + <clipPath id="myClip" clipPathUnits="objectBoundingBox"> + <circle cx=".5" cy=".5" r=".5" /> + </clipPath> + + <!-- En haut à gauche: Applique un détourage précédemment crée --> + <rect x="1" y="1" width="8" height="8" stroke="green" + clip-path="url(#myClip)" /> + + <!-- En haut à droite: Applique un détourage sur fill-box via une forme CSS. + Revient à créer un détourage avec clipPathUnits="objectBoundingBox" --> + <rect x="11" y="1" width="8" height="8" stroke="green" + clip-path="circle() fill-box" /> + + <!-- En bas à gauche: Applique un détourage sur stroke-box via une forme CSS. --> + <rect x="1" y="11" width="8" height="8" stroke="green" + clip-path="circle() stroke-box" /> + + <!-- En bas à droite: Applique un détourage sur view-box via une forme CSS. + Revient à créer un détourage avec clipPathUnits="userSpaceOnUse" --> + <rect x="11" y="11" width="8" height="8" stroke="green" + clip-path="circle() view-box" /> +</svg></pre> + +<p>{{EmbedLiveSample('topExample', '100%', 200)}}</p> +</div> + +<h2 id="Notes_d'usage">Notes d'usage</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td>{{cssxref('url')}} | [ {{cssxref('basic-shape')}} || <geometry-box> ] | <code>none</code></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>none</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<dl> + <dt><geometry-box></dt> + <dd>une information supplémentaire pour dire comment une {{cssxref('basic-shape', 'forme CSS')}} est appliquée à un élément: <code>fill-box</code> indique d'utiliser la zone de sélection de l'objet ; <code>stroke-box</code> d'utiliser la zone de sélection de l'objet en prenant en plus le contour de l'élément; <code>view-box</code> d'utiliser le document SVG parent.</dd> +</dl> + +<p class="note"><strong>Note:</strong> Pour plus d'informations sur la syntaxe de clip-path, voir la propriété CSS {{cssxref('clip-path')}}.</p> + +<h2 id="Browser_Compatibility" name="Browser_Compatibility">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.presentation.clip-path")}}</p> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("CSS Masks", "#the-clip-path", 'clip-path')}}</td> + <td>{{Spec2('CSS Masks')}}</td> + <td>Étend son application aux éléments HTML. La propriété <code>clip-path</code> remplace la propriété {{cssxref("clip")}} dépréciée.</td> + </tr> + <tr> + <td>{{SpecName('SVG1.1', 'masking.html#ClipPathProperty', 'clip-path')}}</td> + <td>{{Spec2('SVG1.1')}}</td> + <td>Définition initiale (s'applique sur les éléments SVG uniquement).</td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/color/index.html b/files/fr/web/svg/attribute/color/index.html new file mode 100644 index 0000000000..6d1fd5eb50 --- /dev/null +++ b/files/fr/web/svg/attribute/color/index.html @@ -0,0 +1,67 @@ +--- +title: color +slug: Web/SVG/Attribute/color +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/color +--- +<p>{{SVGRef}}</p> + +<p>L'attribut <code>color</code> est utilisé pour définir indirectement une valeur potentielle (<code>currentColor</code>) pour les attributs {{ SVGAttr("fill") }}, {{ SVGAttr("stroke") }}, {{ SvgAttr("stop-color") }}, {{ SVGAttr("flood-color") }} et {{ SVGAttr("lighting-color") }}.</p> + +<p class="note"><code>color</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS. Voir {{ cssxref("color","CSS color") }} pour plus d'informations.</p> + +<h2 id="Contexte_d'utilisation">Contexte d'utilisation</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Catégories</th> + <td>Attribut de présentation</td> + </tr> + <tr> + <th scope="row">Valeur</th> + <td><a href="/en/SVG/Content_type#Color" title="en/SVG/Content_type#Color"><color></a> | inherit</td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Yes</td> + </tr> + <tr> + <th scope="row">Document normatif</th> + <td><a class="external" href="http://www.w3.org/TR/SVG11/color.html#ColorProperty" title="http://www.w3.org/TR/SVG11/color.html#ColorProperty">SVG 1.1 (2nd Edition)</a></td> + </tr> + </tbody> +</table> + +<h2 id="Exemple">Exemple</h2> + +<pre class="brush: html"><svg width="100" height="100" xmlns="http://www.w3.org/2000/svg" version="1.1"> + <g color="green"> + <rect width="50" height="50" fill="currentColor" /> + <circle r="25" cx="70" cy="70" stroke="currentColor" fill="none" stroke-width="5" /> + </g> +</svg> +</pre> + +<p>{{ EmbedLiveSample('Exemple', '100%', '110') }}</p> + +<h2 id="Éléments">Éléments</h2> + +<p>Les éléments suivants peuvent utiliser l'attribut <code>color</code>:</p> + +<ul> + <li><a href="/fr/docs/Web/SVG/Element#Éléments_de_contenu_textuel" title="en/SVG/Element#Text_content_elements">Éléments de contenu textuel</a> »</li> + <li><a href="/fr/docs/Web/SVG/Element#Éléments_de_formes" title="en/SVG/Element#Shape_elements">Éléments de formes</a> »</li> + <li>{{ SVGElement("stop") }}</li> + <li>{{ SVGElement("feFlood") }}</li> + <li>{{ SVGElement("feDiffuseLighting") }}</li> + <li>{{ SVGElement("feSpecularLighting") }}</li> +</ul> + +<h2 id="Browser_Compatibility" name="Browser_Compatibility">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.presentation.color")}}</p> diff --git a/files/fr/web/svg/attribute/conditional_processing/index.html b/files/fr/web/svg/attribute/conditional_processing/index.html new file mode 100644 index 0000000000..ae04d7978f --- /dev/null +++ b/files/fr/web/svg/attribute/conditional_processing/index.html @@ -0,0 +1,38 @@ +--- +title: Attributs SVG de traitement conditionnel +slug: Web/SVG/Attribute/Conditional_Processing +translation_of: Web/SVG/Attribute/Conditional_Processing +--- +<p>Les <em>attributs SVG de traitement conditionnel</em> sont tous les attributs qui peuvent être spécifiés sur des éléments SVG pour contrôler si l'élément sur lequel il s'applique doit s'afficher ou non.</p> + +<div class="index"> +<ul> + <li><a href="#attr-externalResourcesRequired">externalResourcesRequired</a></li> + <li><a href="#attr-requiredExtensions">requiredExtensions</a></li> + <li><a href="#attr-requiredFeatures">requiredFeatures</a></li> + <li><a href="#attr-systemLanguage">systemLanguage</a></li> +</ul> +</div> + +<h2 id="Attributs">Attributs</h2> + +<dl> + <dt id="attr-externalResourcesRequired">{{SVGAttr('externalResourcesRequired')}} {{deprecated_inline('svg2')}}</dt> + <dd>Si sa valeur vaut <code>true</code>, cela indique que le navigateur doit attendre que toutes les ressources externes nécessaires au rendu de cet élément soient chargées avant de traiter l'élément associé.<br> + <small><em>Valeur</em>: <strong><code>false</code></strong>|<code>true</code>; <em>Animation</em>: <strong>Non</strong></small></dd> + <dt id="attr-requiredExtensions">{{SVGAttr('requiredExtensions')}}</dt> + <dd>Liste toutes les fonctionnalités devant être prises en charge par le navigateur pour autoriser l'affichage de l'élément associé.<br> + <small><em>Valeur</em>: Une liste d'URI séparées par des espaces; <em>Animation</em>: <strong>Non</strong></small></dd> + <dt id="attr-requiredFeatures">{{SVGAttr('requiredFeatures')}} {{deprecated_inline('svg2')}}</dt> + <dd>Liste toutes les fonctionnalités, <a href="https://www.w3.org/TR/SVG11/feature.html">telles que définies dans la spécification SVG 1.1</a>, devant être prises en charge par le navigateur pour autoriser l'affichage de l'élément associé.<br> + <small><em>Valeur</em>: Une list d'URI séparées par espaces; <em>Animation</em>: <strong>Non</strong></small></dd> + <dt id="attr-systemLanguage">{{SVGAttr('systemLanguage')}}</dt> + <dd>Indique la langue que l'utilisatteur doit avoir choisit pour autoriser l'affichage l'élément associé.<br> + <small><em>Valeur</em>: Une liste d'<a href="http://www.ietf.org/rfc/bcp/bcp47.txt">ID de langage</a> séparés par des virgules; <em>Animation</em>: <strong>Non</strong></small></dd> +</dl> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.conditional_processing")}}</p> diff --git a/files/fr/web/svg/attribute/core/index.html b/files/fr/web/svg/attribute/core/index.html new file mode 100644 index 0000000000..71cbb6c3c1 --- /dev/null +++ b/files/fr/web/svg/attribute/core/index.html @@ -0,0 +1,67 @@ +--- +title: Attributs SVG de base +slug: Web/SVG/Attribute/Core +translation_of: Web/SVG/Attribute/Core +--- +<p>Les <em>attributs SVG de base</em> sont tous les attributs communs pouvant être spécifiés sur n'importe quel élément SVG.</p> + +<div class="index"> +<ul> + <li><a href="#attr-id"><code>id</code></a></li> + <li><a href="#attr-lang"><code>lang</code></a></li> + <li><a href="#attr-tabindex"><code>tabindex</code></a></li> + <li><a href="#attr-xml:base"><code>xml:base</code></a></li> + <li><a href="#attr-xml:lang"><code>xml:lang</code></a></li> + <li><a href="#attr-xml:space"><code>xml:space</code></a></li> +</ul> +</div> + +<h2 id="Attributs">Attributs</h2> + +<dl> + <dt id="attr-id">{{SVGAttr('id')}}</dt> + <dd>Définit un identifiant (ID) qui doit être unique dans tout le document. Son but est d'identifier l'élément pour pouvoir y faire référence plus tard, comme identificateur de fragment, dans du code, ou pour appliquer du style (avec CSS).<br> + <small><em>Valuer</em>: Tout ID valide; <em>Animation</em>: <strong>Non</strong></small></dd> + <dt id="attr-lang">{{SVGAttr('lang')}}</dt> + <dd> + <p>Définit le langage de l'élément — la langue dans laquelle sont écrit les éléments non-éditables et celle dans laquelle devrait être écrits les éléments éditables. L'attribut prend pour valeur l'identifiant de la langue tel que définit dans le <a href="https://www.ietf.org/rfc/bcp/bcp47.txt">document IETF "Tags for Identifying Languages" (BCP47)</a>.</p> + + <div class="note"> + <p>SVG 2 introduit l'attribut <code>lang</code>. Si les attributs <code>lang</code> et <code>xml:lang</code> sont tous les deux définis, <code>xml:lang</code> a la priorité sur <code>lang</code>.</p> + </div> + + <p><small><em>Valeur</em>: Tout ID de langage valide; <em>Animation</em>: <strong>Non</strong></small></p> + </dd> + <dt id="attr-tabindex">{{SVGAttr('tabindex')}}</dt> + <dd>L'attribut SVG tabindex permet de contrôler si un élément peut prendre le focus et définit l'ordre relatif des éléments pour la navigation via tabulation.<br> + <small><em>Type de valeur</em>: <a href="/docs/Web/SVG/Content_type#Integer"><integer></a>; <em>Animation</em>: <strong>Non</strong></small></dd> + <dt id="attr-xml:base">{{SVGAttr('xml:base')}}</dt> + <dd>Spécifie une IRI de base autre que celle du document.<br> + <small><em>Type de valeur</em>: <a href="/docs/Web/SVG/Content_type#IRI"><IRI></a>; <em>Animation</em>: <strong>Non</strong></small></dd> + <dt id="attr-xml:lang">{{SVGAttr('xml:lang')}}</dt> + <dd> + <p>C'est un attribut universel autorisé dans tous les documents XML pour définir le langage du texte présent dans l'élément. Son utilisation est presque identique à celle de l'attribut <a href="/fr/docs/Web/HTML/Attributs_universels/lang">lang</a> en HTML, hormis que les documents XML 1.0 ne permettent pas l'utilisation d'une valeur d'attribut nulle (<code>xml:lang=""</code>) pour indiquer un langage inconnu. À la place, utiliser <code>xml:lang="und"</code>.</p> + + <div class="note"> + <p>SVG 2 introduit l'attribut <code>lang</code>. Si les attributs <code>lang</code> et <code>xml:lang</code> sont tous les deux définis, <code>xml:lang</code> a la priorité sur <code>lang</code>.</p> + </div> + + <p><small><em>Valeur</em>: Tout ID de langage valide; <em>Animation</em>: <strong>Non</strong></small></p> + </dd> + <dt id="attr-xml:space">{{SVGAttr('xml:space')}} {{deprecated_inline('svg2')}}</dt> + <dd> + <p>SVG prend en charge l'attribut XML standard <code>xml:space</code> pour spécifier le traitement des caractères d'espaces dans les données d'un élément {{ SVGElement("text") }} donné.</p> + + <div class="note"> + <p><strong>Note:</strong> Plutôt qu'utiliser l'attribut <code>xml:space</code> vous devriez utiliser la propriété CSS {{cssxref('white-space')}} à la place.</p> + </div> + + <p><small><em>Valeur</em>: <code><strong>default</strong></code> | <code>preserve</code>; <em>Animation</em>: <strong>Non</strong></small></p> + </dd> +</dl> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.core")}}</p> diff --git a/files/fr/web/svg/attribute/cx/index.html b/files/fr/web/svg/attribute/cx/index.html new file mode 100644 index 0000000000..bb97ab6341 --- /dev/null +++ b/files/fr/web/svg/attribute/cx/index.html @@ -0,0 +1,172 @@ +--- +title: cx +slug: Web/SVG/Attribute/cx +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/cx +--- +<p>{{SVGRef}}</p> + +<p>L'attribut <strong><code>cx</code></strong> définit la coordonnée de l'axe x pour le point central d'un élément.</p> + +<p>Trois éléments utilisent cet attribut: {{SVGElement("circle")}}, {{SVGElement("ellipse")}}, et {{SVGElement("radialGradient")}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 300 100" xmlns="http://www.w3.org/2000/svg"> + <radialGradient cx="25%" id="myGradient"> + <stop offset="0" stop-color="white" /> + <stop offset="100%" stop-color="black" /> + </radialGradient> + + <circle cx="50" cy="50" r="45"/> + <ellipse cx="150" cy="50" rx="45" ry="25" /> + <rect x="205" y="5" width="90" height="90" fill="url(#myGradient)" /> +</svg></pre> + +<p>{{EmbedLiveSample('topExample', 100, 100)}}</p> +</div> + +<h2 id="circle">circle</h2> + +<p>Pour un élément {{SVGElement('circle')}}, <code>cx</code> définit la coordonnée x de son centre.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong> | <strong><a href="/docs/Web/SVG/Content_type#Percentage"><percentage></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>0</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> À partir de SVG2, <code>cx</code> est une<em> propriété de géométrie</em>, ce qui signifie que cet attribut peut être utilisé comme propriété CSS pour les cercles.</p> + +<h2 id="ellipse">ellipse</h2> + +<p>Pour un élément {{SVGElement('ellipse')}}, <code>cx</code> définit la coordonnées x de son centre.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong> | <strong><a href="/docs/Web/SVG/Content_type#Percentage"><percentage></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>0</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> À partir de SVG2, <code>cx</code> est une<em> propriété de géométrie</em>, ce qui signifie que cet attribut peut être utilisé comme propriété CSS pour les ellipses.</p> + +<h2 id="radialGradient">radialGradient</h2> + +<p>Pour un élément {{SVGElement('radialGradient')}}, <code>cx</code> définit la coordonnées x du plus grand cercle pour le dégradé radial (c'est-à-dire du plus externe). Le dégradé sera dessiné de telle façon que la <a href="/en-US/docs/SVG/Element/stop" title="/en-US/docs/SVG/Element/stop">limite du dégradé</a> à <strong>100%</strong> corresponde au périmètre de ce plus grand cercle.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>50%</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h4 id="Exemple">Exemple</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 34 10" xmlns="http://www.w3.org/2000/svg"> + <defs> + <radialGradient cx="0" id="myGradient000"> + <stop offset="0%" stop-color="gold" /> + <stop offset="50%" stop-color="green" /> + <stop offset="100%" stop-color="white" /> + </radialGradient> + + <radialGradient cx="50%" id="myGradient050"> + <stop offset="0%" stop-color="gold" /> + <stop offset="50%" stop-color="green" /> + <stop offset="100%" stop-color="white" /> + </radialGradient> + + <radialGradient cx="100%" id="myGradient100"> + <stop offset="0%" stop-color="gold" /> + <stop offset="50%" stop-color="green" /> + <stop offset="100%" stop-color="white" /> + </radialGradient> + </defs> + + <rect x="1" y="1" width="8" height="8" fill="url(#myGradient000)" stroke="black" /> + <rect x="13" y="1" width="8" height="8" fill="url(#myGradient050)" stroke="black" /> + <rect x="25" y="1" width="8" height="8" fill="url(#myGradient100)" stroke="black" /> +</svg></pre> + +<p>{{EmbedLiveSample('radialGradient', 150, '100%')}}</p> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG2", "geometry.html#CX", "cx")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition comme propriété de géométrie</td> + </tr> + <tr> + <td>{{SpecName("SVG2", "pservers.html#RadialGradientElementCXAttribute", "cx")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour SVG2</td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "pservers.html#RadialGradientElementCXAttribute", "cx")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><radialGradient></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "shapes.html#EllipseElementCXAttribute", "cx")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><ellipse></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "shapes.html#CircleElementCXAttribute", "cx")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><circle></code></td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/cy/index.html b/files/fr/web/svg/attribute/cy/index.html new file mode 100644 index 0000000000..041e7bcdfd --- /dev/null +++ b/files/fr/web/svg/attribute/cy/index.html @@ -0,0 +1,172 @@ +--- +title: cy +slug: Web/SVG/Attribute/cy +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/cy +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>cy</code></strong> définit la coordonnée de l'axe y pour le point central d'un élément.</p> + +<p>Trois éléments utilisent cet attribut: {{SVGElement("circle")}}, {{SVGElement("ellipse")}}, et {{SVGElement("radialGradient")}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 100 300" xmlns="http://www.w3.org/2000/svg"> + <radialGradient cy="25%" id="myGradient"> + <stop offset="0" stop-color="white" /> + <stop offset="100%" stop-color="black" /> + </radialGradient> + + <circle cy="50" cx="50" r="45"/> + <ellipse cy="150" cx="50" rx="45" ry="25" /> + <rect x="5" y="205" width="90" height="90" fill="url(#myGradient)" /> +</svg></pre> + +<p>{{EmbedLiveSample('topExample', '100%', 300)}}</p> +</div> + +<h2 id="circle">circle</h2> + +<p>Pour un élément {{SVGElement('circle')}}, <code>cy</code> définit la coordonnée y de son centre.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong> | <strong><a href="/docs/Web/SVG/Content_type#Percentage"><percentage></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>0</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> À partir de SVG2, <code>cy</code> est une<em> propriété de géométrie</em>, ce qui signifie que cet attribut peut être utilisé comme propriété CSS pour les cercles.</p> + +<h2 id="ellipse">ellipse</h2> + +<p>Pour un élément {{SVGElement('ellipse')}}, <code>cy</code> définit la coordonnée y de son centre.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong> | <strong><a href="/docs/Web/SVG/Content_type#Percentage"><percentage></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>0</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> À partir de SVG2, <code>cy</code> est une<em> propriété de géométrie</em>, ce qui signifie que cet attribut peut être utilisé comme propriété CSS pour les ellipses.</p> + +<h2 id="radialGradient">radialGradient</h2> + +<p>Pour un élément {{SVGElement('radialGradient')}}, <code>cy</code> définit la coordonnées x du plus grand cercle pour le dégradé radial (c'est-à-dire du plus externe). Le dégradé sera dessiné de telle façon que la <a href="https://developer.mozilla.org/en-US/docs/SVG/Element/stop" title="/en-US/docs/SVG/Element/stop">limite de dégradé</a> de <strong>100%</strong> corresponde au périmètre de ce plus grand cercle.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>50%</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h4 id="Exemple">Exemple</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 34 10" xmlns="http://www.w3.org/2000/svg"> + <defs> + <radialGradient cy="0" id="myGradient000"> + <stop offset="0%" stop-color="gold" /> + <stop offset="50%" stop-color="green" /> + <stop offset="100%" stop-color="white" /> + </radialGradient> + + <radialGradient cy="50%" id="myGradient050"> + <stop offset="0%" stop-color="gold" /> + <stop offset="50%" stop-color="green" /> + <stop offset="100%" stop-color="white" /> + </radialGradient> + + <radialGradient cy="100%" id="myGradient100"> + <stop offset="0%" stop-color="gold" /> + <stop offset="50%" stop-color="green" /> + <stop offset="100%" stop-color="white" /> + </radialGradient> + </defs> + + <rect x="1" y="1" width="8" height="8" fill="url(#myGradient000)" stroke="black" /> + <rect x="13" y="1" width="8" height="8" fill="url(#myGradient050)" stroke="black" /> + <rect x="25" y="1" width="8" height="8" fill="url(#myGradient100)" stroke="black" /> +</svg></pre> + +<p>{{EmbedLiveSample('radialGradient', 150, '100%')}}</p> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG2", "geometry.html#CY", "cy")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition comme propriété de géométrie</td> + </tr> + <tr> + <td>{{SpecName("SVG2", "pservers.html#RadialGradientElementCYAttribute", "cy")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour SVG2</td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "pservers.html#RadialGradientElementCYAttribute", "cy")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><radialGradient></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "shapes.html#EllipseElementCYAttribute", "cy")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><ellipse></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "shapes.html#CircleElementCYAttribute", "cy")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><circle></code></td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/d/index.html b/files/fr/web/svg/attribute/d/index.html new file mode 100644 index 0000000000..7aad4f3a04 --- /dev/null +++ b/files/fr/web/svg/attribute/d/index.html @@ -0,0 +1,196 @@ +--- +title: d +slug: Web/SVG/Attribute/d +tags: + - Attribut SVG + - SVG +translation_of: Web/SVG/Attribute/d +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>d</code></strong> définit un tracé à dessiner.</p> + +<p>La définition d'un tracé est une liste de <a dir="ltr" href="/fr/docs/" id="#Path_commands">commandes de tracé</a> où chaque commande est composée d'une lettre pour la commande, et de nombres qui représentent les paramètres de la commande. Les commandes sont détaillées ci-dessous.</p> + +<p>Trois éléments ont cet attribut : {{SVGElement("path")}}, {{SVGElement("glyph")}}, and {{SVGElement("missing-glyph")}}</p> + +<div id="Example"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> + <path fill="none" stroke="red" + d="M 10,30 + A 20, 20 0, 0, 1 50, 30 + A 20, 20 0, 0, 1 90, 30 + Q 90, 60 50, 90 + Q 10, 60 10, 30 z" /> +</svg></pre> + +<p>{{EmbedLiveSample('Example', '100%', 200)}}</p> + +<h2 id="Tracé">Tracé</h2> + +<p>Pour un {{SVGElement('path')}}, <code>d</code> est une chaîne de caractère qui contient une série de commandes de tracé qui définissent le tracé à dessiner.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#String"><string></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><em>aucune</em></td> + </tr> + <tr> + <th scope="row">Animable</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="glyph">glyph</h2> + +<p class="warning"><strong>Attention :</strong> Depuis SVG2, {{SVGElement('glyph')}} est dépréciée et ne doit plus être utilisé.</p> + +<p>Pour un {{SVGElement('glyph')}}, <code>d</code> est une chaîne de caractères qui contient une série de commandes de tracé qui définissent la forme du contour de la glyphe.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#String"><string></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><em>aucune</em></td> + </tr> + <tr> + <th scope="row">Animable</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note :</strong> Le point d'origine (coordonnée <code>0,0</code>) est généralement le point du <em>coin en haut à gauche</em> du context. Néanmoins, l'élément {{SVGElement("glyph")}} a son point d'origine dans le coin en bas à gauche de son enveloppe.</p> + +<h2 id="missing-glyph">missing-glyph</h2> + +<p class="warning"><strong>Attention :</strong> Depuis SVG2, {{SVGElement('missing-glyph')}} est dépréciée et ne doit plus être utilisé.</p> + +<p>Pour un {{SVGElement('missing-glyph')}}, <code>d</code> est une chaîne de caractères qui contient une série de commandes de tracé qui définissent la forme du contour de la glyphe.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#String"><string></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><em>aucune</em></td> + </tr> + <tr> + <th scope="row">Animable</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="Commandes_de_tracé">Commandes de tracé</h2> + +<p>Les commandes de tracé sont des instructions qui définissent un tracé à dessiner. Chaque commande est composée d'une lettre de commande et de nombres qui représentent les paramètres de la commande.</p> + +<p>SVG définit 6 types de commandes, pour un total de 20 commandes :</p> + +<ul> + <li>Aller à (Moveto)</li> + <li>Tracer une ligne jusqu'à (Lineto)</li> + <li>Tracer une courbe jusqu'à (Curveto)</li> + <li>Tracer un arc de cercle jusqu'à (Arcto)</li> + <li>Fermer le chemin (ClosePath)</li> +</ul> + +<p class="note"><strong>Note:</strong> Les commandes sont sensibles à la casse; une commande en majuscule attend des positions absolues en arguments, alors qu'une commande en minuscule attend des points relatifs à la position actuelle du point.</p> + +<p>Il est toujours possible de spécifier une valeur négative en argument d'une commande : des angles négatifs pointeront dans une direction vers le sens inverse des aiguilles d'une montre; des positions <code>x</code> et <code>y</code> seront interprétées commandes coordonnées négatives; des valeurs <code>x</code><font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: #eeeeee; font-size: 13.6px; white-space: nowrap;"><strong> </strong></span></font>négatives se déplaceront vers la gauche; et des valeurs <code>y</code> négatives se déplaceront vers le haut.</p> + +<h2 id="Moveto_(aller_à)">Moveto (aller à)</h2> + +<p>Cette instuction peut être vue comme un déplacement du pinceau à une position donnée sans rien tracer. Une bonne pratique consiste à commencer tous ses chemins par une instruction Moveto car, sans un positionnement initial, les instructions du chemin commencerons à un point quelconque ce qui peut donner des résultats non désirés.</p> + +<p>Syntaxe:</p> + +<ul> + <li><strong><code>M x, y</code></strong> où x et y sont des coordonnées absolues, respectivement horizontale et verticale.</li> + <li><strong><code>m dx, dy</code></strong> où dx et dy sont des distances relatives à la position courante, respectivement vers la droite et vers le bas.</li> +</ul> + +<p>Exemples :</p> + +<ul> + <li>Positionnement absolu en x = 50, y = 100 : <code><path d="M 50, 100..." /></code></li> + <li>Déplacement de 50 vers la droite et 100 vers le bas : <code><path d="m 50, 100..." /></code></li> +</ul> + +<h2 id="Lineto_(tracer_une_ligne_jusqu'à)">Lineto (tracer une ligne jusqu'à)</h2> + +<p>À l'opposé de l'instruction Moveto, Lineto trace réellement une ligne de la position courante à la position définie. La syntaxe générique est <code>L x, y</code> ou <code>l dx, dy</code> avec <code>x, y</code> des coordonnées absolues et <code>dx, dy</code> des distances relatives au point courant, respectivement dans les sens de gauche à droite pour <code>dx</code> et de haut en bas pour <code>dy</code>.</p> + +<p>Il existe aussi des raccourcis pour définir des lignes horizontales (H) ou verticales (V). Leur syntaxe est similaire à celle de L, mais il n'y a qu'une valeur à donner.</p> + +<p>Exemples :</p> + +<ul> + <li>Dessiner un carré (avec coordonnées relatives) : <code><path d="M -10, -10 h 50 v 50 h -50 v -50"/></code></li> + <li>Dessiner un carré (avec coordonnées absolues) : <code><path d="M -10, -10 H 40 V 40 H -10 V -10"/></code></li> +</ul> + +<h2 id="Curveto">Curveto</h2> + +<p>L'instruction Curveto trace une <a href="https://developer.mozilla.org/en-US/docs/User:Jt_Sandbox/Curves_in_Paths">courbe de Bézier</a>. Il existe deux types de courbes de Bézier : cubique et quadratique. Les courbes cubiques sont un cas particulier des courbes quadratiques puisque le point de contrôle est commun au point de départ et au point d'arrivée. La syntaxe d'une courbe quadratique de Bézier est "Q cx,cy x,y" ou "q dcx,dcy dx,dy". cx et cy sont les coordonnées absolues du point de contrôle tandis que dcx et dcy sont les coordonnées du point de contrôle relatives au point courant. x et y sont les coordonnées absolues du point d'arrivée tandis que dx et dy sont les coordonnées relatives de ce point par rapport au point courant.</p> + +<p>Les courbes cubiques de Bézier suivent le même principe mais avec deux points de contrôle. La syntaxe de ces courbes est <code>C c1x, c1y c2x, c2y x, y</code> ou <code>c dc1x, dc1y dc2x, dc2y dx, dy</code>.</p> + +<div> + + +<p>Pour réaliser des chaînes de courbes de Bézier "adoucies", il est possible d'utiliser les commandes T et S. Leur syntaxe est plus simple que les autres commandes Curveto car elles estiment que le premier point de contrôle est le symétrique du point de contrôle précédent par rapport au point terminal de la courbe précédente, ou que c'est le point précédent lui-même s'il n'y a pas eu de courbe tracée directement avant. La syntaxe de T est <code>T x, y</code> ou <code>t dx, dy</code> pour un point d'arrivée de position absolue ou relatives et sert à créer des courbes quadratiques de Bézier. S sert donc à faire des courbes cubiques de Bézier avec la syntaxe <code>S cx, cy x, y</code> ou <code>s dcx,dcy dx,dy</code>, où (d)cx indique le second point de contrôle.</p> + +<p>Finalement, toutes les commandes de courbes de Bézier peuvent servir de "polybézier" en spécifiant tous les paramètres successivement après la commande initiale. En conséquence, les deux commandes suivantes sont équivalentes en résultat :</p> + +<div class="geckoVersionNote"> +<p><code><path d="c 50, 0 50, 100 100, 100 50, 0 50, -100 100, -100" /><br> + <path d="c 50, 0 50, 100 100, 100 c 50, 0 50, -100 100, -100" /></code></p> +</div> + +<h2 id="Arcto">Arcto</h2> + +<p>Parfois il est plus simple de définir un <code>path</code> comme une courbe elliptique plutôt que comme une courbe de Bézier. Dans cette optique, les commandes Arcto sont supportées par les balises <code>path</code>.</p> + +<p>La définition d'un Arcto est relativement complexe : <code>A rx, ry xAxisRotate LargeArcFlag, SweepFlag x, y</code>, où <code>rx</code> et <code>ry</code> représentent les rayons sur les axes x et y, respectivement ; <code>LargeArcFlag</code> est une valeur à 0 ou 1, et permet de déterminer si le plus petit (0) ou le plus grand (1) arc possible doit être dessiné ; <code>SweepFlag</code> est une valeur à 0 ou 1 et définit le sens de balayage de la courbe : horaire (1) ou anti-horaire (0) ; et enfin <code>x</code> et <code>y</code> sont les coordonnées de destination.</p> + +<p>La propriété <code>xAxisRotate</code> est censée changer l'axe des x relativement au viewport de référence. Cependant, il semble que cette propriété n'ait aucun effet avec le moteur de rendu Gecko 7.</p> + +<h2 id="ClosePath_(fermer_un_chemin)">ClosePath (fermer un chemin)</h2> + +<p>L'instruction ClosePath trace simplement une ligne droite de la position actuelle jusqu'au point initial de la courbe. C'est l'instruction la plus simple puisqu'elle n'attend aucun argument. Il n'y a pas de différence entre la version majuscule ("Z") et la version minuscule ("z").</p> +</div> + +<h2 id="Éléments">Éléments</h2> + +<p>Les éléments suivants peuvent utiliser l'attribut <strong>d</strong> :</p> + +<ul> + <li>{{SVGElement("path")}}</li> + <li>{{SVGElement("glyph")}}</li> +</ul> + +<p>De plus, les mêmes règles s'appliquent aux animations de chemin {{SVGElement("animate")}}.</p> + +<h2 id="Notes">Notes</h2> + +<p>Le point d'origine (de coordonnées 0,0) est habituellement le <strong>coin supérieur gauche</strong> du contexte. Cependant, l'élément {{SVGElement("glyph")}} a son origine dans le <strong>coin inférieur gauche</strong> de la boîte contenant son caractère.</p> +</div> diff --git a/files/fr/web/svg/attribute/dx/index.html b/files/fr/web/svg/attribute/dx/index.html new file mode 100644 index 0000000000..436b6dbd85 --- /dev/null +++ b/files/fr/web/svg/attribute/dx/index.html @@ -0,0 +1,294 @@ +--- +title: dx +slug: Web/SVG/Attribute/dx +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/dx +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>dx</code></strong> indique un décalage sur l'axe x de la position d'un élément ou de son contenu.</p> + +<p>Sept éléments utilisent cet attribut: {{SVGElement('altGlyph')}}, {{SVGElement('feDropShadow')}}, {{SVGElement('feOffset')}}, {{SVGElement('glyphRef')}}, {{SVGElement('text')}}, {{SVGElement('tref')}}, et {{SVGElement('tspan')}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> + <!-- Lignes indiquant la position des glyphes --> + <line x1="0" x2="100%" y1="50%" y2="50%" /> + <line x1="10%" x2="10%" y1="0" y2="100%" /> + <line x1="60%" x2="60%" y1="0" y2="100%" /> + + <!-- Un texte de référence --> + <text x="10%" y="50%" fill="grey">SVG</text> + + <!-- Le même texte avec un décalage sur l'axe x --> + <text dx="50%" x="10%" y="50%">SVG</text> +</svg></pre> + +<pre class="brush: css">line { + stroke: red; + stroke-width: .5px; + stroke-dasharray: 3px; +}</pre> + +<p>{{EmbedLiveSample('topExample', '100%', 200)}}</p> +</div> + +<h2 id="altGlyph">altGlyph</h2> + +<p class="warning"><strong>Attention:</strong> Depuis SVG2 {{SVGElement('altGlyph')}} est déprécié et ne devrait pas être utilisé.</p> + +<p>Pour {{SVGElement('altGlyph')}}, s'il ne contient qu'une seule valeur, <code>dx</code> définit un décalage sur l'axe x pour l'ensemble des glyphes.</p> + +<p>S'il a plusieurs valeurs, <code>dx</code> définit un décalage sur l'axe x individuellement pour chaque glyphe, relativement au glyphe précédent. S'il y a moins de valeurs qu'il n'y a de glyphes, les glyphes restants utilisent une valeur de <code>0</code>. S'il y a plus de valeurs qu'il n'y a de glyphes, les valeurs supplémentaires sont ignorées.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td>Liste de <strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><em>aucune</em></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="feDropShadow">feDropShadow</h2> + +<p>Pour {{SVGElement('feDropShadow')}}, <code>dx</code> définit le décalage x de l'ombre portée. L'unité utilisée pour résoudre la valeur de l'attribut est définie par l'attribut {{SVGAttr('primitiveUnits')}} de l'élément {{SVGElement('filter')}}.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Number"><number></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>2</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="feOffset">feOffset</h2> + +<p>Pour {{SVGElement('feOffset')}}, <code>dx</code> définit le décalage x de l'élément source du filtre. L'unité utilisée pour résoudre la valeur de l'attribut est définie par l'attribut {{SVGAttr('primitiveUnits')}} de l'élément {{SVGElement('filter')}}.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Number"><number></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>0</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="glyphRef">glyphRef</h2> + +<p class="warning"><strong>Attention:</strong> Depuis SVG2 {{SVGElement('glyphRef')}} est déprécié et ne devrait pas être utilisé.</p> + +<p>Pour {{SVGElement('glyphRef')}}, <code>dx</code> définit le décalage x du glyphe, dans le système métrique de la police.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Number"><number></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>0</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="text">text</h2> + +<p>Pour {{SVGElement('text')}}, s'il ne contient qu'une seule valeur, <code>dx</code> définit un décalage sur l'axe x pour tous les glyphes.</p> + +<p>S'il a plusieurs valeurs, <code>dx</code> définit un décalage sur l'axe x individuellement pour chaque glyphe, relativement au glyphe précédent. S'il y a moins de valeurs qu'il n'y a de glyphes, les glyphes restants utilisent une valeur de <code>0</code>. S'il y a plus de valeurs qu'il n'y a de glyphes, les valeurs supplémentaires sont ignorées.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td>Liste de <strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><em>aucune</em></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h3 id="Exemple">Exemple</h3> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> + <!-- Linges indiquant la position des glyphes --> + <line x1="0" x2="100%" y1="25%" y2="25%" /> + <line x1="0" x2="100%" y1="50%" y2="50%" /> + <line x1="0" x2="100%" y1="75%" y2="75%" /> + + <line x1="10%" x2="10%" y1="0" y2="100%" /> + <line x1="30%" x2="30%" y1="0" y2="100%" /> + <line x1="60%" x2="60%" y1="0" y2="100%" /> + + <!-- Le comportement change en fonction du nombre + de valeurs de l'attribut --> + <text dx="20%" x="10%" y="25%">SVG</text> + <text dx="0 10%" x="10%" y="50%">SVG</text> + <text dx="0 10% 20%" x="10%" y="75%">SVG</text> +</svg></pre> + +<pre class="brush: css">line { + stroke: red; + stroke-width: .5px; + stroke-dasharray: 3px; +}</pre> + +<p>{{EmbedLiveSample('text', '100%', 100)}}</p> + +<h2 id="tref">tref</h2> + +<p class="warning"><strong>Attention:</strong> Depuis SVG2 {{SVGElement('tref')}} est déprécié et ne devrait pas être utilisé.</p> + +<p> </p> + +<p>Pour {{SVGElement('tref')}}, s'il ne contient qu'une seule valeur, <code>dx</code> définit un décalage sur l'axe x pour tous les glyphes.</p> + +<p>S'il a plusieurs valeurs, <code>dx</code> définit un décalage sur l'axe x individuellement pour chaque glyphe, relativement au glyphe précédent. S'il y a moins de valeurs qu'il n'y a de glyphes, les glyphes restants utilisent une valeur de <code>0</code>. S'il y a plus de valeurs qu'il n'y a de glyphes, les valeurs supplémentaires sont ignorées.</p> + +<p> </p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td>Liste de <strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><em>aucune</em></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="tspan">tspan</h2> + +<p> </p> + +<p>Pour {{SVGElement('tspan')}}, s'il ne contient qu'une seule valeur, <code>dx</code> définit un décalage sur l'axe x pour tous les glyphes.</p> + +<p>S'il a plusieurs valeurs, <code>dx</code> définit un décalage sur l'axe x individuellement pour chaque glyphe, relativement au glyphe précédent. S'il y a moins de valeurs qu'il n'y a de glyphes, les glyphes restants utilisent une valeur de <code>0</code>. S'il y a plus de valeurs qu'il n'y a de glyphes, les valeurs supplémentaires sont ignorées.</p> + +<p> </p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td>Liste de <strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><em>aucune</em></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{ SpecName('Filters 1.0', '#element-attrdef-fedropshadow-dx', 'dx') }}</td> + <td>{{Spec2('Filters 1.0')}}</td> + <td>Définition initiale pour <code><feDropShadow></code></td> + </tr> + <tr> + <td>{{ SpecName('Filters 1.0', '#element-attrdef-feoffset-dx', 'dx') }}</td> + <td>{{Spec2('Filters 1.0')}}</td> + <td>Définition pour <code><feOffset></code></td> + </tr> + <tr> + <td>{{SpecName("SVG2", "text.html#TextElementDXAttribute", "dx")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour <code><text></code> et <code><tspan></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "filters.html#feOffsetDxAttribute", "dx")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><feOffset></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "text.html#AltGlyphElementDXAttribute", "dx")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><altGlyph></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "text.html#GlyphRefElementDXAttribute", "dx")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><glyphRef></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "text.html#TextElementDXAttribute", "dx")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><text></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "text.html#TSpanElementDXAttribute", "dx")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><tref></code> et <code><tspan></code></td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/dy/index.html b/files/fr/web/svg/attribute/dy/index.html new file mode 100644 index 0000000000..2dd91bf46e --- /dev/null +++ b/files/fr/web/svg/attribute/dy/index.html @@ -0,0 +1,297 @@ +--- +title: dy +slug: Web/SVG/Attribute/dy +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/dy +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>dy</code></strong> indique un décalage sur l'axe y de la position d'un élément ou de son contenu.</p> + +<p>Sept éléments utilisent cet attribut: {{SVGElement('altGlyph')}}, {{SVGElement('feDropShadow')}}, {{SVGElement('feOffset')}}, {{SVGElement('glyphRef')}}, {{SVGElement('text')}}, {{SVGElement('tref')}}, et {{SVGElement('tspan')}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> + <!-- Lignes indiquant la position des glyphes --> + <line x1="10%" x2="10%" y1="0" y2="100%" /> + <line x1="0" x2="100%" y1="30%" y2="30%" /> + <line x1="0" x2="100%" y1="80%" y2="80%" /> + + <!-- Un texte de référence --> + <text x="10%" y="30%" fill="grey">SVG</text> + + <!-- Le même texte avec un décalage sur l'axe y --> + <text dy="50%" x="10%" y="30%">SVG</text> +</svg></pre> + +<pre class="brush: css">line { + stroke: red; + stroke-width: .5px; + stroke-dasharray: 3px; +}</pre> + +<p>{{EmbedLiveSample('topExample', '100%', 200)}}</p> +</div> + +<h2 id="altGlyph">altGlyph</h2> + +<p class="warning"><strong>Attention:</strong> Depuis {{SVGElement('altGlyph')}} est déprécié et ne devrait pas être utilisé.</p> + +<p>Pour {{SVGElement('altGlyph')}}, s'il ne contient qu'une seule valeur, <code>dy</code> définit un décalge sur l'axe y pour tous les glyphes.</p> + +<p>S'il a plusieurs valeurs, <code>dy</code> définit un décalage sur l'axe y individuellement pour chaque glyphe, relativement au glyphe précédent. S'il y a moins de valeurs qu'il n'y a de glyphes, les glyphes restants utilisent la valeur <code>0</code>. S'il y a plus de valeurs qu'il n'y a de glyphes, les valeurs restantes sont ignorées.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td>Liste de <strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><em>aucune</em></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="feDropShadow">feDropShadow</h2> + +<p>Pour {{SVGElement('feDropShadow')}}, <code>dy</code> définit le décalage x de l'ombre portée. L'unité utilisée pour résoudre la valeur est définie par l'attribut {{SVGAttr('primitiveUnits')}} de l'élément {{SVGElement('filter')}}.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Number"><number></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>2</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="feOffset">feOffset</h2> + +<p>Pour {{SVGElement('feOffset')}}, <code>dy</code> définit le décalage x de l'élément source du filtre. L'unité utilisée pour résoudre la valeur est définie par l'attribut {{SVGAttr('primitiveUnits')}} de l'élément {{SVGElement('filter')}}.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Number"><number></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>0</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="glyphRef">glyphRef</h2> + +<p class="warning"><strong>Attention:</strong> Depuis SVG2 {{SVGElement('glyphRef')}} est déprécié et ne devrait pas être utilisé.</p> + +<p>Pour {{SVGElement('glyphRef')}}, <code>dy</code> définit le décalage x du glyphe, dans le système métrique de la police.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Number"><number></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>0</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="text">text</h2> + +<p>Pour {{SVGElement('text')}}, s'il ne contient qu'une seule valeur, <code>dx</code> définit un décalage sur l'axe x pour tous les glyphes.</p> + +<p>S'il a plusieurs valeurs, <code>dx</code> définit un décalage sur l'axe x individuellement pour chaque glyphe, relativement au glyphe précédent. S'il y a moins de valeurs qu'il n'y a de glyphes, les glyphes restants utilisent une valeur de <code>0</code>. S'il y a plus de valeurs qu'il n'y a de glyphes, les valeurs supplémentaires sont ignorées.</p> + +<p> </p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td>Liste de <strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><em>aucune</em></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h3 id="Exemple">Exemple</h3> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 150 100" xmlns="http://www.w3.org/2000/svg"> + <!-- Lignes horizontales --> + <line x1="0" x2="100%" y1="30" y2="30" /> + <line x1="0" x2="100%" y1="40" y2="40" /> + <line x1="0" x2="100%" y1="50" y2="50" /> + <line x1="0" x2="100%" y1="60" y2="60" /> + + <!-- Lignes verticales --> + <line x1="10" x2="10" y1="0" y2="100%" /> + <line x1="50" x2="50" y1="0" y2="100%" /> + <line x1="90" x2="90" y1="0" y2="100%" /> + + <!-- Le comportement change en fonction du nombre de valeurs de l'attribut --> + <text dy="20" x="10" y="30">SVG</text> + <text dy="0 10" x="50" y="30">SVG</text> + <text dy="0 10 20" x="90" y="30">SVG</text> +</svg></pre> + +<pre class="brush: css">line { + stroke: red; + stroke-width: .5px; + stroke-dasharray: 3px; +}</pre> + +<p>{{EmbedLiveSample('text', '100%', 100)}}</p> + +<h2 id="tref">tref</h2> + +<p class="warning"><strong>Attention:</strong> Depuis SVG2 {{SVGElement('tref')}} est déprécié et ne devrait pas être utilisé.</p> + +<p> </p> + +<p>Pour {{SVGElement('tref')}}, s'il ne contient qu'une seule valeur, <code>dx</code> définit un décalage sur l'axe x pour tous les glyphes.</p> + +<p>S'il a plusieurs valeurs, <code>dx</code> définit un décalage sur l'axe x individuellement pour chaque glyphe, relativement au glyphe précédent. S'il y a moins de valeurs qu'il n'y a de glyphes, les glyphes restants utilisent une valeur de <code>0</code>. S'il y a plus de valeurs qu'il n'y a de glyphes, les valeurs supplémentaires sont ignorées.</p> + +<p> </p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td>Liste de <strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><em>aucune</em></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="tspan">tspan</h2> + +<p> </p> + +<p>Pour {{SVGElement('tspan')}}, s'il ne contient qu'une seule valeur, <code>dx</code> définit un décalage sur l'axe x pour tous les glyphes.</p> + +<p>S'il a plusieurs valeurs, <code>dx</code> définit un décalage sur l'axe x individuellement pour chaque glyphe, relativement au glyphe précédent. S'il y a moins de valeurs qu'il n'y a de glyphes, les glyphes restants utilisent une valeur de <code>0</code>. S'il y a plus de valeurs qu'il n'y a de glyphes, les valeurs supplémentaires sont ignorées.</p> + +<p> </p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td>Liste de <strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><em>aucune</em></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{ SpecName('Filters 1.0', '#element-attrdef-fedropshadow-dy', 'dy') }}</td> + <td>{{Spec2('Filters 1.0')}}</td> + <td>Définition initiale pour <code><feDropShadow></code></td> + </tr> + <tr> + <td>{{ SpecName('Filters 1.0', '#element-attrdef-feoffset-dy', 'dy') }}</td> + <td>{{Spec2('Filters 1.0')}}</td> + <td>Définition pour <code><feOffset></code></td> + </tr> + <tr> + <td>{{SpecName("SVG2", "text.html#TextElementDYAttribute", "dy")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour <code><text></code> et <code><tspan></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "filters.html#feOffsetDyAttribute", "dy")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><feOffset></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "text.html#AltGlyphElementDYAttribute", "dy")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><altGlyph></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "text.html#GlyphRefElementDYAttribute", "dy")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><glyphRef></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "text.html#TextElementDYAttribute", "dy")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><text></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "text.html#TSpanElementDYAttribute", "dy")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour <code><tref></code> et <code><tspan></code></td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/events/index.html b/files/fr/web/svg/attribute/events/index.html new file mode 100644 index 0000000000..0c1faf098d --- /dev/null +++ b/files/fr/web/svg/attribute/events/index.html @@ -0,0 +1,43 @@ +--- +title: Attributs d'événements des SVG +slug: Web/SVG/Attribute/Events +tags: + - Event + - SVG +translation_of: Web/SVG/Attribute/Events +--- +<p>Tout attribut d'événement a un nom qui commence par "on" suivit du nom de l'événement auquel il est rattaché. Ces attributs spécifient quel script exécuter lorsque l'événement du type donné est déclenché sur l'élément.</p> + +<p>SVG prend en charge tous les types d'événement pris en charge par le navigateur, en suivant les mêmes spécifications que les attributs d'événement HTML.</p> + +<p>Les attributs d'événements globaux sont disponibles sur <em>tous les éléments SVG</em>. Les autres attributs d'événement sont disponible au cas par cas sur les différents éléments.</p> + +<p>Tous les attributs d'événements <em>ne peuvent pas être animés.</em></p> + +<h2 id="Attributs">Attributs</h2> + +<h3 id="Attributs_d'événement_d'animation">Attributs d'événement d'animation</h3> + +<p><code><strong>onbegin</strong></code>, <code><strong>onend</strong></code>, <code><strong>onrepeat</strong></code></p> + +<h3 id="Attributs_d'événement_du_document">Attributs d'événement du document</h3> + +<p><code><strong>onabort</strong></code>, <code><strong>onerror</strong></code>, <code><strong>onresize</strong></code>, <code><strong>onscroll</strong></code>, <code><strong>onunload</strong></code></p> + +<h3 id="Attributs_d'événement_des_éléments_du_document">Attributs d'événement des éléments du document</h3> + +<p><strong><code>oncopy</code></strong>, <strong><code>oncut</code></strong>, <strong><code>onpaste</code></strong></p> + +<h3 id="Attributs_d'événement_globaux">Attributs d'événement globaux</h3> + +<p><code><strong>oncancel</strong></code>, <code><strong>oncanplay</strong></code>, <code><strong>oncanplaythrough</strong></code>, <code><strong>onchange</strong></code>, <code><strong>onclick</strong></code>, <code><strong>onclose</strong></code>, <code><strong>oncuechange</strong></code>, <code><strong>ondblclick</strong></code>, <code><strong>ondrag</strong></code>, <code><strong>ondragend</strong></code>, <code><strong>ondragenter</strong></code>, <code><strong>ondragexit</strong></code>, <code><strong>ondragleave</strong></code>, <code><strong>ondragover</strong></code>, <code><strong>ondragstart</strong></code>, <code><strong>ondrop</strong></code>, <code><strong>ondurationchange</strong></code>, <code><strong>onemptied</strong></code>, <code><strong>onended</strong></code>, <code><strong>onerror</strong></code>, <code><strong>onfocus</strong></code>, <code><strong>oninput</strong></code>, <code><strong>oninvalid</strong></code>, <code><strong>onkeydown</strong></code>, <code><strong>onkeypress</strong></code>, <code><strong>onkeyup</strong></code>, <code><strong>onload</strong></code>, <code><strong>onloadeddata</strong></code>, <code><strong>onloadedmetadata</strong></code>, <code><strong>onloadstart</strong></code>, <code><strong>onmousedown</strong></code>, <code><strong>onmouseenter</strong></code>, <code><strong>onmouseleave</strong></code>, <code><strong>onmousemove</strong></code>, <code><strong>onmouseout</strong></code>, <code><strong>onmouseover</strong></code>, <code><strong>onmouseup</strong></code>, <code><strong>onmousewheel</strong></code>, <code><strong>onpause</strong></code>, <code><strong>onplay</strong></code>, <code><strong>onplaying</strong></code>, <code><strong>onprogress</strong></code>, <code><strong>onratechange</strong></code>, <code><strong>onreset</strong></code>, <code><strong>onresize</strong></code>, <code><strong>onscroll</strong></code>, <code><strong>onseeked</strong></code>, <code><strong>onseeking</strong></code>, <code><strong>onselect</strong></code>, <code><strong>onshow</strong></code>, <code><strong>onstalled</strong></code>, <code><strong>onsubmit</strong></code>, <code><strong>onsuspend</strong></code>, <code><strong>ontimeupdate</strong></code>, <code><strong>ontoggle</strong></code>, <code><strong>onvolumechange</strong></code>, <code><strong>onwaiting</strong></code></p> + +<h3 id="Attributs_d'événement_graphiques">Attributs d'événement graphiques</h3> + +<p><code><strong>onactivate</strong></code>, <code><strong>onfocusin</strong></code>, <code><strong>onfocusout</strong></code></p> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.events")}}</p> diff --git a/files/fr/web/svg/attribute/fill-opacity/index.html b/files/fr/web/svg/attribute/fill-opacity/index.html new file mode 100644 index 0000000000..3991e07b5d --- /dev/null +++ b/files/fr/web/svg/attribute/fill-opacity/index.html @@ -0,0 +1,91 @@ +--- +title: fill-opacity +slug: Web/SVG/Attribute/fill-opacity +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/fill-opacity +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>fill-opacity</code></strong> définit l'opacité du remplissage (<em>couleur, dégradé, motif</em>, etc) appliqué à une forme.</p> + +<p class="note"><strong>Note:</strong> <code>fill-opacity</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<p>Cet attribut peut être appliqué sur tous les éléments, en revanche il n'aura d'effet que sur les éléments suivants: {{SVGElement('altGlyph')}}, {{SVGElement('circle')}}, {{SVGElement('ellipse')}}, {{SVGElement('path')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('rect')}}, {{SVGElement('text')}}, {{SVGElement('textPath')}}, {{SVGElement('tref')}}, et {{SVGElement('tspan')}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 400 100" xmlns="http://www.w3.org/2000/svg"> + <!-- Opacité par défaut: 1 --> + <circle cx="50" cy="50" r="40" /> + + <!-- Définit l'opacité avec un nombre --> + <circle cx="150" cy="50" r="40" + fill-opacity="0.7" /> + + <!-- Définit l'opaité avec un pourcentage --> + <circle cx="250" cy="50" r="40" + fill-opacity="50%" /> + + <!-- Définit l'opacité avec une propriété CSS --> + <circle cx="350" cy="50" r="40" + style="fill-opacity: .25;" /> +</svg></pre> + +<p>{{EmbedLiveSample('topExample', '100%', 150)}}</p> +</div> + +<h2 id="Notes_d'utilisation">Notes d'utilisation</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><code>[0-1]</code> | <strong><a href="/docs/Web/SVG/Content_type#Paint"><percentage></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>1</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> SVG2 introduit les valeurs en pourcentage pour <code>fill-opacity</code>. Cependant, ce n'est pas souvent pris en charge pour le moment (<em>Voir {{anch('Compatibilité des navigateurs')}} ci-dessous</em>). Il est par conséquent recommandé d'utiiser les valeurs de l'intervalle <code>[0-1]</code>.</p> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.presentation.fill-opacity")}}</p> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG2", "painting.html#FillOpacityProperty", "fill-opacity")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour les formes et le texte.</td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "painting.html#FillOpacityProperty", "fill-opacity")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour les formes et le texte.</td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/fill-rule/index.html b/files/fr/web/svg/attribute/fill-rule/index.html new file mode 100644 index 0000000000..ad3b269fa8 --- /dev/null +++ b/files/fr/web/svg/attribute/fill-rule/index.html @@ -0,0 +1,166 @@ +--- +title: fill-rule +slug: Web/SVG/Attribute/fill-rule +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/fill-rule +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>fill-rule</code></strong> définit l'algorithme à utiliser pour déterminer les parties qui sont considérées <em>à l'intérieur</em> de la forme.</p> + +<p class="note"><strong>Note:</strong> <code>fill-rule</code> est un attribut de présentation et peut donc être utilisé comme propriété CSS.</p> + +<p>Cet attribut peut être appliqué à n'importe quel élément mais n'aura d'effet que sur les éléments suivants: {{SVGElement('altGlyph')}}, {{SVGElement('path')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('text')}}, {{SVGElement('textPath')}}, {{SVGElement('tref')}}, et {{SVGElement('tspan')}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="-10 -10 220 120" xmlns="http://www.w3.org/2000/svg"> + <!-- Valeur par défaut pour fill-rule --> + <polygon fill-rule="nonzero" stroke="red" + points="50,0 21,90 98,35 2,35 79,90"/> + + <!-- + Les points au centre de la forme ont 2 + segments (matérialisés par le trait rouge) + Avec la règle evenodd, ils sont considérés en + dehors de la forme, et l'intérieur de l'étoile + est donc vide. + --> + <polygon fill-rule="evenodd" stroke="red" + points="150,0 121,90 198,35 102,35 179,90"/> +</svg></pre> +</div> + +<p>{{EmbedLiveSample('topExample', '100%', 200)}}</p> + +<h2 id="Usage">Usage</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><code>nonzero</code> | <code>evenodd</code></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>nonzero</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Yes</td> + </tr> + </tbody> +</table> + +<p>L'attribut <code>fill-rule</code> peut prendre deux valeurs:</p> + +<h3 id="nonzero">nonzero</h3> + +<p>La valeur <code>nonzero</code> détermine si un point est à l'intérieur d'une forme en dessinant un rayon à partir de ce point vers l'infini dans toutes les directions, puis examine les endroits où un segment de la forme traverse le rayon.</p> + +<p>À chaque fois qu'un segment traverse le rayon de gauche à droite, on ajoute un. À chaque fois qu'un segment traverse le rayon de droite à gauche, on soustrait un. Si au final, le compte est égal à zéro, le point est l'extérieur. Dans le cas contraire, il est à l'intérieur.</p> + +<h4 id="Exemple">Exemple</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="-10 -10 320 120" xmlns="http://www.w3.org/2000/svg"> + <!-- Effet de la règle de remplissage sur les segments qui se croisent --> + <polygon fill-rule="nonzero" stroke="red" + points="50,0 21,90 98,35 2,35 79,90"/> + + <!-- + Effet sur une forme dans une forme + lorsque le segment va dans la même direction + (vers la droite) + --> + <path fill-rule="nonzero" stroke="red" + d="M110,0 h90 v90 h-90 z + M130,20 h50 v50 h-50 z"/> + + <!-- + Effet sur une forme dans une forme + lorsque le segment va dans la direction opposée + (vers la gauche contre vers la droite) + --> + <path fill-rule="nonzero" stroke="red" + d="M210,0 h90 v90 h-90 z + M230,20 v50 h50 v-50 z"/> +</svg></pre> + +<p>{{EmbedLiveSample('nonzero', '100%', 200)}}</p> + +<h3 id="evenodd">evenodd</h3> + +<p>La valeur <code>evenodd</code> détermine si un point est à l'intérieur d'une forme en dessinant un rayon de à partir de ce point vers l'infini dans toutes les directions, et compte le nombre de segments de la forme qui traversent ce rayon. Si ce nombre est impair (<em>odd</em> en anglais), alors le point est à l'intérieur. Si le nombre est pair (<em>even</em> en anglais), alors le point est à l'extérieur.</p> + +<h4 id="Exemple_2">Exemple</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="-10 -10 320 120" xmlns="http://www.w3.org/2000/svg"> + <!-- Effet de la règle de remplissage sur les segments qui se croisent --> + <polygon fill-rule="evenodd" stroke="red" + points="50,0 21,90 98,35 2,35 79,90"/> + + <!-- + Effet sur une forme dans une forme + lorsque le segment va dans la même direction + (vers la droite) + --> + <path fill-rule="evenodd" stroke="red" + d="M110,0 h90 v90 h-90 z + M130,20 h50 v50 h-50 z"/> + + <!-- + Effet sur une forme dans une forme + lorsque le segment va dans la direction opposée + (vers la gauche contre vers la droite) + --> + <path fill-rule="evenodd" stroke="red" + d="M210,0 h90 v90 h-90 z + M230,20 v50 h50 v-50 z"/> +</svg></pre> + +<p>{{EmbedLiveSample('evenodd', '100%', 200)}}</p> + +<h2 id="Browser_Compatibility" name="Browser_Compatibility">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.presentation.fill-rule")}}</p> + +<h2 id="Spécification">Spécification</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG2", "painting.html#FillRuleProperty", "fill-rule")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour les formes et le texte</td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "painting.html#FillRuleProperty", "fill-rule")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour les formes et le texte</td> + </tr> + </tbody> +</table> + +<p> </p> diff --git a/files/fr/web/svg/attribute/fill/index.html b/files/fr/web/svg/attribute/fill/index.html new file mode 100644 index 0000000000..7b5682cd92 --- /dev/null +++ b/files/fr/web/svg/attribute/fill/index.html @@ -0,0 +1,453 @@ +--- +title: fill +slug: Web/SVG/Attribute/fill +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/fill +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>fill</code></strong> a deux significations différentes: 1. pour les formes et le texte, il définit le remplissage (<em>couleur, dégradé, motif, etc</em>); 2. pour les animations, il définit l'état final.</p> + +<p>Cet attribut peut être appliqué à tous les éléments, en revanche il n'aura d'effet que sur les formes suivantes: {{SVGElement('altGlyph')}}, {{SVGElement('circle')}}, {{SVGElement('ellipse')}}, {{SVGElement('path')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('rect')}}, {{SVGElement('text')}}, {{SVGElement('textPath')}}, {{SVGElement('tref')}}, et {{SVGElement('tspan')}}</p> + +<p>Pour les animations, il s'applique à cinq éléments: {{SVGElement('animate')}}, {{SVGElement('animateColor')}}, {{SVGElement('animateMotion')}}, {{SVGElement('animateTransform')}}, et {{SVGElement('set')}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 300 100" xmlns="http://www.w3.org/2000/svg"> + <!-- Remplir avec une simple couleur --> + <circle cx="50" cy="50" r="40" fill="pink" /> + + <!-- Remplir avec un dégradé --> + <defs> + <radialGradient id="myGradient"> + <stop offset="0%" stop-color="pink" /> + <stop offset="100%" stop-color="black" /> + </radialGradient> + </defs> + <circle cx="150" cy="50" r="40" fill="url(#myGradient)" /> + + <!-- Définit l'état final d'un cercle animé --> + <circle cx="250" cy="50" r="20"> + <animate attributeType="XML" + attributeName="r" + from="0" to="40" dur="5s" + fill="freeze" /> + </circle> +</svg> +</pre> + +<p>{{EmbedLiveSample('topExample', '100%', 200)}}</p> +</div> + +<h2 id="altGlyph">altGlyph</h2> + +<p class="warning"><strong>Attention:</strong> {{SVGElement('altGlyph')}} est déprécié en SVG2 et ne devrait pas être utilisé.</p> + +<p>Pour {{SVGElement('altGlyph')}}, <code>fill</code> est un attribut de présentation qui définit la couleur du glyphe.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Paint"><paint></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>black</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> <code>fill</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<h2 id="animate">animate</h2> + +<p>Pour {{SVGElement('animate')}}, <code>fill</code> définit l'état final de l'animation.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><code>freeze</code> (<em>Conserver la dernière image de l'animation</em>) | <code>remove</code> (<em>Conserver la première image de l'animation</em>)</td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>remove</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Non</td> + </tr> + </tbody> +</table> + +<h2 id="animateColor">animateColor</h2> + +<p class="warning"><strong>Attention:</strong> {{SVGElement('animateColor')}} est déprécié en SVG2 et ne devrait pas être utilisé. Utiliser {{SVGElement('animate')}} à la place.</p> + +<p>Pour {{SVGElement('animateColor')}}, <code>fill</code> définit l'état final de l'animation.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><code>freeze</code> (<em>Conserver la dernière image de l'animation</em>) | <code>remove</code> (<em>Conserver la première image de l'animation</em>)</td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>remove</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Non</td> + </tr> + </tbody> +</table> + +<h2 id="animateMotion">animateMotion</h2> + +<p>Pour {{SVGElement('animateMotion')}}, <code>fill</code> définit l'état final de l'animation.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><code>freeze</code> (<em>Conserver la dernière image de l'animation</em>) | <code>remove</code> (<em>Conserver la première image de l'animation</em>)</td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>remove</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Non</td> + </tr> + </tbody> +</table> + +<h2 id="animateTransform">animateTransform</h2> + +<p>Pour {{SVGElement('animateTransform')}}, <code>fill</code> définit l'état final de l'animation.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><code>freeze</code> (<em>Conserver la dernière image de l'animation</em>) | <code>remove</code> (<em>Conserver la première image de l'animation</em>)</td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>remove</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Non</td> + </tr> + </tbody> +</table> + +<h2 id="circle">circle</h2> + +<p>Pour {{SVGElement('circle')}}, <code>fill</code> est un attribut de présentation qui définit la couleur de remplissage du cercle.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Paint"><paint></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>black</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> <code>fill</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<h2 id="ellipse">ellipse</h2> + +<p>Pour {{SVGElement('ellipse')}}, <code>fill</code> est un attribut de présentation qui définit la couleur de remplissage du cercle.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Paint"><paint></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>black</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> <code>fill</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<h2 id="path">path</h2> + +<p>Pour {{SVGElement('path')}}, <code>fill</code> est un attribut de présentation qui définit la couleur de remplissage de la forme. (<em>Intérieur définit par l'attribut {{SVGAttr('fill-rule')}}</em>)</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Paint"><paint></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>black</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> <code>fill</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<h2 id="polygon">polygon</h2> + +<p>Pour {{SVGElement('polygon')}}, <code>fill</code> est un attribut de présentation qui définit la couleur de remplissage de la forme. (<em>Intérieur définit par l'attribut {{SVGAttr('fill-rule')}}</em>)</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Paint"><paint></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>black</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> <code>fill</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<h2 id="polyline">polyline</h2> + +<p>For {{SVGElement('polyline')}}, <code>fill</code> est un attribut de présentation qui définit la couleur de remplissage de la forme. (<em>Intérieur définit par l'attribut {{SVGAttr('fill-rule')}}</em>)</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Paint"><paint></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>black</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> <code>fill</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<h2 id="rect">rect</h2> + +<p>Pour {{SVGElement('rect')}}, <code>fill</code> est un attribut de présentation qui définit la couleur de remplissage du rectangle.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Paint"><paint></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>black</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> <code>fill</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<h2 id="set">set</h2> + +<p>Pour {{SVGElement('set')}}, <code>fill</code> définit l'état final de l'animation.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><code>freeze</code> (<em>Conserver la dernière image de l'animation</em>) | <code>remove</code> (<em>Conserver la première image de l'animation</em>)</td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>remove</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Non</td> + </tr> + </tbody> +</table> + +<h2 id="text">text</h2> + +<p>Pour {{SVGElement('text')}}, <code>fill</code> est un attribut de présentation qui définit la couleur du texte.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Paint"><paint></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>black</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> <code>fill</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<h2 id="textPath">textPath</h2> + +<p>Pour {{SVGElement('textPath')}}, <code>fill</code> est un attribut de présentation qui définit la couleur du texte.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Paint"><paint></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>black</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> <code>fill</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<h2 id="tref">tref</h2> + +<p class="warning"><strong>Attention:</strong> {{SVGElement('tref')}} est déprécié en SVG2 et ne devrait pas être utilisé.</p> + +<p>Pour {{SVGElement('tref')}}, <code>fill</code> est un attribut de présentation qui définit la couleur du texte.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Paint"><paint></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>black</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> <code>fill</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<h2 id="tspan">tspan</h2> + +<p>Pour {{SVGElement('tspan')}}, <code>fill</code> est un attribut de présentation qui définit la couleur du texte.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Paint"><paint></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>black</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> <code>fill</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG Animations 2", "#FillAttribute", "transform")}}</td> + <td>{{Spec2("SVG Animations 2")}}</td> + <td>Définition pour les animations.</td> + </tr> + <tr> + <td>{{SpecName("SVG2", "painting.html#FillProperty", "fill")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour les formes et le texte.<br> + Ajoute <code style="white-space: nowrap;">context-fill</code> et <code style="white-space: nowrap;">context-stroke</code>.</td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "animate.html#FillAttribute", "fill")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour les animations.</td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "painting.html#FillProperty", "fill")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour les formes et le texte.</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_Compatibility" name="Browser_Compatibility">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.presentation.fill")}}</p> + +<p class="note"><strong>Note:</strong> Pour plus d'informations sur les valeurs de <code style="white-space: nowrap;">context-fill</code> (et <code style="white-space: nowrap;">context-stroke</code>) dans des documents HTML, voir la documentation pour la propriété non-standard <span style="white-space: nowrap;">{{cssxref("-moz-context-properties")}}</span>.</p> diff --git a/files/fr/web/svg/attribute/height/index.html b/files/fr/web/svg/attribute/height/index.html new file mode 100644 index 0000000000..848ac09f35 --- /dev/null +++ b/files/fr/web/svg/attribute/height/index.html @@ -0,0 +1,71 @@ +--- +title: Height +slug: Web/SVG/Attribute/height +tags: + - Attribut SVG + - SVG +translation_of: Web/SVG/Attribute/height +--- +<p>« <a href="/en/SVG/Attribute" title="en/SVG/Attribute">SVG Attribute reference home</a></p> + +<p>Cet attribut indique une dimension verticale <code><length></code> dans le système de coordonnées. La donnée (ou coordonnée) définie par cet attribut dépend de l'élément sur lequel il est appliqué. La plupart du temps, il représente la hauteur de la région rectangulaire composant l'élément (voir les exceptions dans la documentation pour chaque type d'élément).</p> + +<p>Cet attribut doit être spécifié, hormis pour les éléments {{ SVGElement("svg") }} dont la valeur par défaut est de 100% et {{ SVGElement("mask") }} dont la valeur par défaut est de 120%.</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><a href="/en/SVG/Content_type#Length" title="https://developer.mozilla.org/en/SVG/Content_type#Length"><length></a></td> + </tr> + <tr> + <th scope="row">Animable</th> + <td>Oui</td> + </tr> + <tr> + <th scope="row">Documents normatif</th> + <td><a class="external" href="http://www.w3.org/TR/SVG/extend.html#ForeignObjectElementHeightAttribute" title="http://www.w3.org/TR/SVG/extend.html#ForeignObjectElementHeightAttribute">SVG 1.1 (2nd Edition): foreignObject element</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/struct.html#ImageElementHeightAttribute" title="http://www.w3.org/TR/SVG/struct.html#ImageElementHeightAttribute">SVG 1.1 (2nd Edition): image element</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/pservers.html#PatternElementHeightAttribute" title="http://www.w3.org/TR/SVG/pservers.html#PatternElementHeightAttribute">SVG 1.1 (2nd Edition): pattern element</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/shapes.html#RectElementHeightAttribute" title="http://www.w3.org/TR/SVG/shapes.html#RectElementHeightAttribute">SVG 1.1 (2nd Edition): rect element</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/struct.html#SVGElementHeightAttribute" title="http://www.w3.org/TR/SVG/struct.html#SVGElementHeightAttribute">SVG 1.1 (2nd Edition): svg element</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/struct.html#UseElementHeightAttribute" title="http://www.w3.org/TR/SVG/struct.html#UseElementHeightAttribute">SVG 1.1 (2nd Edition): use element</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveHeightAttribute" title="http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveHeightAttribute">SVG 1.1 (2nd Edition): Filter primitive</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/masking.html#MaskElementHeightAttribute" title="http://www.w3.org/TR/SVG/masking.html#MaskElementHeightAttribute">SVG 1.1 (2nd Edition): mask element</a></td> + </tr> + </tbody> +</table> + +<p>{{ page("fr/docs/Web/SVG/Content_type","Length") }}</p> + +<h2 id="Exemple">Exemple</h2> + +<pre class="brush: xml line-numbers language-xml"><code class="language-xml"><span class="prolog token"><?xml version="1.0"?></span> +<span class="tag token"><span class="tag token"><span class="punctuation token"><</span>svg</span> <span class="attr-name token">width</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>120<span class="punctuation token">"</span></span> <span class="attr-name token">height</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>120<span class="punctuation token">"</span></span> + <span class="attr-name token">viewBox</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>0 0 120 120<span class="punctuation token">"</span></span> + <span class="attr-name token">xmlns</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>http://www.w3.org/2000/svg<span class="punctuation token">"</span></span><span class="punctuation token">></span></span> + + <span class="tag token"><span class="tag token"><span class="punctuation token"><</span>rect</span> <span class="attr-name token">x</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>10<span class="punctuation token">"</span></span> <span class="attr-name token">y</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>10<span class="punctuation token">"</span></span> <span class="attr-name token">width</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>100<span class="punctuation token">"</span></span> <span class="attr-name token">height</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>100<span class="punctuation token">"</span></span><span class="punctuation token">/></span></span> +<span class="tag token"><span class="tag token"><span class="punctuation token"></</span>svg</span><span class="punctuation token">></span></span></code></pre> + +<h2 id="Eléments">Eléments</h2> + +<p>Les éléments suivants peuvent utiliser l'attribut <code>height</code> :</p> + +<ul> + <li><a href="/en/SVG/Element#FilterPrimitive" title="en/SVG/Element#FilterPrimitive">Filter primitive elements</a> »</li> + <li>{{ SVGElement("filter") }}</li> + <li>{{ SVGElement("foreignObject") }}</li> + <li>{{ SVGElement("image") }}</li> + <li>{{ SVGElement("pattern") }}</li> + <li>{{ SVGElement("rect") }}</li> + <li>{{ SVGElement("svg") }}</li> + <li>{{ SVGElement("use") }}</li> + <li>{{ SVGElement("mask") }}</li> +</ul> diff --git a/files/fr/web/svg/attribute/in/index.html b/files/fr/web/svg/attribute/in/index.html new file mode 100644 index 0000000000..fbf020b5d7 --- /dev/null +++ b/files/fr/web/svg/attribute/in/index.html @@ -0,0 +1,103 @@ +--- +title: in +slug: Web/SVG/Attribute/in +tags: + - SVG + - SVG Attribute + - SVG Filter +translation_of: Web/SVG/Attribute/in +--- +<p>« <a href="/en/SVG/Attribute" title="en/SVG/Attribute">SVG Attribute reference home</a></p> + +<p>L'attribut <code>in</code> identifie l'entrée pour la primitive de filtre donnée.</p> + +<p>Cet attribut peut prendre pour valeur un des six mots-clés définis ci-dessous ou la valeur d'un attribut {{SVGAttr("result")}} d'une primitive précédente dans le même élément {{SVGElement("filter")}}. Si aucune valeur n'est définit et qu'il s'agit de la première primitive du filtre, alors la valeur par défaut est <code>SourceGraphic</code>. Si aucune valeur n'est définit et qu'il ne s'agit pas de la première primitive, alors la valeur par défaut est le résultat de la primitive précédente.<br> + <br> + Si la même valeur de {{SVGAttr("result")}} apparaît à de multiples endroits dans un élément {{SVGElement("filter")}} donné, c'est la primitive de filtre avec cette valeur de {{SVGAttr("result")}} précédant la primitive en cours qui est la plus proche qui est utilisée.</p> + +<h2 id="Contexte_d'utilisation">Contexte d'utilisation</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Catégories</th> + <td>None</td> + </tr> + <tr> + <th scope="row">Valeur</th> + <td><code>SourceGraphic</code> | <code>SourceAlpha</code> | <code>BackgroundImage</code> | <code>BackgroundAlpha</code> | <code>FillPaint</code> | <code>StrokePaint</code> | <filter-primitive-reference></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + <tr> + <th scope="row">Document normatif</th> + <td><a class="external" href="http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveInAttribute" title="http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveInAttribute">SVG 1.1 (2nd Edition)</a></td> + </tr> + </tbody> +</table> + +<dl> + <dt>SourceGraphic</dt> + <dd>Ce mot-clé désigne l'élément graphique sur lequel s'applique le {{SVGElement("filter")}}.</dd> + <dt>SourceAlpha</dt> + <dd><code>SourceAlpha</code> fonctionne de la même manière que <code>SourceGraphic</code> à la différence près que seul le canal alpha (la transparence) est utilisé.</dd> + <dt>BackgroundImage</dt> + <dd>Ce mot-clé désigne une capture de l'image du document SVG sous la région du filtre au moment où l'élément {{SVGElement("filter")}} a été invoqué.</dd> + <dt>BackgroundAlpha</dt> + <dd>Même principe que <code>BackgroundImage</code> à la différence près que seul le canal alpha est utilisé.</dd> + <dt>FillPaint</dt> + <dd>Ce mot-clé désigné la valeur de la propriété {{SVGAttr("fill")}} sur l'élément cible du filtre. Dans la plupart des cas, <code>FillPaint</code> est uniformément opaque, mais ce n'est pas le cas si la forme est remplit par un dégradé ou un motif qui contient des zones transparentes ou semi-transparentes.</dd> + <dt>StrokePaint</dt> + <dd>Ce mot-clé désigne la valeur de la propriété {{SVGAttr("stroke")}} sur l'élément cible du filtre. Dans la plupart des cas, <code>StrokePaint</code> est uniformément opaque, mais ce n'est pas le cas si la forme est remplit par un dégradé ou un motif qui contient des zones transparentes ou semi-transparentes.</dd> +</dl> + +<h2 id="Contournement_pour_BackgroundImage">Contournement pour BackgroundImage</h2> + +<p>À la place de <code>in="BackgroundImage"</code>, on peut importer une image à fusionner à l'intérieur du filtre avec l'élément <code><feImage></code>.</p> + +<pre class="brush: html"><div style="width: 420px; height: 220px;"> +<svg style="width:200px; height:200px; display: inline;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <filter id="backgroundMultiply"> + <!-- Ça ne marchera pas. --> + <feBlend in="BackgroundImage" in2="SourceGraphic" mode="multiply"/> + </filter> + </defs> + <image xlink:href="https://developer.mozilla.org/files/6457/mdn_logo_only_color.png" x="10%" y="10%" width="80%" height="80%"/> + <circle cx="50%" cy="40%" r="40%" fill="#c00" style="filter:url(#backgroundMultiply);" /> +</svg> + +<svg style="width:200px; height:200px; display: inline;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <filter id="imageMultiply"> + <!-- Solution de contournement. --> + <feImage xlink:href="https://developer.mozilla.org/files/6457/mdn_logo_only_color.png" x="10%" y="10%" width="80%" height="80%"/> + <feBlend in2="SourceGraphic" mode="multiply"/> + </filter> + </defs> + <circle cx="50%" cy="40%" r="40%" fill="#c00" style="filter:url(#imageMultiply);"/> +</svg> +</div></pre> + +<p>{{ EmbedLiveSample('Contournement_pour_BackgroundImage') }}</p> + +<h2 id="Workaround_for_BackgroundImage" name="Workaround_for_BackgroundImage">Éléments</h2> + +<p>Les éléments suivants peuvent utiliser l'attribut <code>in</code>:</p> + +<ul> + <li>{{SVGElement("feBlend")}}</li> + <li>{{SVGElement("feColorMatrix")}}</li> + <li>{{SVGElement("feComponentTransfer")}}</li> + <li>{{SVGElement("feComposite")}}</li> + <li>{{SVGElement("feConvolveMatrix")}}</li> + <li>{{SVGElement("feDiffuseLighting")}}</li> + <li>{{SVGElement("feDisplacementMap")}}</li> + <li>{{SVGElement("feGaussianBlur")}}</li> + <li>{{SVGElement("feMorphology")}}</li> + <li>{{SVGElement("feOffset")}}</li> + <li>{{SVGElement("feSpecularLighting")}}</li> + <li>{{SVGElement("feTile")}}</li> +</ul> diff --git a/files/fr/web/svg/attribute/index.html b/files/fr/web/svg/attribute/index.html new file mode 100644 index 0000000000..87b1834e9c --- /dev/null +++ b/files/fr/web/svg/attribute/index.html @@ -0,0 +1,477 @@ +--- +title: Référence des attributs SVG +slug: Web/SVG/Attribute +tags: + - Landing + - NeedsHelp + - SVG + - SVG Attribute + - SVG Reference + - TopicStub +translation_of: Web/SVG/Attribute +--- +<div>{{SVGRef}}</div> + +<p class="summary"><span class="seoSummary">Les éléments SVG peuvent être modifiés en utilisant des attributs qui spécifient comment les éléments doivent être traités ou présentés.</span> Ci-dessous, la liste de tous les attributs disponibles en SVG ainsi que des liens vers leur documentation pour vous aider à apprendre sur quels éléments ils s'appliquent et comment ils fonctionnent.</p> + +<h2 id="Attributs_SVG_de_A_à_Z">Attributs SVG de A à Z</h2> + +<div class="index"> +<h3 id="A">A</h3> + +<ul> + <li>{{SVGAttr("accent-height")}}</li> + <li>{{SVGAttr("accumulate")}}</li> + <li>{{SVGAttr("additive")}}</li> + <li>{{SVGAttr("alignment-baseline")}}</li> + <li>{{SVGAttr("allowReorder")}}</li> + <li>{{SVGAttr("alphabetic")}}</li> + <li>{{SVGAttr("amplitude")}}</li> + <li>{{SVGAttr("arabic-form")}}</li> + <li>{{SVGAttr("ascent")}}</li> + <li>{{SVGAttr("attributeName")}}</li> + <li>{{SVGAttr("attributeType")}}</li> + <li>{{SVGAttr("autoReverse")}}</li> + <li>{{SVGAttr("azimuth")}}</li> +</ul> + +<h3 id="B">B</h3> + +<ul> + <li>{{SVGAttr("baseFrequency")}}</li> + <li>{{SVGAttr("baseline-shift")}}</li> + <li>{{SVGAttr("baseProfile")}}</li> + <li>{{SVGAttr("bbox")}}</li> + <li>{{SVGAttr("begin")}}</li> + <li>{{SVGAttr("bias")}}</li> + <li>{{SVGAttr("by")}}</li> +</ul> + +<h3 id="C">C</h3> + +<ul> + <li>{{SVGAttr("calcMode")}}</li> + <li>{{SVGAttr("cap-height")}}</li> + <li>{{SVGAttr("class")}}</li> + <li>{{SVGAttr("clip")}}</li> + <li>{{SVGAttr("clipPathUnits")}}</li> + <li>{{SVGAttr("clip-path")}}</li> + <li>{{SVGAttr("clip-rule")}}</li> + <li>{{SVGAttr("color")}}</li> + <li>{{SVGAttr("color-interpolation")}}</li> + <li>{{SVGAttr("color-interpolation-filters")}}</li> + <li>{{SVGAttr("color-profile")}}</li> + <li>{{SVGAttr("color-rendering")}}</li> + <li>{{SVGAttr("contentScriptType")}}</li> + <li>{{SVGAttr("contentStyleType")}}</li> + <li>{{SVGAttr("cursor")}}</li> + <li>{{SVGAttr("cx")}}</li> + <li>{{SVGAttr("cy")}}</li> +</ul> + +<h3 id="D">D</h3> + +<ul> + <li>{{SVGAttr("d")}}</li> + <li>{{SVGAttr("decelerate")}}</li> + <li>{{SVGAttr("descent")}}</li> + <li>{{SVGAttr("diffuseConstant")}}</li> + <li>{{SVGAttr("direction")}}</li> + <li>{{SVGAttr("display")}}</li> + <li>{{SVGAttr("divisor")}}</li> + <li>{{SVGAttr("dominant-baseline")}}</li> + <li>{{SVGAttr("dur")}}</li> + <li>{{SVGAttr("dx")}}</li> + <li>{{SVGAttr("dy")}}</li> +</ul> + +<h3 id="E">E</h3> + +<ul> + <li>{{SVGAttr("edgeMode")}}</li> + <li>{{SVGAttr("elevation")}}</li> + <li>{{SVGAttr("enable-background")}}</li> + <li>{{SVGAttr("end")}}</li> + <li>{{SVGAttr("exponent")}}</li> + <li>{{SVGAttr("externalResourcesRequired")}}</li> +</ul> + +<h3 id="F">F</h3> + +<ul> + <li>{{SVGAttr("fill")}}</li> + <li>{{SVGAttr("fill-opacity")}}</li> + <li>{{SVGAttr("fill-rule")}}</li> + <li>{{SVGAttr("filter")}}</li> + <li>{{SVGAttr("filterRes")}}</li> + <li>{{SVGAttr("filterUnits")}}</li> + <li>{{SVGAttr("flood-color")}}</li> + <li>{{SVGAttr("flood-opacity")}}</li> + <li>{{SVGAttr("font-family")}}</li> + <li>{{SVGAttr("font-size")}}</li> + <li>{{SVGAttr("font-size-adjust")}}</li> + <li>{{SVGAttr("font-stretch")}}</li> + <li>{{SVGAttr("font-style")}}</li> + <li>{{SVGAttr("font-variant")}}</li> + <li>{{SVGAttr("font-weight")}}</li> + <li>{{SVGAttr("format")}}</li> + <li>{{SVGAttr("from")}}</li> + <li>{{SVGAttr("fr")}}</li> + <li>{{SVGAttr("fx")}}</li> + <li>{{SVGAttr("fy")}}</li> +</ul> + +<h3 id="G">G</h3> + +<ul> + <li>{{SVGAttr("g1")}}</li> + <li>{{SVGAttr("g2")}}</li> + <li>{{SVGAttr("glyph-name")}}</li> + <li>{{SVGAttr("glyph-orientation-horizontal")}}</li> + <li>{{SVGAttr("glyph-orientation-vertical")}}</li> + <li>{{SVGAttr("glyphRef")}}</li> + <li>{{SVGAttr("gradientTransform")}}</li> + <li>{{SVGAttr("gradientUnits")}}</li> +</ul> + +<h3 id="H">H</h3> + +<ul> + <li>{{SVGAttr("hanging")}}</li> + <li>{{SVGAttr("height")}}</li> + <li>{{SVGAttr("href")}}</li> + <li>{{SVGAttr("hreflang")}}</li> + <li>{{SVGAttr("horiz-adv-x")}}</li> + <li>{{SVGAttr("horiz-origin-x")}}</li> +</ul> + +<h3 id="I">I</h3> + +<ul> + <li>{{SVGAttr("id")}}</li> + <li>{{SVGAttr("ideographic")}}</li> + <li>{{SVGAttr("image-rendering")}}</li> + <li>{{SVGAttr("in")}}</li> + <li>{{SVGAttr("in2")}}</li> + <li>{{SVGAttr("intercept")}}</li> +</ul> + +<h3 id="K">K</h3> + +<ul> + <li>{{SVGAttr("k")}}</li> + <li>{{SVGAttr("k1")}}</li> + <li>{{SVGAttr("k2")}}</li> + <li>{{SVGAttr("k3")}}</li> + <li>{{SVGAttr("k4")}}</li> + <li>{{SVGAttr("kernelMatrix")}}</li> + <li>{{SVGAttr("kernelUnitLength")}}</li> + <li>{{SVGAttr("kerning")}}</li> + <li>{{SVGAttr("keyPoints")}}</li> + <li>{{SVGAttr("keySplines")}}</li> + <li>{{SVGAttr("keyTimes")}}</li> +</ul> + +<h3 id="L">L</h3> + +<ul> + <li>{{SVGAttr("lang")}}</li> + <li>{{SVGAttr("lengthAdjust")}}</li> + <li>{{SVGAttr("letter-spacing")}}</li> + <li>{{SVGAttr("lighting-color")}}</li> + <li>{{SVGAttr("limitingConeAngle")}}</li> + <li>{{SVGAttr("local")}}</li> +</ul> + +<h3 id="M">M</h3> + +<ul> + <li>{{SVGAttr("marker-end")}}</li> + <li>{{SVGAttr("marker-mid")}}</li> + <li>{{SVGAttr("marker-start")}}</li> + <li>{{SVGAttr("markerHeight")}}</li> + <li>{{SVGAttr("markerUnits")}}</li> + <li>{{SVGAttr("markerWidth")}}</li> + <li>{{SVGAttr("mask")}}</li> + <li>{{SVGAttr("maskContentUnits")}}</li> + <li>{{SVGAttr("maskUnits")}}</li> + <li>{{SVGAttr("mathematical")}}</li> + <li>{{SVGAttr("max")}}</li> + <li>{{SVGAttr("media")}}</li> + <li>{{SVGAttr("method")}}</li> + <li>{{SVGAttr("min")}}</li> + <li>{{SVGAttr("mode")}}</li> +</ul> + +<h3 id="N">N</h3> + +<ul> + <li>{{SVGAttr("name")}}</li> + <li>{{SVGAttr("numOctaves")}}</li> +</ul> + +<h3 id="O">O</h3> + +<ul> + <li>{{SVGAttr("offset")}}</li> + <li>{{SVGAttr("opacity")}}</li> + <li>{{SVGAttr("operator")}}</li> + <li>{{SVGAttr("order")}}</li> + <li>{{SVGAttr("orient")}}</li> + <li>{{SVGAttr("orientation")}}</li> + <li>{{SVGAttr("origin")}}</li> + <li>{{SVGAttr("overflow")}}</li> + <li>{{SVGAttr("overline-position")}}</li> + <li>{{SVGAttr("overline-thickness")}}</li> +</ul> + +<h3 id="P">P</h3> + +<ul> + <li>{{SVGAttr("panose-1")}}</li> + <li>{{SVGAttr("paint-order")}}</li> + <li>{{SVGAttr("path")}}</li> + <li>{{SVGAttr("pathLength")}}</li> + <li>{{SVGAttr("patternContentUnits")}}</li> + <li>{{SVGAttr("patternTransform")}}</li> + <li>{{SVGAttr("patternUnits")}}</li> + <li>{{SVGAttr("ping")}}</li> + <li>{{SVGAttr("pointer-events")}}</li> + <li>{{SVGAttr("points")}}</li> + <li>{{SVGAttr("pointsAtX")}}</li> + <li>{{SVGAttr("pointsAtY")}}</li> + <li>{{SVGAttr("pointsAtZ")}}</li> + <li>{{SVGAttr("preserveAlpha")}}</li> + <li>{{SVGAttr("preserveAspectRatio")}}</li> + <li>{{SVGAttr("primitiveUnits")}}</li> +</ul> + +<h3 id="R">R</h3> + +<ul> + <li>{{SVGAttr("r")}}</li> + <li>{{SVGAttr("radius")}}</li> + <li>{{SVGAttr("referrerPolicy")}}</li> + <li>{{SVGAttr("refX")}}</li> + <li>{{SVGAttr("refY")}}</li> + <li>{{SVGAttr("rel")}}</li> + <li>{{SVGAttr("rendering-intent")}}</li> + <li>{{SVGAttr("repeatCount")}}</li> + <li>{{SVGAttr("repeatDur")}}</li> + <li>{{SVGAttr("requiredExtensions")}}</li> + <li>{{SVGAttr("requiredFeatures")}}</li> + <li>{{SVGAttr("restart")}}</li> + <li>{{SVGAttr("result")}}</li> + <li>{{SVGAttr("rotate")}}</li> + <li>{{SVGAttr("rx")}}</li> + <li>{{SVGAttr("ry")}}</li> +</ul> + +<h3 id="S">S</h3> + +<ul> + <li>{{SVGAttr("scale")}}</li> + <li>{{SVGAttr("seed")}}</li> + <li>{{SVGAttr("shape-rendering")}}</li> + <li>{{SVGAttr("slope")}}</li> + <li>{{SVGAttr("spacing")}}</li> + <li>{{SVGAttr("specularConstant")}}</li> + <li>{{SVGAttr("specularExponent")}}</li> + <li>{{SVGAttr("speed")}}</li> + <li>{{SVGAttr("spreadMethod")}}</li> + <li>{{SVGAttr("startOffset")}}</li> + <li>{{SVGAttr("stdDeviation")}}</li> + <li>{{SVGAttr("stemh")}}</li> + <li>{{SVGAttr("stemv")}}</li> + <li>{{SVGAttr("stitchTiles")}}</li> + <li>{{SVGAttr("stop-color")}}</li> + <li>{{SVGAttr("stop-opacity")}}</li> + <li>{{SVGAttr("strikethrough-position")}}</li> + <li>{{SVGAttr("strikethrough-thickness")}}</li> + <li>{{SVGAttr("string")}}</li> + <li>{{SVGAttr("stroke")}}</li> + <li>{{SVGAttr("stroke-dasharray")}}</li> + <li>{{SVGAttr("stroke-dashoffset")}}</li> + <li>{{SVGAttr("stroke-linecap")}}</li> + <li>{{SVGAttr("stroke-linejoin")}}</li> + <li>{{SVGAttr("stroke-miterlimit")}}</li> + <li>{{SVGAttr("stroke-opacity")}}</li> + <li>{{SVGAttr("stroke-width")}}</li> + <li>{{SVGAttr("style")}}</li> + <li>{{SVGAttr("surfaceScale")}}</li> + <li>{{SVGAttr("systemLanguage")}}</li> +</ul> + +<h3 id="T">T</h3> + +<ul> + <li>{{SVGAttr("tabindex")}}</li> + <li>{{SVGAttr("tableValues")}}</li> + <li>{{SVGAttr("target")}}</li> + <li>{{SVGAttr("targetX")}}</li> + <li>{{SVGAttr("targetY")}}</li> + <li>{{SVGAttr("text-anchor")}}</li> + <li>{{SVGAttr("text-decoration")}}</li> + <li>{{SVGAttr("text-rendering")}}</li> + <li>{{SVGAttr("textLength")}}</li> + <li>{{SVGAttr("to")}}</li> + <li>{{SVGAttr("transform")}}</li> + <li>{{SVGAttr("type")}}</li> +</ul> + +<h3 id="U">U</h3> + +<ul> + <li>{{SVGAttr("u1")}}</li> + <li>{{SVGAttr("u2")}}</li> + <li>{{SVGAttr("underline-position")}}</li> + <li>{{SVGAttr("underline-thickness")}}</li> + <li>{{SVGAttr("unicode")}}</li> + <li>{{SVGAttr("unicode-bidi")}}</li> + <li>{{SVGAttr("unicode-range")}}</li> + <li>{{SVGAttr("units-per-em")}}</li> +</ul> + +<h3 id="V">V</h3> + +<ul> + <li>{{SVGAttr("v-alphabetic")}}</li> + <li>{{SVGAttr("v-hanging")}}</li> + <li>{{SVGAttr("v-ideographic")}}</li> + <li>{{SVGAttr("v-mathematical")}}</li> + <li>{{SVGAttr("values")}}</li> + <li>{{SVGAttr("vector-effect")}}</li> + <li>{{SVGAttr("version")}}</li> + <li>{{SVGAttr("vert-adv-y")}}</li> + <li>{{SVGAttr("vert-origin-x")}}</li> + <li>{{SVGAttr("vert-origin-y")}}</li> + <li>{{SVGAttr("viewBox")}}</li> + <li>{{SVGAttr("viewTarget")}}</li> + <li>{{SVGAttr("visibility")}}</li> +</ul> + +<h3 id="W">W</h3> + +<ul> + <li>{{SVGAttr("width")}}</li> + <li>{{SVGAttr("widths")}}</li> + <li>{{SVGAttr("word-spacing")}}</li> + <li>{{SVGAttr("writing-mode")}}</li> +</ul> + +<h3 id="X">X</h3> + +<ul> + <li>{{SVGAttr("x")}}</li> + <li>{{SVGAttr("x-height")}}</li> + <li>{{SVGAttr("x1")}}</li> + <li>{{SVGAttr("x2")}}</li> + <li>{{SVGAttr("xChannelSelector")}}</li> + <li>{{SVGAttr("xlink:actuate")}}</li> + <li>{{SVGAttr("xlink:arcrole")}}</li> + <li>{{SVGAttr("xlink:href")}}</li> + <li>{{SVGAttr("xlink:role")}}</li> + <li>{{SVGAttr("xlink:show")}}</li> + <li>{{SVGAttr("xlink:title")}}</li> + <li>{{SVGAttr("xlink:type")}}</li> + <li>{{SVGAttr("xml:base")}}</li> + <li>{{SVGAttr("xml:lang")}}</li> + <li>{{SVGAttr("xml:space")}}</li> +</ul> + +<h3 id="Y">Y</h3> + +<ul> + <li>{{SVGAttr("y")}}</li> + <li>{{SVGAttr("y1")}}</li> + <li>{{SVGAttr("y2")}}</li> + <li>{{SVGAttr("yChannelSelector")}}</li> +</ul> + +<h3 id="Z">Z</h3> + +<ul> + <li>{{SVGAttr("z")}}</li> + <li>{{SVGAttr("zoomAndPan")}}</li> +</ul> +</div> + +<h2 id="Attributs_SVG_par_catégorie">Attributs SVG par catégorie</h2> + +<h3 id="Attributs_Génériques">Attributs Génériques</h3> + +<h4 id="Attributs_de_base"><a href="/fr/docs/Web/SVG/Attribute/Core">Attributs de base</a></h4> + +<p>{{SVGAttr("id")}}, {{SVGAttr("lang")}}, {{SVGAttr("tabindex")}}, {{SVGAttr("xml:base")}}, {{SVGAttr("xml:lang")}}, {{SVGAttr("xml:space")}}</p> + +<h4 id="Attributs_de_style"><a href="/fr/docs/Web/SVG/Attribute/Styling">Attributs de style</a></h4> + +<p>{{SVGAttr("class")}}, {{SVGAttr("style")}}</p> + +<h4 id="Attributs_de_traitement_conditionnel">Attributs de traitement conditionnel</h4> + +<p>{{SVGAttr("externalResourcesRequired")}}, {{SVGAttr("requiredExtensions")}}, {{SVGAttr("requiredFeatures")}}, {{SVGAttr("systemLanguage")}}.</p> + +<h3 id="Attributs_XLink">Attributs XLink</h3> + +<p>{{SVGAttr("xlink:href")}}, {{SVGAttr("xlink:type")}}, {{SVGAttr("xlink:role")}}, {{SVGAttr("xlink:arcrole")}}, {{SVGAttr("xlink:title")}}, {{SVGAttr("xlink:show")}}, {{SVGAttr("xlink:actuate")}}</p> + +<h3 id="Attributs_de_présentation"><a href="/fr/docs/Web/SVG/Attribute/Presentation">Attributs de présentation</a></h3> + +<div class="note">Notez que tous les attributs SVG de présentation peuvent être utilisés comme propriété CSS.</div> + +<p>{{SVGAttr("alignment-baseline")}}, {{SVGAttr("baseline-shift")}}, {{SVGAttr("clip")}}, {{SVGAttr("clip-path")}}, {{SVGAttr("clip-rule")}}, {{SVGAttr("color")}}, {{SVGAttr("color-interpolation")}}, {{SVGAttr("color-interpolation-filters")}}, {{SVGAttr("color-profile")}}, {{SVGAttr("color-rendering")}}, {{SVGAttr("cursor")}}, {{SVGAttr("direction")}}, {{SVGAttr("display")}}, {{SVGAttr("dominant-baseline")}}, {{SVGAttr("enable-background")}}, {{SVGAttr("fill")}}, {{SVGAttr("fill-opacity")}}, {{SVGAttr("fill-rule")}}, {{SVGAttr("filter")}}, {{SVGAttr("flood-color")}}, {{SVGAttr("flood-opacity")}}, {{SVGAttr("font-family")}}, {{SVGAttr("font-size")}}, {{SVGAttr("font-size-adjust")}}, {{SVGAttr("font-stretch")}}, {{SVGAttr("font-style")}}, {{SVGAttr("font-variant")}}, {{SVGAttr("font-weight")}}, {{SVGAttr("glyph-orientation-horizontal")}}, {{SVGAttr("glyph-orientation-vertical")}}, {{SVGAttr("image-rendering")}}, {{SVGAttr("kerning")}}, {{SVGAttr("letter-spacing")}}, {{SVGAttr("lighting-color")}}, {{SVGAttr("marker-end")}}, {{SVGAttr("marker-mid")}}, {{SVGAttr("marker-start")}}, {{SVGAttr("mask")}}, {{SVGAttr("opacity")}}, {{SVGAttr("overflow")}}, {{SVGAttr("pointer-events")}}, {{SVGAttr("shape-rendering")}}, {{SVGAttr("stop-color")}}, {{SVGAttr("stop-opacity")}}, {{SVGAttr("stroke")}}, {{SVGAttr("stroke-dasharray")}}, {{SVGAttr("stroke-dashoffset")}}, {{SVGAttr("stroke-linecap")}}, {{SVGAttr("stroke-linejoin")}}, {{SVGAttr("stroke-miterlimit")}}, {{SVGAttr("stroke-opacity")}}, {{SVGAttr("stroke-width")}}, {{SVGAttr("text-anchor")}}, {{SVGAttr("transform")}}, {{SVGAttr("text-decoration")}}, {{SVGAttr("text-rendering")}}, {{SVGAttr("unicode-bidi")}}, {{SVGAttr("vector-effect")}}, {{SVGAttr("visibility")}}, {{SVGAttr("word-spacing")}}, {{SVGAttr("writing-mode")}}</p> + +<h3 id="Attributs_de_filtres">Attributs de filtres</h3> + +<h4 id="Attributs_de_primitives_de_filtre">Attributs de primitives de filtre</h4> + +<p>{{SVGAttr("height")}}, {{SVGAttr("result")}}, {{SVGAttr("width")}}, {{SVGAttr("x")}}, {{SVGAttr("y")}}</p> + +<h4 id="Attributs_de_fonction_de_transfert">Attributs de fonction de transfert</h4> + +<p>{{SVGAttr("type")}}, {{SVGAttr("tableValues")}}, {{SVGAttr("slope")}}, {{SVGAttr("intercept")}}, {{SVGAttr("amplitude")}}, {{SVGAttr("exponent")}}, {{SVGAttr("offset")}}</p> + +<h3 id="Attributs_d'animation">Attributs d'animation</h3> + +<h4 id="Animation_cible">Animation cible</h4> + +<p>{{SVGAttr("attributeType")}}, {{SVGAttr("attributeName")}}</p> + +<h4 id="Timing_de_l'animation">Timing de l'animation</h4> + +<p>{{SVGAttr("begin")}}, {{SVGAttr("dur")}}, {{SVGAttr("end")}}, {{SVGAttr("min")}}, {{SVGAttr("max")}}, {{SVGAttr("restart")}}, {{SVGAttr("repeatCount")}}, {{SVGAttr("repeatDur")}}, {{SVGAttr("fill")}}</p> + +<h4 id="Valeurs_de_l'animation">Valeurs de l'animation</h4> + +<p>{{SVGAttr("calcMode")}}, {{SVGAttr("values")}}, {{SVGAttr("keyTimes")}}, {{SVGAttr("keySplines")}}, {{SVGAttr("from")}}, {{SVGAttr("to")}}, {{SVGAttr("by")}}, {{SVGAttr("autoReverse")}}, {{SVGAttr("accelerate")}}, {{SVGAttr("decelerate")}}</p> + +<h4 id="Addition_de_l'animation">Addition de l'animation</h4> + +<p>{{SVGAttr("additive")}}, {{SVGAttr("accumulate")}}</p> + +<h3 id="Attributs_d'événement">Attributs d'événement</h3> + +<h4 id="Événements_d'animation"><a href="/fr/docs/Web/SVG/Attribute/Events#Animation_Event_Attributes">Événements d'animation</a></h4> + +<p><strong><code>onbegin</code></strong>, <strong><code>onend</code></strong>, <strong><code>onrepeat</code></strong></p> + +<h4 id="Événements_du_document"><a href="/fr/docs/Web/SVG/Attribute/Events#Document_Event_Attributes">Événements du document</a></h4> + +<p><strong><code>onabort</code></strong>, <strong><code>onerror</code></strong>, <strong><code>onresize</code></strong>, <strong><code>onscroll</code></strong>, <strong><code>onunload</code></strong></p> + +<h4 id="Événements_globaux"><a href="/fr/docs/Web/SVG/Attribute/Events#Global_Event_Attributes">Événements globaux</a></h4> + +<p><code><strong>oncancel</strong></code>, <code><strong>oncanplay</strong></code>, <code><strong>oncanplaythrough</strong></code>, <code><strong>onchange</strong></code>, <code><strong>onclick</strong></code>, <code><strong>onclose</strong></code>, <code><strong>oncuechange</strong></code>, <code><strong>ondblclick</strong></code>, <code><strong>ondrag</strong></code>, <code><strong>ondragend</strong></code>, <code><strong>ondragenter</strong></code>, <code><strong>ondragexit</strong></code>, <code><strong>ondragleave</strong></code>, <code><strong>ondragover</strong></code>, <code><strong>ondragstart</strong></code>, <code><strong>ondrop</strong></code>, <code><strong>ondurationchange</strong></code>, <code><strong>onemptied</strong></code>, <code><strong>onended</strong></code>, <code><strong>onerror</strong></code>, <code><strong>onfocus</strong></code>, <code><strong>oninput</strong></code>, <code><strong>oninvalid</strong></code>, <code><strong>onkeydown</strong></code>, <code><strong>onkeypress</strong></code>, <code><strong>onkeyup</strong></code>, <code><strong>onload</strong></code>, <code><strong>onloadeddata</strong></code>, <code><strong>onloadedmetadata</strong></code>, <code><strong>onloadstart</strong></code>, <code><strong>onmousedown</strong></code>, <code><strong>onmouseenter</strong></code>, <code><strong>onmouseleave</strong></code>, <code><strong>onmousemove</strong></code>, <code><strong>onmouseout</strong></code>, <code><strong>onmouseover</strong></code>, <code><strong>onmouseup</strong></code>, <code><strong>onmousewheel</strong></code>, <code><strong>onpause</strong></code>, <code><strong>onplay</strong></code>, <code><strong>onplaying</strong></code>, <code><strong>onprogress</strong></code>, <code><strong>onratechange</strong></code>, <code><strong>onreset</strong></code>, <code><strong>onresize</strong></code>, <code><strong>onscroll</strong></code>, <code><strong>onseeked</strong></code>, <code><strong>onseeking</strong></code>, <code><strong>onselect</strong></code>, <code><strong>onshow</strong></code>, <code><strong>onstalled</strong></code>, <code><strong>onsubmit</strong></code>, <code><strong>onsuspend</strong></code>, <code><strong>ontimeupdate</strong></code>, <code><strong>ontoggle</strong></code>, <code><strong>onvolumechange</strong></code>, <code><strong>onwaiting</strong></code></p> + +<h4 id="Événement_graphiques"><a href="/docs/Web/SVG/Attribute/Events#Graphical_Event_Attributes">Événement graphiques</a></h4> + +<p><strong><code>onactivate</code></strong>, <strong><code>onfocusin</code></strong>, <strong><code>onfocusout</code></strong></p> + +<h2 id="Voir_aussi">Voir aussi</h2> + +<ul> + <li><a href="/fr/docs/Web/SVG/Element">Référence des éléments SVG</a></li> + <li><a href="/fr/docs/Web/SVG/Tutoriel">Tutoriel SVG</a></li> + <li><a href="/fr/docs/Web/API/Document_Object_Model#Interfaces_SVG">Références des interfaces SVG</a></li> +</ul> diff --git a/files/fr/web/svg/attribute/mask/index.html b/files/fr/web/svg/attribute/mask/index.html new file mode 100644 index 0000000000..a3145cc508 --- /dev/null +++ b/files/fr/web/svg/attribute/mask/index.html @@ -0,0 +1,86 @@ +--- +title: mask +slug: Web/SVG/Attribute/mask +translation_of: Web/SVG/Attribute/mask +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <code>mask</code> est un attribut de présentation principalement utilisé pour appliquer un trou (défini par un élément {{ SVGElement("mask") }}) sur l'élément qui possède cet attribut.</p> + +<p class="note"><strong>Note:</strong> On peut aussi utiliser l'attribut {{cssxref('mask')}} en CSS.</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 200 100" xmlns="http://www.w3.org/2000/svg"> + <mask id="monMask" maskContentUnits="objectBoundingBox"> + <rect fill="white" x="0" y="0" width="100%" height="100%" /> + <polygon fill="black" points="0.5,0.2 0.68,0.74 0.21,0.41 0.79,0.41 0.32,0.74" /> + </mask> + + <!-- Fait un trou de la forme d'une étoile sur le cercle rouge, + ce qui laisse apparaître le cercle jaune situé dessous. --> + <circle cx="50" cy="50" r="20" fill="yellow" /> + <circle cx="50" cy="50" r="45" fill="red" + mask="url(#monMask)"/> +</svg></pre> + +<p>{{EmbedLiveSample('topExample', '100%', 150)}}</p> +</div> + +<p>Depuis SVG2, l'attribut {{cssxref('mask')}} est défini comme une propriété CSS et comme une propriété raccourcie pour beaucoup d'autres propriétés: {{cssxref('mask-image')}}, {{cssxref('mask-mode')}}, {{cssxref('mask-repeat')}}, {{cssxref('mask-position')}}, {{cssxref('mask-clip')}}, {{cssxref('mask-origin')}}, {{cssxref('mask-size')}} et {{cssxref('mask-composite')}}.</p> + +<p>Étant un attribut de présentation, il peut être appliqué sur n'importe quel élément, mais il a un effet visible surtout sur les éléments suivants: {{SVGElement('a')}}, {{SVGElement('circle')}}, {{SVGElement('clipPath')}}, {{SVGElement('ellipse')}}, {{SVGElement('g')}}, {{SVGElement('glyph')}}, {{SVGElement('image')}}, {{SVGElement('line')}}, {{SVGElement('marker')}}, {{SVGElement('mask')}}, {{SVGElement('path')}}, {{SVGElement('pattern')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('rect')}}, {{SVGElement('svg')}}, {{SVGElement('symbol')}}, {{SVGElement('text')}} et {{SVGElement('use')}}.</p> + +<h2 id="Contexte_d'utilisation">Contexte d'utilisation</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td>Voir la propriété CSS {{cssxref('mask')}}</td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>none</code></td> + </tr> + <tr> + <th scope="row">Animable</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_Compatibility" name="Browser_Compatibility">Compatibilité des navigateurs</h2> + + + +<p>{{Compat("svg.attributes.presentation.mask")}}</p> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Status</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("CSS Masks", "#the-mask", 'mask')}}</td> + <td>{{Spec2("CSS Masks")}}</td> + <td> + <p>Étend cet usage pour les éléments HTML en créant un raccourci pour les nouvelles propriétés <code>mask-*</code> défini dans cette spécification.</p> + </td> + </tr> + <tr> + <td>{{SpecName('SVG1.1', 'masking.html#MaskProperty', 'mask')}}</td> + <td>{{Spec2('SVG1.1')}}</td> + <td>Définition initiale</td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/points/index.html b/files/fr/web/svg/attribute/points/index.html new file mode 100644 index 0000000000..7c78fd2030 --- /dev/null +++ b/files/fr/web/svg/attribute/points/index.html @@ -0,0 +1,142 @@ +--- +title: points +slug: Web/SVG/Attribute/points +translation_of: Web/SVG/Attribute/points +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <code><strong>point</strong></code> défini une liste de points. Chaque point est défini par deux nombres représentant les coordonnées X et Y dans le système de coordonnées de l'utilisateur. Si une coordonnées est dépareillée elle sera ignorée.</p> + +<p>Les éléments {{SVGElement("polyline")}} et {{SVGElement("polygon")}} utilisent cet attribut.</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="-10 -10 220 120" xmlns="http://www.w3.org/2000/svg"> + <!-- polyline est une forme ouverte --> + <polyline stroke="black" fill="none" + points="50,0 21,90 98,35 2,35 79,90"/> + + <!-- polygon est une forme fermée --> + <polygon stroke="black" fill="none" transform="translate(100,0)" + points="50,0 21,90 98,35 2,35 79,90"/> + + <!-- + Il est généralement recommendé de séparer les valeurs X et Y + avec une virgule et les coordonées avec des espaces. + Cela est plus lisible. + --> +</svg></pre> + +<p>{{EmbedLiveSample('topExample', '100%', 200)}}</p> +</div> + +<h2 id="polyline">polyline</h2> + +<p>Pour un élément {{SVGElement('polyline')}}, <code>points</code> défini une liste de point, chaqu'un représente le vecteur pour tracer la ligne. Chaque point est défini par X et Y dans le système de coordonées de l'utilisateur.</p> + +<p class="note"><strong>Remarque:</strong> Un polygone est une forme ouverte, ce qui implique que le dernier point n'est pas connecté au premier point.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td>[ {{cssxref("number")}}+ ]#</td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><em>aucune</em></td> + </tr> + <tr> + <th scope="row">Peut être animé</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h3 id="Exemple">Exemple</h3> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="-10 -10 120 120" xmlns="http://www.w3.org/2000/svg"> + <!-- polyline est une forme ouverte --> + <polyline stroke="black" fill="none" + points="50,0 21,90 98,35 2,35 79,90"/> +</svg></pre> + +<p>{{EmbedLiveSample('polyline', '100%', 200)}}</p> + +<h2 id="polygon">polygon</h2> + +<p>Pour un élément {{SVGElement('polyline')}}, <code>points</code> défini une liste de point, chaqu'un représente le vecteur pour tracer la ligne. Chaque point est défini par X et Y dans le système de coordonées de l'utilisateur.</p> + +<p class="note"><strong>Remarque:</strong> Un polygone est une forme fermée, ce qui implique que le dernier point est connecté au premier.</p> + +<table class="properties"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td>[ {{cssxref("number")}}+ ]#</td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><em>aucune</em></td> + </tr> + <tr> + <th scope="row">Peut être animé</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h3 id="Example">Example</h3> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="-10 -10 120 120" xmlns="http://www.w3.org/2000/svg"> + <!-- polygon est une forme fermée --> + <polygon stroke="black" fill="none" + points="50,0 21,90 98,35 2,35 79,90" /> +</svg></pre> + +<p>{{EmbedLiveSample('polygon', '100%', 200)}}</p> + +<h2 id="Spécification">Spécification</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Status</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG2", "shapes.html#PolygonElementPointsAttribute", "points")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition de <code><polygon></code></td> + </tr> + <tr> + <td>{{SpecName("SVG2", "shapes.html#PolylineElementPointsAttribute", "points")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition de <code><polyline></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "shapes.html#PolygonElementPointsAttribute", "points")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale de <code><polygon></code></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "shapes.html#PolylineElementPointsAttribute", "points")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale de <code><polyline></code></td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/presentation/index.html b/files/fr/web/svg/attribute/presentation/index.html new file mode 100644 index 0000000000..4d6ed7e8d3 --- /dev/null +++ b/files/fr/web/svg/attribute/presentation/index.html @@ -0,0 +1,278 @@ +--- +title: Attributs SVG de présentation +slug: Web/SVG/Attribute/Presentation +translation_of: Web/SVG/Attribute/Presentation +--- +<p>{{draft}}</p> + +<p>Les <em>attributs SVG de présentation</em> sont des propriétés CSS pouvant être utilisées comme attributs sur les éléments SVG</p> + +<div class="index"> +<ul> + <li><a href="#attr-alignment-baseline">alignment-baseline</a></li> + <li><a href="#attr-baseline-shift">baseline-shift</a></li> + <li><a href="#attr-clip">clip</a></li> + <li><a href="#attr-clip-path">clip-path</a></li> + <li><a href="#attr-clip-rule">clip-rule</a></li> + <li><a href="#attr-color">color</a></li> + <li><a href="#attr-color-interpolation">color-interpolation</a></li> + <li><a href="#attr-color-interpolation-filters">color-interpolation-filters</a></li> + <li><a href="#attr-color-profile">color-profile</a></li> + <li><a href="#attr-color-rendering">color-rendering</a></li> + <li><a href="#attr-cursor">cursor</a></li> + <li><a href="#attr-direction">direction</a></li> + <li><a href="#attr-display">display</a></li> + <li><a href="#attr-dominant-baseline">dominant-baseline</a></li> + <li><a href="#attr-enable-background">enable-background</a></li> + <li><a href="#attr-fill">fill</a></li> + <li><a href="#attr-fill-opacity">fill-opacity</a></li> + <li><a href="#attr-fill-rule">fill-rule</a></li> + <li><a href="#attr-filter">filter</a></li> + <li><a href="#attr-flood-color">flood-color</a></li> + <li><a href="#attr-flood-opacity">flood-opacity</a></li> + <li><a href="#attr-font-family">font-family</a></li> + <li><a href="#attr-font-size">font-size</a></li> + <li><a href="#attr-font-size-adjust">font-size-adjust</a></li> + <li><a href="#attr-font-stretch">font-stretch</a></li> + <li><a href="#attr-font-style">font-style</a></li> + <li><a href="#attr-font-variant">font-variant</a></li> + <li><a href="#attr-font-weight">font-weight</a></li> + <li><a href="#attr-glyph-orientation-horizontal">glyph-orientation-horizontal</a></li> + <li><a href="#attr-glyph-orientation-vertical">glyph-orientation-vertical</a></li> + <li><a href="#attr-image-rendering">image-rendering</a></li> + <li><a href="#attr-kerning">kerning</a></li> + <li><a href="#attr-letter-spacing">letter-spacing</a></li> + <li><a href="#attr-lighting-color">lighting-color</a></li> + <li><a href="#attr-marker-end">marker-end</a></li> + <li><a href="#attr-marker-mid">marker-mid</a></li> + <li><a href="#attr-marker-start">marker-start</a></li> + <li><a href="#attr-mask">mask</a></li> + <li><a href="#attr-opacity">opacity</a></li> + <li><a href="#attr-overflow">overflow</a></li> + <li><a href="#attr-pointer-events">pointer-events</a></li> + <li><a href="#attr-shape-rendering">shape-rendering</a></li> + <li><a href="#attr-solid-color">solid-color</a></li> + <li><a href="#attr-solid-opacity">solid-opacity</a></li> + <li><a href="#attr-stop-color">stop-color</a></li> + <li><a href="#attr-stop-opacity">stop-opacity</a></li> + <li><a href="#attr-stroke">stroke</a></li> + <li><a href="#attr-stroke-dasharray">stroke-dasharray</a></li> + <li><a href="#attr-stroke-dashoffset">stroke-dashoffset</a></li> + <li><a href="#attr-stroke-linecap">stroke-linecap</a></li> + <li><a href="#attr-stroke-linejoin">stroke-linejoin</a></li> + <li><a href="#attr-stroke-miterlimit">stroke-miterlimit</a></li> + <li><a href="#attr-stroke-opacity">stroke-opacity</a></li> + <li><a href="#attr-stroke-width">stroke-width</a></li> + <li><a href="#attr-text-anchor">text-anchor</a></li> + <li><a href="#attr-text-decoration">text-decoration</a></li> + <li><a href="#attr-text-rendering">text-rendering</a></li> + <li><a href="#attr-transform">transform</a></li> + <li><a href="#attr-unicode-bidi">unicode-bidi</a></li> + <li><a href="#attr-vector-effect">vector-effect</a></li> + <li><a href="#attr-visibility">visibility</a></li> + <li><a href="#attr-word-spacing">word-spacing</a></li> + <li><a href="#attr-writing-mode">writing-mode</a></li> +</ul> +</div> + +<h2 id="Attributs">Attributs</h2> + +<p> </p> + +<dl> + <dt id="attr-alignment-baseline">{{SVGAttr('alignment-baseline')}}</dt> + <dd>Spécifie comment un objet est aligné sur la ligne de pied de la police par rapport à son parent.<br> + <small><em>Valeur</em>: <strong><code>auto</code></strong>|<code>baseline</code>|<code>before-edge</code>|<code>text-before-edge</code>|<code>middle</code>|<code>central</code>|<code>after-edge</code>|<code>text-after-edge</code>|<code>ideographic</code>|<code>alphabetic</code>|<code>hanging</code>|<code>mathematical</code>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-baseline-shift">{{SVGAttr('baseline-shift')}}</dt> + <dd>Permet de positionner la ligne de pied de l'élément par rapport à celle de son parent.<br> + <small><em>Valeur</em>: <strong><code>auto</code></strong>|<code>baseline</code>|<code>super</code>|<code>sub</code>|<a href="/docs/Web/SVG/Content_type#Percentage"><percentage></a>|<a href="/docs/Web/SVG/Content_type#Length"><length></a>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-clip">{{SVGAttr('clip')}} {{deprecated_inline('css')}}</dt> + <dd>Définit quelle partie d'un élément est visible.<br> + <small><em>Valeur</em>: <strong><code>auto</code></strong>|{{cssxref("shape")}}|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-clip-path">{{SVGAttr('clip-path')}}</dt> + <dd>Associe un chemin de détourage {{SVGElement('clipPath')}} à l'élément.<br> + <small><em>Valeur</em>: <strong><code>none</code></strong>|<a href="/docs/Web/SVG/Content_type#FuncIRI"><FuncIRI></a>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-clip-rule">{{SVGAttr('clip-rule')}}</dt> + <dd>Indique la règle de remplissage à appliquer sur un élément {{SVGElement('clipPath')}}.<br> + <small><em>Valeur</em>: <strong><code>nonezero</code></strong>|<code>evenodd</code>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-color">{{SVGAttr('color')}}</dt> + <dd>Définit la valeur potentielle (valeur de <code>currentColor</code>) pour les attributs de présentation <code>fill</code>, <code>stroke</code>, <code>stop-color</code>, <code>flood-color</code> et <code>lighting-color</code>.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Color"><color></a>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-color-interpolation">{{SVGAttr('color-interpolation')}}</dt> + <dd>Spécifie l'espace colométrique pour les interpolations de dégradés, les animations couleur et composition alpha.<br> + <small><em>Valeur</em>: <code>auto</code>|<strong><code>sRGB</code></strong>|<code>linearRGB</code>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-color-interpolation-filters">{{SVGAttr('color-interpolation-filters')}}</dt> + <dd>Spécifie l'espace colométrique pour les opérations effectuées via des effets de filtre.<br> + <small><em>Valeur</em>: <code>auto</code>|<code>sRGB</code>|<strong><code>linearRGB</code></strong>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-color-profile">{{SVGAttr('color-profile')}} {{deprecated_inline('svg2')}}</dt> + <dd>Définit le profil de couleur qu'une image bitmap incluse via l'élément {{SVGElement('image')}} doit utiliser.<br> + <small><em>Valeur</em>: <code>auto</code>|<code>sRGB</code>|<code>linearRGB</code>|<a href="/docs/Web/SVG/Content_type#Name"><name></a>|<a href="/docs/Web/SVG/Content_type#IRI"><IRI></a>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-color-rendering">{{SVGAttr('color-rendering')}}</dt> + <dd>Indique au navigateur comment optimiser ses opérations d'interpolation et de composition des couleurs.<br> + <small><em>Valeur</em>: <strong><code>auto</code></strong>|<code>optimizeSpeed</code>|<code>optimizeQuality</code>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-cursor">{{SVGAttr('cursor')}}</dt> + <dd>Spécifie le curseur affiché lorsque la souris passe au-desuss de l'élément.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#FuncIRI"><FuncIRI></a>|<a href="/docs/Web/CSS/cursor#Values"><keywords></a>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-direction">{{SVGAttr('direction')}}</dt> + <dd>Spécifie la direction d'écriture du texte.<br> + <small><em>Valeur</em>: <strong><code>ltr</code></strong>|<code>rtl</code>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-display">{{SVGAttr('display')}}</dt> + <dd>Permet de contrôler le rendu d'éléments graphiques ou conteneurs.<br> + <small><em>Valeur</em>: see css {{cssxref('display')}}; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-dominant-baseline">{{SVGAttr('dominant-baseline')}}</dt> + <dd>Définit la ligne de pied utilisée pour aligner le texte.<br> + <small><em>Valeur</em>: <code>auto</code>|<code>text-bottom</code>|<code>alphabetic</code>|<code>ideographic</code>|<code>middle</code>|<code>central</code>| <code>mathematical</code>|<code>hanging</code>|<code>text-top</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-enable-background">{{SVGAttr('enable-background')}} {{deprecated_inline('svg2')}}</dt> + <dd>Indique au navigateur comment gérer l'image d'arrière plan.<br> + <small><em>Valeur</em>: <strong><code>accumulate</code></strong>|<code>new</code>|<code>inherit</code>; <em>Animation</em>: <strong>Non</strong></small></dd> + <dt id="attr-fill">{{SVGAttr('fill')}}</dt> + <dd>Définit la couleur de remplissage d'un élément graphique.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Paint"><paint></a>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-fill-opacity">{{SVGAttr('fill-opacity')}}</dt> + <dd>Définit l'opacité du remplissage de l'élément.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Number"><number></a>|<a href="/docs/Web/SVG/Content_type#Percentage"><percentage></a>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-fill-rule">{{SVGAttr('fill-rule')}}</dt> + <dd>Indique comment déterminer quelles parties du chemin se trouvent à l'intérieur de la forme.<br> + <small><em>Valeur</em>: <strong><code>nonzero</code></strong>|<code>evenodd</code>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-filter">{{SVGAttr('filter')}}</dt> + <dd>Applique un filtre, définit par un élément {{SVGElement('filter')}}, à l'élément.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#FuncIRI"><FuncIRI></a>|<strong><code>none</code></strong>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-flood-color">{{SVGAttr('flood-color')}}</dt> + <dd>Indique quelle couleur utiliser pour remplir la région du filtre, définit par les éléments {{SVGElement('feFlood')}} ou {{SVGElement('feDropShadow')}}.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Color"><color></a>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-flood-opacity">{{SVGAttr('flood-opacity')}}</dt> + <dd>Indique l'opacité à utiliser pour remplir la région du filtre, définit par les éléments {{SVGElement('feFlood')}} ou {{SVGElement('feDropShadow')}}.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Number"><number></a>|<a href="/docs/Web/SVG/Content_type#Percentage"><percentage></a>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-font-family">{{SVGAttr('font-family')}}</dt> + <dd>Indique la police utiliser pour restituer le texte de l'élément.<br> + <small><em>Valeur</em>: see css {{cssxref('font-family')}}; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-font-size">{{SVGAttr('font-size')}}</dt> + <dd>Spécifie la taille de la police.<br> + <small><em>Valeur</em>: see css {{cssxref('font-size')}}; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-font-size-adjust">{{SVGAttr('font-size-adjust')}}</dt> + <dd>Spécifie que la taille de la police doit être choisit en se basant sur la taille des lettres minuscules et non des majuscules.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Number"><number></a>|<code><strong>none</strong></code>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-font-stretch">{{SVGAttr('font-stretch')}}</dt> + <dd>Sélectionne la version normale, condensée ou espacée d'une police.<br> + <small><em>Valeur</em>: see css {{cssxref('font-stretch')}}; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-font-style">{{SVGAttr('font-style')}}</dt> + <dd>Spécifie si la police doit être stylisée en normal, italique ou oblique.<br> + <small><em>Valeur</em>: <strong><code>normal</code></strong>|<code>italic</code>|<code>oblique</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-font-variant">{{SVGAttr('font-variant')}}</dt> + <dd>Spécifie si une police doit utiliser certaines variations, telles que les petites majuscules ou les ligatures.<br> + <small><em>Valeur</em>: see css {{cssxref('font-variant')}}; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-font-weight">{{SVGAttr('font-weight')}}</dt> + <dd>Spécifie l'épaisseur (ou graisse) de la police.<br> + <small><em>Valeur</em>: <strong><code>normal</code></strong>|<code>bold</code>|<code>lighter</code>|<code>bolder</code>|<code>100</code>|<code>200</code>|<code>300</code>|<code>400</code>|<code>500</code>|<code>600</code>|<code>700</code>|<code>800</code>|<code>900</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-glyph-orientation-horizontal">{{SVGAttr('glyph-orientation-horizontal')}} {{deprecated_inline('svg2')}}</dt> + <dd>Contrôle l'orientation des glyphes lorsque la direction en ligne est horizontale.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Angle"><angle></a>|<code>inherit</code>; <em>Animation</em>: <strong>Non</strong></small></dd> + <dt id="attr-glyph-orientation-vertical">{{SVGAttr('glyph-orientation-vertical')}} {{deprecated_inline('svg2')}}</dt> + <dd>Contrôle l'orientation des glyphes lorsque la direction en ligne est verticale.<br> + <small><em>Valeur</em>: <strong><code>auto</code></strong>|<a href="/docs/Web/SVG/Content_type#Angle"><angle></a>|<code>inherit</code>; <em>Animation</em>: <strong>Non</strong></small></dd> + <dt id="attr-image-rendering">{{SVGAttr('image-rendering')}}</dt> + <dd>Indique au navigateur le compromis à effectuer entre vitesse et qualité du rendu des images.<br> + <small><em>Valeur</em>: <strong><code>auto</code></strong>|<code>optimizeQuality</code>|<code>optimizeSpeed</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-kerning">{{SVGAttr('kerning')}} {{deprecated_inline('svg2')}}</dt> + <dd>Indique au navigateur s'il doit ajuster l'espacement entre les glyphes.<br> + <small><em>Valeur</em>: <strong><code>auto</code></strong>|<a href="/docs/Web/SVG/Content_type#Length"><length></a>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-letter-spacing">{{SVGAttr('letter-spacing')}}</dt> + <dd>Contrôle l'espacement entre les caratères du texte.<br> + <small><em>Valeur</em>: <strong><code>normal</code></strong>|<a href="/docs/Web/SVG/Content_type#Length"><length></a>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-lighting-color">{{SVGAttr('lighting-color')}}</dt> + <dd>Définit la couleur de la source de lumière pour les filtres {{SVGElement('feDiffuseLighting')}} et {{SVGElement('feSpecularLighting')}}.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Color"><color></a>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-marker-end">{{SVGAttr('marker-end')}}</dt> + <dd>Définit la pointe de la flèche ou polymarker dessiné à la fin de l'élément {{SVGElement('path')}} ou ou de la forme.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#FuncIRI"><FuncIRI></a>|<strong><code>none</code></strong>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-marker-mid">{{SVGAttr('marker-mid')}}</dt> + <dd>Définit la pointe de la flèche ou polymarker dessiné entre chaque segment de l'élément {{SVGElement('path')}} ou de la forme.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#FuncIRI"><FuncIRI></a>|<strong><code>none</code></strong>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-marker-start">{{SVGAttr('marker-start')}}</dt> + <dd>Définit la pointe de la flèche ou polymarker dessiné au début de l'élément {{SVGElement('path')}} ou ou de la forme.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#FuncIRI"><FuncIRI></a>|<strong><code>none</code></strong>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-mask">{{SVGAttr('mask')}}</dt> + <dd>Modifie la visibilité d'un élément en masquant ou détourant l'image à des endroits spécifiques.<br> + <small><em>Valeur</em>: see css {{cssxref('mask')}}; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-opacity">{{SVGAttr('opacity')}}</dt> + <dd>Spécifie l'opacité d'un objet ou d'un groupe d'objets.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Opacity_value"><opacity-value></a>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-overflow">{{SVGAttr('overflow')}}</dt> + <dd>Spécifie si le contenu d'un élément bloc est tronqué lorsqu'il déborde de la zone de l'élément.<br> + <small><em>Valeur</em>: <code><strong>visible</strong></code>|<code>hidden|scroll</code>|<code>auto</code>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-pointer-events">{{SVGAttr('pointer-events')}}</dt> + <dd>Définit si et quand un élément peut être la cible d'un événement de la souris.<br> + <small><em>Valeur</em>: <code>bounding-box</code>|<code><strong>visiblePainted</strong></code>|<code>visibleFil</code>|<code>visibleStroke</code>|<code>visible</code> |<code>painted</code>|<code>fill</code>|<code>stroke</code>|<code>all</code>|<code>none</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-shape-rendering">{{SVGAttr('shape-rendering')}}</dt> + <dd>Indique au navigateur le compromis à effectuer entre vitesse et qualité du rendu des éléments {{SVGElement('path')}} et des formes.<br> + <small><em>Valeur</em>: <code><strong>auto</strong></code>|<code>optimizeSpeed</code>|<code>crispEdges</code>|<code>geometricPrecision</code> |<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-solid-color">{{SVGAttr('solid-color')}}</dt> + <dd>-<br> + <small><em>Valeur</em>:; <em>Animation</em>: <strong>-</strong></small></dd> + <dt id="attr-solid-opacity">{{SVGAttr('solid-opacity')}}</dt> + <dd>-<br> + <small><em>Valeur</em>:; <em>Animation</em>: <strong>-</strong></small></dd> + <dt id="attr-stop-color">{{SVGAttr('stop-color')}}</dt> + <dd>Indique la couleur à utiliser sur un {{SVGElement('stop')}} d'un dégradé.<br> + <small><em>Valeur</em>: <code>currentColor</code>|<a href="/en/SVG/Content_type#Color" title="en/SVG/Content_type#Color"><color></a>|<a href="/en/SVG/Content_type#ICCColor" title="en/SVG/Content_type#ICCColor"><icccolor></a>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-stop-opacity">{{SVGAttr('stop-opacity')}}</dt> + <dd>Indique l'opacité du {{SVGElement('stop')}}.<br> + <small><em>Valeur</em>: <a href="/en/SVG/Content_type#Opacity_value" title="en/SVG/Content_type#Opacity_value"><opacity-value></a>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-stroke">{{SVGAttr('stroke')}}</dt> + <dd>Définit la couleur à utiliser pour le contour de l'élément.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Paint"><paint></a>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-stroke-dasharray">{{SVGAttr('stroke-dasharray')}}</dt> + <dd>Définit le motif des pointillés utilisé pour dessiner le contour de la forme.<br> + <small><em>Valeur</em>: <code>none</code>|<code><dasharray></code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-stroke-dashoffset">{{SVGAttr('stroke-dashoffset')}}</dt> + <dd>Décale la position de départ des pointillés.<br> + <small><em>Valeur</em>: <a href="/en/SVG/Content_type#Percentage" title="en/SVG/Content_type#Percentage"><percentage></a>|<a href="/en/SVG/Content_type#Length" title="en/SVG/Content_type#Length"><span><length></span></a>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-stroke-linecap"><strong>{{SVGAttr('stroke-linecap')}}</strong></dt> + <dd>Définit la forme de la fin des lignes.<br> + <small><em>Valeur</em>: <code><strong>butt</strong></code>|<code>round</code>|<code>square</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-stroke-linejoin"><strong>{{SVGAttr('stroke-linejoin')}}</strong></dt> + <dd>Définit la manière de dessiner la liaison entre deux segments de ligne.<br> + <small><em>Valeur</em>: <code>arcs</code>|<code>bevel</code>|<code><strong>miter</strong></code>|<code>miter-clip</code>|<code>round</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-stroke-miterlimit"><strong>{{SVGAttr('stroke-miterlimit')}}</strong></dt> + <dd>Définit la limite du rapport entre la longueur du coin et la valeur de {{SVGAttr('stroke-width')}} utilisée pour dessiner la liaison entre deux segments de ligne.<br> + <small><em>Valeur</em>: <a href="/en/SVG/Content_type#Number" title="en/SVG/Content_type#Number"><number></a>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-stroke-opacity"><strong>{{SVGAttr('stroke-opacity')}}</strong></dt> + <dd>Définit l'opacité du contour d'une forme.<br> + <small><em>Valeur</em>: <a href="/en/SVG/Content_type#Opacity_value" title="en/SVG/Content_type#Opacity_value"><opacity-value></a>|<a href="/docs/Web/SVG/Content_type#Paint"><percentage></a>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-stroke-width"><strong>{{SVGAttr('stroke-width')}}</strong></dt> + <dd>Définit l'épaisseur du contour appliqué à une forme.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Length"><length></a>|<a href="/docs/Web/SVG/Content_type#Percentage"><percentage></a>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-text-anchor"><strong>{{SVGAttr('text-anchor')}}</strong></dt> + <dd>Définit l'alignement vertical d'une chaîne de texte.<br> + <small><em>Valeur</em>: <code>start</code>|<code>middle</code>|<code>end</code>|<code><strong>inherit</strong></code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-text-decoration"><strong>{{SVGAttr('text-decoration')}}</strong></dt> + <dd>Définit l'apparence des lignes décoratives sur le texte.<br> + <small><em>Valeur</em>: <code>none</code>|<code>underline</code>|<code>overline</code>|<code>line-through</code>|<code>blink</code>|<code><strong>inherit</strong></code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-text-rendering"><strong>{{SVGAttr('text-rendering')}}</strong></dt> + <dd>Indique au navigateur le compromis à effectuer entre vitesse et qualité du rendu du texte.<br> + <small><em>Valeur</em>: <code><strong>auto</strong></code>|<code>optimizeSpeed</code>|<code>optimizeLegibility</code>|<code>geometricPrecision</code>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-transform"><strong>{{SVGAttr('transform')}}</strong></dt> + <dd>Définit une liste de transformations à appliquer à un élément et à ses enfants.<br> + <small><em>Valeur</em>: <a href="/docs/Web/SVG/Content_type#Transform-list"><transform-list></a>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-unicode-bidi"><strong>{{SVGAttr('unicode-bidi')}}</strong></dt> + <dd>-<br> + <small><em>Valeur</em>:; <em>Animation</em>: <strong>-</strong></small></dd> + <dt id="attr-vector-effect"><strong>{{SVGAttr('vector-effect')}}</strong></dt> + <dd>Spécifie l'effet vectoriel à utiliser lors du dessin d'un objet.<br> + <small><em>Valeur</em>: <code>default</code>|<code>non-scaling-stroke</code>|<code>inherit</code>|<code><uri></code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-visibility"><strong>{{SVGAttr('visibility')}}</strong></dt> + <dd>Définit la visibilité d'éléments graphiques.<br> + <small><em>Valeur</em>: <strong><code>visible</code></strong>|<code>hidden</code>|<code>collapse</code>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-word-spacing"><strong>{{SVGAttr('word-spacing')}}</strong></dt> + <dd>Définit la longueur des espaces entre les mots d'un texte.<br> + <small><em>Valeur</em>: <a href="/en/SVG/Content_type#Length" title="https://developer.mozilla.org/en/SVG/Content_type#Length"><length></a>|<code><strong title="this is the default value">inherit</strong></code>; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-writing-mode"><strong>{{SVGAttr('writing-mode')}}</strong></dt> + <dd>Spécifie si la direction d'un élément {{SVGElement('text')}} doit être de gauche-à-droite, droite-à-gauche, ou de haut-en-bas.<br> + <small><em>Valeur</em>: <strong><code>lr-tb</code></strong>|<code>rl-tb</code>|<code>tb-rl</code>|<code>lr</code>|<code>rl</code>|<code>tb</code>|<code>inherit</code>; <em>Animation</em>: <strong>Oui</strong></small></dd> +</dl> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.presentation")}}</p> diff --git a/files/fr/web/svg/attribute/preserveaspectratio/index.html b/files/fr/web/svg/attribute/preserveaspectratio/index.html new file mode 100644 index 0000000000..b433de89fd --- /dev/null +++ b/files/fr/web/svg/attribute/preserveaspectratio/index.html @@ -0,0 +1,423 @@ +--- +title: preserveAspectRatio +slug: Web/SVG/Attribute/preserveAspectRatio +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/preserveAspectRatio +--- +<div>{{SVGRef}}</div> + +<p>L'attibut <strong><code>preserveAspectRatio</code></strong> indique comment un élément est mis à l'échelle lorsque le ratio largeur:hauteur du {{SVGAttr('viewBox')}} est différent du ratio de la zone d'affichage (définit par les attributs width et height).</p> + +<p>Parce que les proportions du SVG sont définis par l'attribut <code>viewBox</code>, si ce dernier n'est pas définit alors l'attribut <code>preserveAspectRatio</code> n'a aucun effet (<em>à l'exception près de l'élément {{SVGElement('image')}} comme décrit ci-dessous</em>).</p> + +<h2 id="Exemple">Exemple</h2> + +<pre class="brush: html"><svg viewBox="-1 -1 162 92" xmlns="http://www.w3.org/2000/svg"> + <defs> + <path id="smiley" d="M50,10 A40,40,1,1,1,50,90 A40,40,1,1,1,50,10 M30,40 Q36,35,42,40 M58,40 Q64,35,70,40 M30,60 Q50,75,70,60 Q50,75,30,60" /> + </defs> + + <!-- (width>height) meet --> + <svg preserveAspectRatio="xMidYMid meet" x="0" y="0" viewBox="0 0 100 100" width="20" height="10"><use href="#smiley" /></svg> + <svg preserveAspectRatio="xMinYMid meet" x="25" y="0" viewBox="0 0 100 100" width="20" height="10"><use href="#smiley" /></svg> + <svg preserveAspectRatio="xMaxYMid meet" x="50" y="0" viewBox="0 0 100 100" width="20" height="10"><use href="#smiley" /></svg> + + <!-- (width>height) slice --> + <svg preserveAspectRatio="xMidYMin slice" x="0" y="15" viewBox="0 0 100 100" width="20" height="10"><use href="#smiley" /></svg> + <svg preserveAspectRatio="xMidYMid slice" x="25" y="15" viewBox="0 0 100 100" width="20" height="10"><use href="#smiley" /></svg> + <svg preserveAspectRatio="xMidYMax slice" x="50" y="15" viewBox="0 0 100 100" width="20" height="10"><use href="#smiley" /></svg> + + <!-- (width<height) meet --> + <svg preserveAspectRatio="xMidYMin meet" x="75" y="0" viewBox="0 0 100 100" width="10" height="25"><use href="#smiley" /></svg> + <svg preserveAspectRatio="xMidYMid meet" x="90" y="0" viewBox="0 0 100 100" width="10" height="25"><use href="#smiley" /></svg> + <svg preserveAspectRatio="xMidYMax meet" x="105" y="0" viewBox="0 0 100 100" width="10" height="25"><use href="#smiley" /></svg> + + <!-- (width<height) slice --> + <svg preserveAspectRatio="xMinYMid slice" x="120" y="0" viewBox="0 0 100 100" width="10" height="25"><use href="#smiley" /></svg> + <svg preserveAspectRatio="xMidYMid slice" x="135" y="0" viewBox="0 0 100 100" width="10" height="25"><use href="#smiley" /></svg> + <svg preserveAspectRatio="xMaxYMid slice" x="150" y="0" viewBox="0 0 100 100" width="10" height="25"><use href="#smiley" /></svg> + + <!-- none --> + <svg preserveAspectRatio="none" x="0" y="30" viewBox="0 0 100 100" width="160" height="60"><use href="#smiley" /></svg> +</svg></pre> + +<div class="hidden"> +<h6 id="topExample">topExample</h6> + +<pre class="brush: css">html,body,svg { height:100% } +</pre> + +<pre class="brush: html"><svg viewBox="-1 -1 162 92" xmlns="http://www.w3.org/2000/svg"> + <defs> + <path id="smiley" d="M50,10 A40,40,1,1,1,50,90 A40,40,1,1,1,50,10 M30,40 Q36,35,42,40 M58,40 Q64,35,70,40 M30,60 Q50,75,70,60 Q50,75,30,60" /> + </defs> + + <!-- (width>height) meet --> + <rect x="0" y="0" width="20" height="10"> + <title>xMidYMid meet</title> + </rect> + <svg viewBox="0 0 100 100" width="20" height="10" + preserveAspectRatio="xMidYMid meet" x="0" y="0"> + <use href="#smiley" /> + </svg> + + <rect x="25" y="0" width="20" height="10"> + <title>xMinYMid meet</title> + </rect> + <svg viewBox="0 0 100 100" width="20" height="10" + preserveAspectRatio="xMinYMid meet" x="25" y="0"> + <use href="#smiley" /> + </svg> + + <rect x="50" y="0" width="20" height="10"> + <title>xMaxYMid meet</title> + </rect> + <svg viewBox="0 0 100 100" width="20" height="10" + preserveAspectRatio="xMaxYMid meet" x="50" y="0"> + <use href="#smiley" /> + </svg> + + <!-- (width>height) slice --> + <rect x="0" y="15" width="20" height="10"> + <title>xMidYMin slice</title> + </rect> + <svg viewBox="0 0 100 100" width="20" height="10" + preserveAspectRatio="xMidYMin slice" x="0" y="15"> + <use href="#smiley" /> + </svg> + + <rect x="25" y="15" width="20" height="10"> + <title>xMidYMid slice</title> + </rect> + <svg viewBox="0 0 100 100" width="20" height="10" + preserveAspectRatio="xMidYMid slice" x="25" y="15"> + <use href="#smiley" /> + </svg> + + <rect x="50" y="15" width="20" height="10"> + <title>xMidYMax slice</title> + </rect> + <svg viewBox="0 0 100 100" width="20" height="10" + preserveAspectRatio="xMidYMax slice" x="50" y="15"> + <use href="#smiley" /> + </svg> + + <!-- (width<height) meet --> + <rect x="75" y="0" width="10" height="25"> + <title>xMidYMin meet</title> + </rect> + <svg viewBox="0 0 100 100" width="10" height="25" + preserveAspectRatio="xMidYMin meet" x="75" y="0"> + <use href="#smiley" /> + </svg> + + <rect x="90" y="0" width="10" height="25"> + <title>xMidYMid meet</title> + </rect> + <svg viewBox="0 0 100 100" width="10" height="25" + preserveAspectRatio="xMidYMid meet" x="90" y="0"> + <use href="#smiley" /> + </svg> + + <rect x="105" y="0" width="10" height="25"> + <title>xMidYMax meet</title> + </rect> + <svg viewBox="0 0 100 100" width="10" height="25" + preserveAspectRatio="xMidYMax meet" x="105" y="0"> + <use href="#smiley" /> + </svg> + + <!-- (width<height) slice --> + <rect x="120" y="0" width="10" height="25"> + <title>xMinYMid slice</title> + </rect> + <svg viewBox="0 0 100 100" width="10" height="25" + preserveAspectRatio="xMinYMid slice" x="120" y="0"> + <use href="#smiley" /> + </svg> + + <rect x="135" y="0" width="10" height="25"> + <title>xMidYMid slice</title> + </rect> + <svg viewBox="0 0 100 100" width="10" height="25" + preserveAspectRatio="xMidYMid slice" x="135" y="0"> + <use href="#smiley" /> + </svg> + + <rect x="150" y="0" width="10" height="25"> + <title>xMaxYMid slice</title> + </rect> + <svg viewBox="0 0 100 100" width="10" height="25" + preserveAspectRatio="xMaxYMid slice" x="150" y="0"> + <use href="#smiley" /> + </svg> + + <!-- none --> + <rect x="0" y="30" width="160" height="60"> + <title>none</title> + </rect> + <svg viewBox="0 0 100 100" width="160" height="60" + preserveAspectRatio="none" x="0" y="30"> + <use href="#smiley" /> + </svg> +</svg></pre> + +<pre class="brush: css">path { + fill: yellow; + stroke: black; + stroke-width: 8px; + stroke-linecap: round; + stroke-linejoin: round; + pointer-events: none; +} + +rect:hover, rect:active { + outline: 1px solid red; +}</pre> +</div> + +<p>{{EmbedLiveSample('topExample', '100%', 200)}}</p> + +<h2 id="Syntaxe">Syntaxe</h2> + +<pre class="syntaxbox">preserveAspectRatio="<align> [<meetOrSlice>]"</pre> + +<p>La valeur de l'attribut est constituée d'un ou deux mots clés: l'alignement et l'option "meet ou slice" (satisfaire ou trancher) comme décrit ci-dessous:</p> + +<dl> + <dt>Alignement</dt> + <dd>L'alignement indique s'il faut forcer une mise à l'échelle uniforme et si oui, comment faire dans le cas où le rapport largeur:hauteur du {{ SVGAttr("viewBox") }} ne correspond pas à celui affiché. Les différentes valeurs possibles sont: + <ul> + <li><strong>none</strong><br> + Ne pas forcer la mise à l'échelle uniforme. Étirer le contenu de manière à ce que le contenu remplisse toute la hauteur et toute la largeur affichée. <em>Notez que si </em><code><align></code><em> vaut </em><code>none</code><em>, alors la valeur </em><code><meetOrSlice></code><em> est ignorée</em>.</li> + <li><strong>xMinYMin</strong> - Force la mise à l'échelle uniforme.<br> + Aligne le côté gauche de l'élément à gauche de la zone d'affichage.<br> + Aligne le côté haut de l'élément en haut de la zone d'affichage.</li> + <li><strong>xMidYMin</strong> - Force la mise à l'échelle uniforme.<br> + Aligne horizontalement le centre de l'élément au milieu de la zone d'affichage.<br> + Aligne le côté haut de l'élément en haut de la zone d'affichage.</li> + <li><strong>xMaxYMin</strong> - Force la mise à l'échelle uniforme.<br> + Aligne le côté droit de l'élément à droite de la zone d'affichage.<br> + Aligne le côté haut de l'élément en haut de la zone d'affichage.</li> + <li><strong>xMinYMid</strong> - Force la mise à l'échelle uniforme.<br> + Aligne le côté gauche de l'élément à gauche de la zone d'affichage.<br> + Aligne verticalement le centre de l'élément au milieu de la zone d'affichage.</li> + <li><strong>xMidYMid</strong> (<em>par défaut</em>) - Force la mise à l'échelle uniforme.<br> + Aligne horizontalement le centre de l'élément au milieu de la zone d'affichage.<br> + Aligne verticalement le centre de l'élément au milieu de la zone d'affichage.</li> + <li><strong>xMaxYMid</strong> - Force la mise à l'échelle uniforme.<br> + Aligne le côté droit de l'élément à droite de la zone d'affichage.<br> + Aligne verticalement le centre de l'élément au milieu de la zone d'affichage.</li> + <li><strong>xMinYMax</strong> - Force la mise à l'échelle uniforme.<br> + Aligne le côté gauche de l'élément à gauche de la zone d'affichage.<br> + Aligne le côté bas de l'élément en bas de la zone d'affichage.</li> + <li><strong>xMidYMax</strong> - Force la mise à l'échelle uniforme.<br> + Aligne horizontalement le centre de l'élément au milieu de la zone d'affichage.<br> + Aligne le côté bas de l'élément en bas de la zone d'affichage.</li> + <li><strong>xMaxYMax</strong> - Force la mise à l'échelle uniforme.<br> + Aligne le côté droit de l'élément à droite de la zone d'affichage.<br> + Aligne le côté bas de l'élément en bas de la zone d'affichage.</li> + </ul> + </dd> + <dt>Meet ou slice</dt> + <dd>La valeur <em>meet</em> ou <em>slice</em> est optionnelle. Les deux valeurs possibles sont: + <ul> + <li><strong>meet</strong> (<em>par défaut</em>) - Mettre à l'échelle l'image tel que: + <ul> + <li>les proportions sont préservées</li> + <li>la {{ SVGAttr("viewBox") }} est entièrement visible dans la zone d'affichage</li> + <li>la {{ SVGAttr("viewBox") }} est agrandie autant que possible, tout en respectant les autres critères</li> + </ul> + Autrement dit, si les proportions du contenu ne correspondent pas à la zone d'affichage, la zone d'affichage sera agrandie au-delà du {{ SVGAttr("viewBox") }} (la zone dans laquelle sera dessinée la {{ SVGAttr("viewBox") }} sera plus petite que la zone d'affichage).</li> + <li><strong>slice</strong> - Mettre à l'échelle l'image tel que: + <ul> + <li>les proportions sont préservées</li> + <li>la zone d'affichage est entièrement remplie par la {{ SVGAttr("viewBox") }}</li> + <li>la {{ SVGAttr("viewBox") }} est réduite autant que possible, tout en respectant les autres critères</li> + </ul> + Autrement dit, si les proportions du contenu ne correspondent pas à la zone d'affichage, la {{ SVGAttr("viewBox") }} sera agrandie au-delà de la zone d'affichage (la zone dans laquelle sera dessinée la {{ SVGAttr("viewBox") }} sera plus grande que la zone d'affichage).</li> + </ul> + </dd> +</dl> + +<h2 id="Éléments">Éléments</h2> + +<p>Sept éléments utilisent cet attribut: {{SVGElement("svg")}}, {{SVGElement("symbol")}}, {{SVGElement("image")}}, {{SVGElement("feImage")}}, {{SVGElement("marker")}}, {{SVGElement("pattern")}}, and {{SVGElement("view")}}.</p> + +<h3 id="feImage">feImage</h3> + +<p>Pour {{SVGElement('feImage')}}, <code>preserveAspectRatio</code> définit comment l'image doit être ajustée dans le rectangle défini par l'élément <code><feImage></code>.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><align> <meetOrSlice>?</strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>xMidYMid</code> <code>meet</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h3 id="image">image</h3> + +<p>Pour {{SVGElement('feImage')}}, <code>preserveAspectRatio</code> définit comment l'image doit être ajustée dans le rectangle défini par l'élément <code><image></code>.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><align> <meetOrSlice>?</strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>xMidYMid</code> <code>meet</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h3 id="marker">marker</h3> + +<p>Pour {{SVGElement('marker')}}, <code>preserveAspectRatio</code> indique si une mise à l'échelle unifrome doit être effectuée pour s'adapter à la zone d'affichage.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><align> <meetOrSlice>?</strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>xMidYMid</code> <code>meet</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h3 id="pattern">pattern</h3> + +<p>Pour {{SVGElement('pattern')}}, <code>preserveAspectRatio</code> indique si une mise à l'échelle unifrome doit être effectuée pour s'adapter à la zone d'affichage.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><align> <meetOrSlice>?</strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>xMidYMid</code> <code>meet</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h3 id="svg">svg</h3> + +<p>Pour {{SVGElement('svg')}}, <code>preserveAspectRatio</code> indique si une mise à l'échelle unifrome doit être effectuée pour s'adapter à la zone d'affichage.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><align> <meetOrSlice>?</strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>xMidYMid</code> <code>meet</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h3 id="symbol">symbol</h3> + +<p>Pour {{SVGElement('symbol')}}, <code>preserveAspectRatio</code> indique si une mise à l'échelle unifrome doit être effectuée pour s'adapter à la zone d'affichage.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><align> <meetOrSlice>?</strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>xMidYMid</code> <code>meet</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h3 id="view">view</h3> + +<p>Pour {{SVGElement('view')}}, <code>preserveAspectRatio</code> indique si une mise à l'échelle unifrome doit être effectuée pour s'adapter à la zone d'affichage.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><align> <meetOrSlice>?</strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>xMidYMid</code> <code>meet</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="Spécification">Spécification</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("Filters 1.0", "#element-attrdef-feimage-preserveaspectratio", "preserveAspectRatio")}}</td> + <td>{{Spec2('Filters 1.0')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName("SVG2", "coords.html#PreserveAspectRatioAttribute", "preserveAspectRatio")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "coords.html#PreserveAspectRatioAttribute", "preserveAspectRatio")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale</td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/seed/index.html b/files/fr/web/svg/attribute/seed/index.html new file mode 100644 index 0000000000..3f2512fcf3 --- /dev/null +++ b/files/fr/web/svg/attribute/seed/index.html @@ -0,0 +1,44 @@ +--- +title: seed +slug: Web/SVG/Attribute/seed +tags: + - Attribut SVG + - Filtre +translation_of: Web/SVG/Attribute/seed +--- +<p>« <a href="/fr/docs/Web/SVG/Attribute" title="en/SVG/Attribute">Page de référence des attributs SVG</a></p> + +<p>L'attribut <code>seed</code> représente le nombre palier pour la pseudo génération d'un nombre aléatoire via la primitive {{SVGElement("feTurbulence")}}.</p> + +<p>Si l'attribut n'est pas spécifié, alors le palier sera fixé à <strong>0</strong>.</p> + +<h2 id="Contexte_d'usage">Contexte d'usage</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Catégories</th> + <td><em>Aucun</em></td> + </tr> + <tr> + <th scope="row">Valeur</th> + <td><a href="/en-US/docs/SVG/Content_type#Number" title="/en-US/docs/SVG/Content_type#Number"><number></a></td> + </tr> + <tr> + <th scope="row">Animable</th> + <td>Oui</td> + </tr> + <tr> + <th scope="row">Document normatif</th> + <td><a href="http://www.w3.org/TR/SVG11/filters.html#feTurbulenceSeedAttribute" rel="external" title="http://www.w3.org/TR/SVG11/filters.html#feTurbulenceSeedAttribute">SVG 1.1 (2nd Edition)</a></td> + </tr> + </tbody> +</table> + +<h2 id="Éléments">Éléments</h2> + +<p>Les éléments suivants peuvent être utilisés avec l'attribut <code>seed </code> :</p> + +<ul> + <li>{{ SVGElement("feTurbulence") }}</li> +</ul> diff --git a/files/fr/web/svg/attribute/stroke-dasharray/index.html b/files/fr/web/svg/attribute/stroke-dasharray/index.html new file mode 100644 index 0000000000..e082fc487e --- /dev/null +++ b/files/fr/web/svg/attribute/stroke-dasharray/index.html @@ -0,0 +1,89 @@ +--- +title: stroke-dasharray +slug: Web/SVG/Attribute/stroke-dasharray +tags: + - Attribut SVG + - SVG +translation_of: Web/SVG/Attribute/stroke-dasharray +--- +<p>L'attribut <code>stroke-dasharray</code> contrôle le motif et l'espacement entre les segments utilisés pour tracer le contour d'un élément via l'attribut stroke. L'attribut définit ainsi un motif constitué d'une suite de segments et de vides dont la forme se rapprochera d'une ligne de pointillés. </p> + +<p class="note"><strong>Note:</strong> Comme il s'agit d'un attribut de présentation, <code>stroke-dasharray </code>peut aussi être utilisé directement dans une feuille de style CSS.</p> + +<p>Les éléments suivants peuvent utiliser l'attribut <code>stroke-dasharray</code>: {{SVGElement('altGlyph')}}, {{SVGElement('circle')}}, {{SVGElement('ellipse')}}, {{SVGElement('path')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('rect')}}, {{SVGElement('text')}}, {{SVGElement('textPath')}}, {{SVGElement('tref')}}, and {{SVGElement('tspan')}}</p> + +<h2 id="Exemple">Exemple</h2> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 30 10" version="1.1" xmlns="http://www.w3.org/2000/svg"> + + <line x1="0" y1="1" x2="30" y2="1" stroke="black" /> + <line stroke-dasharray="4" x1="0" y1="3" x2="30" y2="3" stroke="black" /> + <line stroke-dasharray="4, 1" x1="0" y1="5" x2="30" y2="5" stroke="black" /> + <line stroke-dasharray="4, 1, 2" x1="0" y1="7" x2="30" y2="7" stroke="black" /> + <line stroke-dasharray="4, 1, 2, 3" x1="0" y1="9" x2="30" y2="9" stroke="black" /> +</svg> +</pre> + +<p>{{ EmbedLiveSample('Exemple', '220', '150', '', 'Web/SVG/Attribute/stroke-dasharray') }}</p> + +<h2 id="Contexte_d'usage">Contexte d'usage</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Catégories</th> + <td>Attribut de présentation</td> + </tr> + <tr> + <th scope="row">Valeur</th> + <td><strong title="this is the default value">none</strong> | <dasharray> | inherit</td> + </tr> + <tr> + <th scope="row">Animable</th> + <td>Oui</td> + </tr> + <tr> + <th scope="row">Document normatif</th> + <td><a class="external" href="http://www.w3.org/TR/SVG/painting.html#StrokeDasharrayProperty" title="http://www.w3.org/TR/SVG/painting.html#StrokeDasharrayProperty">SVG 1.1 (2nd Edition)</a></td> + </tr> + </tbody> +</table> + +<dl> + <dt><dasharray></dt> + <dd>Il s'agit d'une liste de mesures <span><a href="/en/SVG/Content_type#Length" title="en/SVG/Content_type#Length"><length></a> et</span> <a href="/en/SVG/Content_type#Percentage" title="en/SVG/Content_type#Percentage"><percentage></a> séparées par des virgules ou des espaces blancs. Ils permettent de spécifier la longeur de l'alternance entre segments et vides. Si un nombre impair de valeurs est entré, alors la liste sera répartie afin de créer un nombre pair de valeurs par répétition. Ainsi, <strong>5,3,2</strong> sera rendu comme <strong>5,3,2,5,3,2</strong>.</dd> +</dl> + +<h2 id="Browser_Compatibility" name="Browser_Compatibility">Compatibilité des navigateurs</h2> + +<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> + +<p>{{Compat("svg.attributes.presentation.stroke-dasharray")}}</p> + +<h2 id="Spécification">Spécification</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG2", "painting.html#StrokeDasharrayProperty", "stroke-dasharray")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour les formes et textes</td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "painting.html#StrokeDasharrayProperty", "stroke-dasharray")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour les formes et textes</td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/stroke-dashoffset/index.html b/files/fr/web/svg/attribute/stroke-dashoffset/index.html new file mode 100644 index 0000000000..e500cc9a77 --- /dev/null +++ b/files/fr/web/svg/attribute/stroke-dashoffset/index.html @@ -0,0 +1,115 @@ +--- +title: stroke-dashoffset +slug: Web/SVG/Attribute/stroke-dashoffset +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/stroke-dashoffset +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>stroke-dashoffset</code></strong> décale la position de départ des pointillés sur les lignes SVG.</p> + +<p class="note"><strong>Note:</strong> <code>stroke-dashoffset</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<p>Cet attribut peut être appliqué sur tous les éléments, en revanche il n'aura d'effet que sur les éléments suivants: {{SVGElement('altGlyph')}}, {{SVGElement('circle')}}, {{SVGElement('ellipse')}}, {{SVGElement('path')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('rect')}}, {{SVGElement('text')}}, {{SVGElement('textPath')}}, {{SVGElement('tref')}}, and {{SVGElement('tspan')}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="-3 0 33 10" xmlns="http://www.w3.org/2000/svg"> + <!-- Pas de tiret --> + <line x1="0" y1="1" x2="30" y2="1" stroke="black" /> + + <!-- Pas de décalage --> + <line x1="0" y1="3" x2="30" y2="3" stroke="black" + stroke-dasharray="3 1" /> + + <!-- + Le début des tirets est décalé + de 3 unités vers la gauche + --> + <line x1="0" y1="5" x2="30" y2="5" stroke="black" + stroke-dasharray="3 1" + stroke-dashoffset="3" /> + + <!-- + Le début des tirets est décalé + de 3 unités vers la droite (-3) + --> + <line x1="0" y1="7" x2="30" y2="7" stroke="black" + stroke-dasharray="3 1" + stroke-dashoffset="-3" /> + + <!-- + Le début des tirets est décalé + de 1 unité vers la gauche + ce qui affiche la même chose que l'exemple précédent + --> + <line x1="0" y1="9" x2="30" y2="9" stroke="black" + stroke-dasharray="3 1" + stroke-dashoffset="1" /> + + <!-- + Lignes rouges pour indiquer la position + de départ des tirets + --> + <path d="M0,5 h-3 M0,7 h3 M0,9 h-1" stroke="rgba(255,0,0,.5)" /> +</svg> +</pre> + +<p>{{EmbedLiveSample('topExample', '100%', 200)}}</p> +</div> + +<h2 id="Notes_d'usage">Notes d'usage</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/en/SVG/Content_type#Percentage" title="en/SVG/Content_type#Percentage"><percentage></a></strong> | <strong><a href="/en/SVG/Content_type#Length" title="en/SVG/Content_type#Length"><span><length></span></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>0</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p>Le décalage est généralement exprimé en unités résolues par {{SVGAttr('pathLength')}} mais si un <a href="/en/SVG/Content_type#Percentage" title="en/SVG/Content_type#Percentage"><percentage></a> est utilisé, alors la valeur est résolue en pourcentage du viewport.</p> + +<h2 id="Browser_Compatibility" name="Browser_Compatibility">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.presentation.stroke-dashoffset")}}</p> + +<h2 id="Spécification">Spécification</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG2", "painting.html#StrokeDashoffsetProperty", "stroke-dashoffset")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour les formes et le texte</td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "painting.html#StrokeDashoffsetProperty", "stroke-dashoffset")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour les formes et le texte</td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/stroke-linecap/index.html b/files/fr/web/svg/attribute/stroke-linecap/index.html new file mode 100644 index 0000000000..0a911068f3 --- /dev/null +++ b/files/fr/web/svg/attribute/stroke-linecap/index.html @@ -0,0 +1,195 @@ +--- +title: stroke-linecap +slug: Web/SVG/Attribute/stroke-linecap +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/stroke-linecap +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>stroke-linecap</code></strong> définit la forme de la fin des lignes SVG.</p> + +<p class="note"><strong>Note:</strong> <code>stroke-linecap</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<p>Cet attribut peut être appliqué à tous les éléments, en revanche il n'aura d'effet que sur les éléments suivants: {{SVGElement('altGlyph')}}, {{SVGElement('path')}}, {{SVGElement('polyline')}}, {{SVGElement('text')}}, {{SVGElement('textPath')}}, {{SVGElement('tref')}}, et {{SVGElement('tspan')}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 6 6" xmlns="http://www.w3.org/2000/svg"> + + <!-- Effet de la valeur "butt" (valeur par défaut) --> + <line x1="1" y1="1" x2="5" y2="1" stroke="black" + stroke-linecap="butt" /> + + <!-- Effet de la valeur "round" --> + <line x1="1" y1="3" x2="5" y2="3" stroke="black" + stroke-linecap="round" /> + + <!-- Effet de la valeur "square" --> + <line x1="1" y1="5" x2="5" y2="5" stroke="black" + stroke-linecap="square" /> + + <!-- + Les lignes roses indiquent la position + du chemin pour chaque trait + --> + <path d="M1,1 h4 M1,3 h4 M1,5 h4" stroke="pink" stroke-width="0.025" /> +</svg> +</pre> + +<p>{{EmbedLiveSample('topExample', '100%', 200)}}</p> +</div> + +<h2 id="Notes_d'usage">Notes d'usage</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><code>butt</code> | <code>round</code> | <code>square</code></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>butt</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h3 id="butt">butt</h3> + +<p>La valeur <code>butt</code> indique que le trait de chaque chemin ne s'étend pas au-delà de ses extremités. Un chemin de longueur zéro ne s'affichera pas du tout.</p> + +<h4 id="Exemple">Exemple</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 6 4" xmlns="http://www.w3.org/2000/svg"> + + <!-- Effet de la valeur "butt" --> + <path d="M1,1 h4" stroke="black" + stroke-linecap="butt" /> + + <!-- Effet de la valeur "butt" sur un chemin de longueur zéro --> + <path d="M3,3 h0" stroke="black" + stroke-linecap="butt" /> + + + <!-- + Lignes roses pour indiquer la position + du chemin pour chaque trait + --> + <path d="M1,1 h4" stroke="pink" stroke-width="0.025" /> + <circle cx="1" cy="1" r="0.05" fill="pink" /> + <circle cx="5" cy="1" r="0.05" fill="pink" /> + <circle cx="3" cy="3" r="0.05" fill="pink" /> +</svg> +</pre> + +<p>{{EmbedLiveSample('butt', '100%', 200)}}</p> + +<h3 id="round">round</h3> + +<p>La valeur <code>round</code> indique que la fin de chaque trait sera prolongé d'un demi-cerlce de diamètre égal à la la largeur du trait. Pour un chemin de longueur zéro, un cercle complet est affiché.</p> + +<h4 id="Exemple_2">Exemple</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 6 4" xmlns="http://www.w3.org/2000/svg"> + + <!-- Effet de la valeur "round" --> + <path d="M1,1 h4" stroke="black" + stroke-linecap="round" /> + + <!-- Effet de la valeur "round" sur un chemin de longueur zéro --> + <path d="M3,3 h0" stroke="black" + stroke-linecap="round" /> + + + <!-- + Lignes roses pour indiquer la position + du chemin pour chaque trait + --> + <path d="M1,1 h4" stroke="pink" stroke-width="0.025" /> + <circle cx="1" cy="1" r="0.05" fill="pink" /> + <circle cx="5" cy="1" r="0.05" fill="pink" /> + <circle cx="3" cy="3" r="0.05" fill="pink" /> +</svg> +</pre> + +<p>{{EmbedLiveSample('round', '100%', 200)}}</p> + +<h3 id="square">square</h3> + +<p>La valeur <code>square</code> indique que la fin de chaque trait sera prolongé par un rectangle d'une taille égale à la moitié de l'épaisseur du contour. Pour un chemin de longueur zéro, seul un rectangle est affiché, de la longueur de l'épaisseur du contour, et centré autour de la position du chemin.</p> + +<h4 id="Exemple_3">Exemple</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 6 4" xmlns="http://www.w3.org/2000/svg"> + + <!-- Effet de la valeur "square" --> + <path d="M1,1 h4" stroke="black" + stroke-linecap="square" /> + + <!-- Effet de la valeur "square" sur un chemin de longueur zéro --> + <path d="M3,3 h0" stroke="black" + stroke-linecap="square" /> + + <!-- + Les lignes roses indiquent la position + du chemin pour chaque trait + --> + <path d="M1,1 h4" stroke="pink" stroke-width="0.025" /> + <circle cx="1" cy="1" r="0.05" fill="pink" /> + <circle cx="5" cy="1" r="0.05" fill="pink" /> + <circle cx="3" cy="3" r="0.05" fill="pink" /> +</svg> +</pre> + +<p>{{EmbedLiveSample('square', '100%', 200)}}</p> + +<h2 id="Browser_Compatibility" name="Browser_Compatibility">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.presentation.stroke-linecap")}}</p> + +<h2 id="Spécification">Spécification</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG2", "painting.html#StrokeLinecapProperty", "stroke-linecap")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour les formes et le texte</td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "painting.html#StrokeLinecapProperty", "stroke-linecap")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour les formes et le texte</td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/stroke-linejoin/index.html b/files/fr/web/svg/attribute/stroke-linejoin/index.html new file mode 100644 index 0000000000..0446a67b2a --- /dev/null +++ b/files/fr/web/svg/attribute/stroke-linejoin/index.html @@ -0,0 +1,312 @@ +--- +title: stroke-linejoin +slug: Web/SVG/Attribute/stroke-linejoin +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/stroke-linejoin +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>stroke-linejoin</code></strong> définit la manière de dessiner la liaison entre deux segments de ligne.</p> + +<div class="blockIndicator note"><strong>Note:</strong> <code>stroke-linejoin</code> étant un attribut de présentation, il peut être utililsé comme propriété CSS.</div> + +<p>Cet attribut peut être appliqué sur tous les éléments, en revanche il n'aura d'effet que sur les éléments suivants: {{SVGElement('altGlyph')}}, {{SVGElement('path')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('rect')}}, {{SVGElement('text')}}, {{SVGElement('textPath')}}, {{SVGElement('tref')}}, et {{SVGElement('tspan')}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 18 12" xmlns="http://www.w3.org/2000/svg"> + <!-- + Chemin en haut à gauche: + Effet de la valeur "miter" + --> + <path d="M1,5 a2,2 0,0,0 2,-3 a3,3 0 0 1 2,3.5" stroke="black" fill="none" + stroke-linejoin="miter" /> + + <!-- + Chemin en haut au milieu: + Effet de la valeur "round" + --> + <path d="M7,5 a2,2 0,0,0 2,-3 a3,3 0 0 1 2,3.5" stroke="black" fill="none" + stroke-linejoin="round" /> + + <!-- + Chemin en haut à droite: + Effet de la valeur "bevel" + --> + <path d="M13,5 a2,2 0,0,0 2,-3 a3,3 0 0 1 2,3.5" stroke="black" fill="none" + stroke-linejoin="bevel" /> + + <!-- + Chemin en bas à gauche: + Effet de la valeur "miter-clip" + se replit sur la valeur par défaut (miter) si non pris en charge + --> + <path d="M3,11 a2,2 0,0,0 2,-3 a3,3 0 0 1 2,3.5" stroke="black" fill="none" + stroke-linejoin="miter-clip" /> + + <!-- + Chemin en bas à droite: + Effet de la valeur "arcs" + se replit sur la valeur par défaut (miter) si non pris en charge + --> + <path d="M9,11 a2,2 0,0,0 2,-3 a3,3 0 0 1 2,3.5" stroke="black" fill="none" + stroke-linejoin="arcs" /> + + <!-- + Lignes roses qui indiquent la position + du chemin pour chaque trait + --> + <g id="highlight"> + <path d="M1,5 a2,2 0,0,0 2,-3 a3,3 0 0 1 2,3.5" + stroke="pink" fill="none" stroke-width="0.025" /> + <circle cx="1" cy="5" r="0.05" fill="pink" /> + <circle cx="3" cy="2" r="0.05" fill="pink" /> + <circle cx="5" cy="5.5" r="0.05" fill="pink" /> + </g> + <use xlink:href="#highlight" x="6" /> + <use xlink:href="#highlight" x="12" /> + <use xlink:href="#highlight" x="2" y="6" /> + <use xlink:href="#highlight" x="8" y="6" /> +</svg> +</pre> + +<p>{{EmbedLiveSample('topExample', '100%', 400)}}</p> +</div> + +<h2 id="Contexte_d'utilisation">Contexte d'utilisation</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><code>arcs</code> | <code>bevel</code> |<code>miter</code> | <code>miter-clip</code> | <code>round</code></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>miter</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h3 id="arcs">arcs</h3> + +<div class="blockIndicator note"><strong>Note:</strong> La valeur <code>arcs</code> a été introduite en SVG2 et n'est pas souvent pris en charge pour le moment, voir {{anch("Compatibilité des navigateurs")}} ci-dessous pour plus de détails.</div> + +<p>La valeur <code>arcs</code> indique qu'un arc est utilisé pour joindre les segments du chemin. L'arc est formé en prolongeant les bords extérieurs du trait au point de liaison, avec la même courbe que ce bord.</p> + +<h4 id="Exemple">Exemple</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 6 6" xmlns="http://www.w3.org/2000/svg"> + <!-- Effet de la valeur "arcs" --> + <path d="M1,5 a2,2 0,0,0 2,-3 a3,3 0 0 1 2,3" stroke="black" fill="none" + stroke-linejoin="arcs" /> + + <!-- + Lignes roses qui indiquent la position + du chemin pour chaque trait + --> + <g id="p"> + <path d="M1,5 a2,2 0,0,0 2,-3 a3,3 0 0 1 2,3" + stroke="pink" fill="none" stroke-width="0.025" /> + <circle cx="1" cy="5" r="0.05" fill="pink" /> + <circle cx="3" cy="2" r="0.05" fill="pink" /> + <circle cx="5" cy="5" r="0.05" fill="pink" /> + </g> +</svg></pre> + +<p>{{EmbedLiveSample('arcs', '100%', 200)}}</p> + +<h3 id="bevel">bevel</h3> + +<p>La valeur <code>bevel</code> indique qu'un coin biseauté est utilisé pour joindre les segments du chemin.</p> + +<h4 id="Exemple_2">Exemple</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 6 6" xmlns="http://www.w3.org/2000/svg"> + <!-- Effet de la valeur "bevel" --> + <path d="M1,5 l2,-3 l2,3" stroke="black" fill="none" + stroke-linejoin="bevel" /> + + <!-- + Lignes roses qui indiquent la position + du chemin pour chaque trait + --> + <g id="p"> + <path d="M1,5 l2,-3 l2,3" + stroke="pink" fill="none" stroke-width="0.025" /> + <circle cx="1" cy="5" r="0.05" fill="pink" /> + <circle cx="3" cy="2" r="0.05" fill="pink" /> + <circle cx="5" cy="5" r="0.05" fill="pink" /> + </g> +</svg></pre> + +<p>{{EmbedLiveSample('bevel', '100%', 200)}}</p> + +<h3 id="miter">miter</h3> + +<p>La valeur <code>miter</code> indique qu'un angle droit est utilisé pour joindre les segments du chemin. Le coin est formé en prolongeant les bords extérieurs du trait jusqu'à ce qu'ils se joignent.</p> + +<div class="blockIndicator note"><strong>Note:</strong> Si la longueur du coin dépasse {{SVGAttr('stroke-miterlimit')}}, un coin de type <code>bevel</code> est utilisé à la place.</div> + +<h4 id="Exemple_3">Exemple</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 -1 10 7" xmlns="http://www.w3.org/2000/svg"> + <!-- Effet de la valeur "miter" --> + <path d="M1,5 l2,-3 l2,3" stroke="black" fill="none" + stroke-linejoin="miter" /> + + <!-- Effet de la valeur "miter" sur un angle aigu + où la limite stroke-miterlimit est dépassée --> + <path d="M7,5 l0.75,-3 l0.75,3" stroke="black" fill="none" + stroke-linejoin="miter" /> + + <!-- Ligne rouge pointillé qui indique la limite + à partir de laquelle une liaison miter devient bevel --> + <path d="M0,0 h10" stroke="red" stroke-dasharray="0.05" stroke-width="0.025"/> + + <!-- + Lignes roses qui indiquent la position + du chemin pour chaque trait + --> + <g> + <path d="M1,5 l2,-3 l2,3" stroke="pink" fill="none" stroke-width="0.025" /> + <circle cx="1" cy="5" r="0.05" fill="pink" /> + <circle cx="3" cy="2" r="0.05" fill="pink" /> + <circle cx="5" cy="5" r="0.05" fill="pink" /> + + <path d="M7,5 l0.75,-3 l0.75,3" stroke="pink" fill="none" stroke-width="0.025" /> + <circle cx="7" cy="5" r="0.05" fill="pink" /> + <circle cx="7.75" cy="2" r="0.05" fill="pink" /> + <circle cx="8.5" cy="5" r="0.05" fill="pink" /> + </g> +</svg></pre> + +<p>{{EmbedLiveSample('miter', '100%', 200)}}</p> + +<h3 id="miter-clip">miter-clip</h3> + +<div class="blockIndicator note"><strong>Note:</strong> La valeur <code>miter-clip</code> a été introduite en SVG2 et n'est pas souvent pris en charge pour le moment, voir {{anch("Compatibilité des navigateurs")}} ci-dessous pour plus de détails.</div> + +<p>La valeur <code>miter-clip</code> indique qu'un angle droit est utilisé pour joindre les segments du chemin. Le coin est formé en prolongeant les bords extérieurs du trait jusqu'à ce qu'ils se joignent.</p> + +<p>Si la longueur du coin dépasse {{SVGAttr('stroke-miterlimit')}}, le coin tronqué à une distance égale à la moitié de la valeur de {{SVGAttr('stroke-miterlimit')}} multiplié par l'épaisseur du trait. Cela fournit un meilleur rendu que <code>miter</code> sur les angles très aigus et dans le cas d'une animation.</p> + +<h4 id="Exemple_4">Exemple</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 -1 10 7" xmlns="http://www.w3.org/2000/svg"> + <!-- Effet de la valeur "miter-clip" --> + <path d="M1,5 l2,-3 l2,3" stroke="black" fill="none" + stroke-linejoin="miter-clip" /> + + <!-- Effet de la valeur "miter-clip" sur un angle aigu + où la limite stroke-miterlimit est dépassée --> + <path d="M7,5 l0.75,-3 l0.75,3" stroke="black" fill="none" + stroke-linejoin="miter-clip" /> + + <!-- Ligne rouge pointillé qui indique la limite + à partir de laquelle le coin sera tronqué --> + <path d="M0,0 h10" stroke="red" stroke-dasharray="0.05" stroke-width="0.025"/> + + <!-- + Lignes roses qui indiquent la position + du chemin pour chaque trait + --> + <g> + <path d="M1,5 l2,-3 l2,3" stroke="pink" fill="none" stroke-width="0.025" /> + <circle cx="1" cy="5" r="0.05" fill="pink" /> + <circle cx="3" cy="2" r="0.05" fill="pink" /> + <circle cx="5" cy="5" r="0.05" fill="pink" /> + + <path d="M7,5 l0.75,-3 l0.75,3" stroke="pink" fill="none" stroke-width="0.025" /> + <circle cx="7" cy="5" r="0.05" fill="pink" /> + <circle cx="7.75" cy="2" r="0.05" fill="pink" /> + <circle cx="8.5" cy="5" r="0.05" fill="pink" /> + </g> +</svg></pre> + +<p>{{EmbedLiveSample('miter-clip', '100%', 200)}}</p> + +<h3 id="round">round</h3> + +<p>La valeur <code>round</code> indique qu'un coin arrondi est utilisé pour joindre les segments du chemin.</p> + +<h4 id="Exemple_5">Exemple</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 6 6" xmlns="http://www.w3.org/2000/svg"> + <!-- Effet de la valeur "round" --> + <path d="M1,5 l2,-3 l2,3" stroke="black" fill="none" + stroke-linejoin="round" /> + + <!-- + Lignes roses qui indiquent la position + du chemin pour chaque trait + --> + <g id="p"> + <path d="M1,5 l2,-3 l2,3" + stroke="pink" fill="none" stroke-width="0.025" /> + <circle cx="1" cy="5" r="0.05" fill="pink" /> + <circle cx="3" cy="2" r="0.05" fill="pink" /> + <circle cx="5" cy="5" r="0.05" fill="pink" /> + </g> +</svg></pre> + +<p>{{EmbedLiveSample('round', '100%', 200)}}</p> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG2", "painting.html#StrokeLinejoinProperty", "stroke-linejoin")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour les formes et le texte</td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "painting.html#StrokeLinejoinProperty", "stroke-linejoin")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour les formes et le texte</td> + </tr> + </tbody> +</table> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.presentation.stroke-linejoin")}}</p> diff --git a/files/fr/web/svg/attribute/stroke-miterlimit/index.html b/files/fr/web/svg/attribute/stroke-miterlimit/index.html new file mode 100644 index 0000000000..350ce47e36 --- /dev/null +++ b/files/fr/web/svg/attribute/stroke-miterlimit/index.html @@ -0,0 +1,116 @@ +--- +title: stroke-miterlimit +slug: Web/SVG/Attribute/stroke-miterlimit +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/stroke-miterlimit +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>stroke-miterlimit</code></strong> définit la limite du rapport entre la longueur du coin et la valeur de {{ SVGAttr("stroke-width") }} utilisée pour dessiner la <a href="/fr/docs/Web/SVG/Attribute/stroke-linejoin">liaison entre deux segments de ligne</a>. Quand la limite est dépassée, la liaison passe du type <em>miter</em> (pointu) au type <em>bevel</em> (biseauté).</p> + +<p class="note"><strong>Note:</strong> L'attribut <code>stroke-miterlimit</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<p>Cet attribut peut être appliqué à n'importe quel élément, en revanche il n'aura d'effet que sur les éléments suivants: {{SVGElement('altGlyph')}}, {{SVGElement('path')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('rect')}}, {{SVGElement('text')}}, {{SVGElement('textPath')}}, {{SVGElement('tref')}}, and {{SVGElement('tspan')}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 38 30" xmlns="http://www.w3.org/2000/svg"> + <!-- Impact du miterlimit par défaut --> + <path stroke="black" fill="none" stroke-linejoin="miter" id="p1" + d="M1,9 l7 ,-3 l7 ,3 + m2,0 l3.5 ,-3 l3.5 ,3 + m2,0 l2 ,-3 l2 ,3 + m2,0 l0.75,-3 l0.75,3 + m2,0 l0.5 ,-3 l0.5 ,3" /> + + <!-- Impact du miterlimit le plus petit (1) --> + <path stroke="black" fill="none" stroke-linejoin="miter" + stroke-miterlimit="1" id="p2" + d="M1,19 l7 ,-3 l7 ,3 + m2, 0 l3.5 ,-3 l3.5 ,3 + m2, 0 l2 ,-3 l2 ,3 + m2, 0 l0.75,-3 l0.75,3 + m2, 0 l0.5 ,-3 l0.5 ,3" /> + + <!-- Impact d'un large miterlimit (8) --> + <path stroke="black" fill="none" stroke-linejoin="miter" + stroke-miterlimit="8" id="p3" + d="M1,29 l7 ,-3 l7 ,3 + m2, 0 l3.5 ,-3 l3.5 ,3 + m2, 0 l2 ,-3 l2 ,3 + m2, 0 l0.75,-3 l0.75,3 + m2, 0 l0.5 ,-3 l0.5 ,3" /> + + <!-- Les lignes roses suivantes indiquent la position du chemin pour chaque trait --> + <path stroke="pink" fill="none" stroke-width="0.05" + d="M1, 9 l7,-3 l7,3 m2,0 l3.5,-3 l3.5,3 m2,0 l2,-3 l2,3 m2,0 l0.75,-3 l0.75,3 m2,0 l0.5,-3 l0.5,3 + M1,19 l7,-3 l7,3 m2,0 l3.5,-3 l3.5,3 m2,0 l2,-3 l2,3 m2,0 l0.75,-3 l0.75,3 m2,0 l0.5,-3 l0.5,3 + M1,29 l7,-3 l7,3 m2,0 l3.5,-3 l3.5,3 m2,0 l2,-3 l2,3 m2,0 l0.75,-3 l0.75,3 m2,0 l0.5,-3 l0.5,3" /> +</svg></pre> + +<p>{{EmbedLiveSample('topExample', '100%', 400)}}</p> +</div> + +<p>Quand deux segments de ligne se recontrent en angle aigu, et la liaison définit par {{ SVGAttr("stroke-linejoin") }} vaut <code>miter</code>, il est possible que le coin s'étende bien au-delà de l'épaisseur de la ligne du contour. Le ratio <code>stroke-miterlimit</code> est utilisé pour définir une limite à partir de laquelle la liaison est convertie de <em>miter</em> à <em>bevel</em>.</p> + +<p>Le rapport entre la longueur du coin (distance entre le côté intérieur et le côté externe du coin) et {{ SVGAttr("stroke-width") }} est directement lié à l'angle (θ) entre les segments, tel que décrit par cette formule:</p> + +<p><math> <mstyle displaystyle="true"> <mi><code>stroke-miterlimit</code></mi> <mo>=</mo> <mfrac> <mrow> <mi>miterLength</mi> </mrow> <mrow> <mi><code>stroke-width</code></mi> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <mn>1</mn> </mrow> <mrow> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <mo>θ</mo> </mrow> <mrow> <mn>2</mn> </mrow> </mfrac> <mo>)</mo> </mrow> </mrow> </mrow> </mfrac> </mstyle> </math></p> + +<p>Par exemple, une limite de 1.414 convertit une liaison <em>miter</em> en <em>bevel</em> pour les angles de moins de 90 degrés, une limite de 4.0 pour les angles de moins de 29 degrés, et une limite de 10.0 pour les angles de moins de 11.5 degrés environ.</p> + +<h2 id="Contexte_d'utilisation">Contexte d'utilisation</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/en/SVG/Content_type#Number" title="en/SVG/Content_type#Number"><number></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td>4</td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p>La valeur de <code>stroke-miterlimit</code> doit être supérieure ou égale à 1.</p> + +<h2 id="Browser_Compatibility" name="Browser_Compatibility">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.presentation.stroke-miterlimit")}}</p> + +<h2 id="Spécification">Spécification</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG2", "painting.html#StrokeMiterlimitProperty", "stroke-miterlimit")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour les formes et le texte</td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "painting.html#StrokeMiterlimitProperty", "stroke-miterlimit")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour les formes et le texte</td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/stroke-opacity/index.html b/files/fr/web/svg/attribute/stroke-opacity/index.html new file mode 100644 index 0000000000..dbddc5f78f --- /dev/null +++ b/files/fr/web/svg/attribute/stroke-opacity/index.html @@ -0,0 +1,93 @@ +--- +title: stroke-opacity +slug: Web/SVG/Attribute/stroke-opacity +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/stroke-opacity +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>stroke-opacity</code></strong> définit l'opacité du contour (<em>couleur</em>, <em>dégradé</em>, <em>motif</em>, etc) appliqué à une forme SVG.</p> + +<p class="note"><strong>Note:</strong> <code>stroke-opacity</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<p>Cet attribut peut être appliqué à tous les éléments, en revanche il n'aura d'effet que sur les éléments suivants: {{SVGElement('altGlyph')}}, {{SVGElement('circle')}}, {{SVGElement('ellipse')}}, {{SVGElement('path')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('rect')}}, {{SVGElement('text')}}, {{SVGElement('textPath')}}, {{SVGElement('tref')}}, et {{SVGElement('tspan')}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 40 10" xmlns="http://www.w3.org/2000/svg"> + <!-- Opacité par défaut: 1 --> + <circle cx="5" cy="5" r="4" stroke="green" /> + + <!-- Définit l'opacité avec un nombre entre 0 et 1--> + <circle cx="15" cy="5" r="4" stroke="green" + stroke-opacity="0.7" /> + + <!-- Définit l'opacité avec un pourcentage --> + <circle cx="25" cy="5" r="4" stroke="green" + stroke-opacity="50%" /> + + <!-- Définit l'opacité comme propriété CSS --> + <circle cx="35" cy="5" r="4" stroke="green" + style="stroke-opacity: .3;" /> +</svg></pre> + +<p>{{EmbedLiveSample('topExample', '100%', 150)}}</p> +</div> + +<h2 id="Notes_d'usage">Notes d'usage</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><code>[0-1]</code> | <strong><a href="/docs/Web/SVG/Content_type#Paint"><percentage></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>1</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> SVG2 introduit les valeurs en pourcentage pour <code>stroke-opacity</code>, Cependant, ce n'est pas souvent pris en charge. pour le moment (<em>voir {{anch("Compatibilité des navigateurs")}} ci-dessous</em>), il est par conséquent recommendé d'utiliser les valeurs de l'intervalle <code>[0-1]</code>.</p> + +<p>Il est important de savoir que le contour recouvre partiellement le remplissage d'une forme. Ainsi, un contour avec une opacité différente de 1 affichera partiellement le remplissage du dessous. Pour éviter cet effet, il est possible d'appliquer une opacité globale avec l'attribut {{SVGAttr('opacity')}} ou placer le contour derrière le remplissage avec {{SVGAttr('paint-order')}}.</p> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.presentation.stroke-opacity")}}</p> + +<h2 id="Spécification">Spécification</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG2", "painting.html#StrokeOpacityProperty", "stroke-opacity")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour les formes et le texte</td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "painting.html#StrokeOpacityProperty", "stroke-opacity")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour les formes et le texte</td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/stroke-width/index.html b/files/fr/web/svg/attribute/stroke-width/index.html new file mode 100644 index 0000000000..2850964c73 --- /dev/null +++ b/files/fr/web/svg/attribute/stroke-width/index.html @@ -0,0 +1,93 @@ +--- +title: stroke-width +slug: Web/SVG/Attribute/stroke-width +tags: + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/stroke-width +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>stroke-width</code></strong> définit l'épaisseur du contour à appliquer à une forme SVG.</p> + +<p class="note"><strong>Note:</strong> <code>stroke-width</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<p>Cet attribut peut être appliqué à tous les éléments, en revanche il n'aura d'effet que sur les éléments suivants: {{SVGElement('altGlyph')}}, {{SVGElement('circle')}}, {{SVGElement('ellipse')}}, {{SVGElement('path')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('rect')}}, {{SVGElement('text')}}, {{SVGElement('textPath')}}, {{SVGElement('tref')}}, et {{SVGElement('tspan')}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 30 10" xmlns="http://www.w3.org/2000/svg"> + <!-- Épaisseur par défaut: 1 --> + <circle cx="5" cy="5" r="3" stroke="green" /> + + <!-- Définit l'épaisseur avec un nombre --> + <circle cx="15" cy="5" r="3" stroke="green" + stroke-width="3" /> + + <!-- Définit l'épaisseur avec un pourcentage --> + <circle cx="25" cy="5" r="3" stroke="green" + stroke-width="2%" /> +</svg></pre> + +<p>{{EmbedLiveSample('topExample', '100%', 150)}}</p> +</div> + +<h2 id="Notes_d'usage">Notes d'usage</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Length"><length></a></strong> | <strong><a href="/docs/Web/SVG/Content_type#Percentage"><percentage></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>1px</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<p class="note"><strong>Note:</strong> SVG2 introduit les valeurs en pourcentage pour <code>stroke-width</code>, Cependant, ce n'est pas souvent pris en charge pour le moment (<em>voir {{anch('Compatibilité des navigateurs')}} ci-dessous</em>). Il est par conséquent recommandé d'utiliser les valeurs de l'intervalle <code>[0-1]</code>.</p> + +<p>Une valeur en pourcentage est toujours calculée en tant que pourcentage de la longueur diagonale {{SVGAttr('viewBox')}} normalisée.</p> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.presentation.stroke-width")}}</p> + +<h2 id="Spécification">Spécification</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG2", "painting.html#StrokeWidthProperty", "stroke-width")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td> + <p>Définition pour les formes et le texte</p> + + + </td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "painting.html#StrokeWidthProperty", "stroke-width")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale pour les formes et le texte</td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/stroke/index.html b/files/fr/web/svg/attribute/stroke/index.html new file mode 100644 index 0000000000..9e8c7fa1ba --- /dev/null +++ b/files/fr/web/svg/attribute/stroke/index.html @@ -0,0 +1,93 @@ +--- +title: stroke +slug: Web/SVG/Attribute/stroke +tags: + - Attribut SVG + - SVG +translation_of: Web/SVG/Attribute/stroke +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>stroke</code></strong> définit la couleur (ou n'importe quelle méthode de remplissage, comme un gradient ou motif) a utiliser pour dessiner le contour d'une forme SVG.</p> + +<p class="note"><strong>Note:</strong> <code>stroke</code> étant un attribut de présentation, il peut être utilisé comme propriété CSS.</p> + +<p>Cet attribut peut être appliqué à tout élément, en revanche il n'aura d'effet que sur les éléments suivants: {{SVGElement('altGlyph')}}, {{SVGElement('circle')}}, {{SVGElement('ellipse')}}, {{SVGElement('path')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('rect')}}, {{SVGElement('text')}}, {{SVGElement('textPath')}}, {{SVGElement('tref')}}, and {{SVGElement('tspan')}}</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 20 10" xmlns="http://www.w3.org/2000/svg"> + + <!-- Simple trait de couleur --> + <circle cx="5" cy="5" r="4" fill="none" + stroke="green" /> + + <!-- Utiliser un degradé comme contour --> + <defs> + <linearGradient id="myGradient"> + <stop offset="0%" stop-color="green" /> + <stop offset="100%" stop-color="white" /> + </linearGradient> + </defs> + <circle cx="15" cy="5" r="4" fill="none" + stroke="url(#myGradient)" /> +</svg> +</pre> + +<p>{{EmbedLiveSample('topExample', '100%', 200)}}</p> +</div> + +<h2 id="Notes_d'usage">Notes d'usage</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><strong><a href="/docs/Web/SVG/Content_type#Paint"><paint></a></strong></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>none</code></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("SVG2", "painting.html#StrokeProperty", "stroke")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td>Définition pour les formes et le texte.<br> + Ajoute <code style="white-space: nowrap;">context-fill</code> et <code style="white-space: nowrap;">context-stroke</code>.</td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "painting.html#StrokeProperty", "stroke")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définiton initiale pour les formes et le texte</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_Compatibility" name="Browser_Compatibility">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.presentation.stroke")}}</p> + +<p class="note"><strong>Note:</strong> Pour plus d'informations sur les valeurs de <code style="white-space: nowrap;">context-stroke</code> (et <code style="white-space: nowrap;">context-fill</code>) à partir de documents HTML, voir la documentation pour la propriété non-standard <span style="white-space: nowrap;">{{cssxref("-moz-context-properties")}}</span>.</p> diff --git a/files/fr/web/svg/attribute/style/index.html b/files/fr/web/svg/attribute/style/index.html new file mode 100644 index 0000000000..58bb5061ae --- /dev/null +++ b/files/fr/web/svg/attribute/style/index.html @@ -0,0 +1,85 @@ +--- +title: style +slug: Web/SVG/Attribute/style +tags: + - Reference + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/style +--- +<p>{{SVGRef}}</p> + +<p><span class="seoSummary">L'attribut <strong><code>style</code></strong> définit les <a href="/fr/docs/Web/CSS">informations de style</a> pour son élément. Il fonctionne de manière identique à <a href="/fr/docs/Web/HTML/Attributs_universels/style">l'attribut <code>style</code> en HTML</a>.</span></p> + +<h2 id="Context_d'utilisation">Context d'utilisation</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Catégories</th> + <td>Attribut de présentation</td> + </tr> + <tr> + <th scope="row">Valeur</th> + <td><style></td> + </tr> + <tr> + <th scope="row">Animation</th> + <td>Non</td> + </tr> + <tr> + <th scope="row">Document normatif</th> + <td><a class="external" href="http://www.w3.org/TR/SVG/styling.html#StyleAttribute">SVG 1.1 (2ème Edition)</a></td> + </tr> + </tbody> +</table> + +<dl> + <dt><style></dt> + <dd>La syntaxe des données de style dépend du langage de la feuille de style. Par défaut, le langage est <a href="/fr/docs/Web/CSS">CSS</a>.</dd> + <dd> + <p class="note"><strong>Note:</strong> En théorie, l'attribut {{SVGAttr("contentStyleType")}} pourrait être utilisé pour spécifier un language de style autre que CSS, comme <a href="/fr/docs/Web/XSLT">XSL(T)</a>. Cependant, cela n'a jamais été implémenté de manière satisfaisante dans les navigateurs, donc ne vous y fiez pas.</p> + </dd> +</dl> + +<h2 id="Exemple">Exemple</h2> + +<p>L'exemple suivant stylise le rectangle en utilisant l'attribut <code>style</code>, avec CSS comme langage de feuille de style.</p> + +<pre class="brush: html"><svg viewbox="0 0 1000 500" xmlns="http://www.w3.org/2000/svg"> + <rect height="300" width="600" x="200" y="100" + style="fill: red; stroke: blue; stroke-width: 3"/> +</svg> +</pre> + +<h2 id="Éléments">Éléments</h2> + +<p>Les éléments suivants peuvent utiliser l'attribut <code>style</code>:</p> + +<ul> + <li><a href="/fr/docs/Web/SVG/Element#Éléments_conteneurs">Éléments conteneur</a> »</li> + <li><a href="/fr/docs/Web/SVG/Element#Éléments_primitives_de_filtre">Éléments primitives de filtre</a> »</li> + <li><a href="/fr/docs/Web/SVG/Element#Éléments_de_dégradés">Éléments de dégradés</a> »</li> + <li><a href="/fr/docs/Web/SVG/Element#Éléments_graphiques">Éléments graphiques</a> »</li> + <li><a href="/fr/docs/Web/SVG/Element#Éléments_structurels">Éléments structurels</a> »</li> + <li><a href="/fr/docs/Web/SVG/Element#Éléments_de_contenu_textuel">Éléments de contenu textuel</a> »</li> + <li>{{ SVGElement("clipPath") }}</li> + <li>{{ SVGElement("filter") }}</li> + <li>{{ SVGElement("font") }}</li> + <li>{{ SVGElement("foreignObject") }}</li> + <li>{{ SVGElement("glyphRef") }}</li> + <li>{{ SVGElement("stop") }}</li> + <li>{{ SVGElement("glyph") }}</li> +</ul> + +<h2 id="Voir_aussi">Voir aussi</h2> + +<ul> + <li>{{ SVGElement("style") }}</li> +</ul> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.style.style")}}</p> diff --git a/files/fr/web/svg/attribute/styling/index.html b/files/fr/web/svg/attribute/styling/index.html new file mode 100644 index 0000000000..e959ac277b --- /dev/null +++ b/files/fr/web/svg/attribute/styling/index.html @@ -0,0 +1,32 @@ +--- +title: Attributs SVG de style +slug: Web/SVG/Attribute/Styling +translation_of: Web/SVG/Attribute/Styling +--- +<p>Les <em>attributs SVG de style</em> sont tous les attributs qui peuvent être spécifiés sur tout élément SVG pour appliquer des styles CSS.</p> + +<div class="index"> +<ul> + <li><a href="#attr-class"><code>class</code></a></li> + <li><a href="#attr-style"><code>style</code></a></li> +</ul> +</div> + +<h2 id="Attributs">Attributs</h2> + +<dl> + <dt id="attr-class">{{SVGAttr('class')}}</dt> + <dd>Assigne un nom de classe ou un ensemble de noms de classe à un élément. Il fonctionne de manière identique à l'attribut {{htmlattrxref('class')}} en HTML.<br> + <small><em>Valeur</em>: Tout ID valide; <em>Animation</em>: <strong>Oui</strong></small></dd> + <dt id="attr-style">{{SVGAttr('style')}}</dt> + <dd>Spécifie les informations de style d'un élément. Il fonctionne de manière identique à l'attribut {{htmlattrxref('style')}} en HTML.<br> + <small><em>Valeur</em>: Toute chaîne de caractères valide; <em>Animation</em>: <strong>Non</strong></small> + <p> </p> + </dd> +</dl> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> + +<p>{{Compat("svg.attributes.style")}}</p> diff --git a/files/fr/web/svg/attribute/text-anchor/index.html b/files/fr/web/svg/attribute/text-anchor/index.html new file mode 100644 index 0000000000..3ac25fe5db --- /dev/null +++ b/files/fr/web/svg/attribute/text-anchor/index.html @@ -0,0 +1,93 @@ +--- +title: text-anchor +slug: Web/SVG/Attribute/text-anchor +tags: + - Attribut SVG + - NeedsCompatTable + - SVG + - SVG Attribute +translation_of: Web/SVG/Attribute/text-anchor +--- +<p>« <a href="/fr/docs/Web/SVG/Attribute" title="en/SVG/Attribute">Référence des attributs SVG </a></p> + +<p>L'attribut <code>text-anchor</code> est utilisé pour aligner un élément <code>text</code> par rapport à un point dont la position est définie au début "<code>start</code>", au milieu "<code>middle</code>" ou à la fin "<code>end</code>" de son contenu.</p> + +<p><code>text-anchor</code> s'applique à chaque morceau de texte (voir <a class="external" href="http://www.w3.org/TR/SVG/text.html#TextChunks" title="http://www.w3.org/TR/SVG/text.html#TextChunks">"text-chunks" (anglais)</a>) d'un élément <code>text</code> donné. Chaque morceau de texte a une position initiale courante qui est représentée par un point dans le référentiel de coordonnées de l'utilisateur déterminée selon le contexte : par les valeurs des attributs {{ SVGAttr("x") }} et {{ SVGAttr("y") }} sur un élément {{ SVGElement("text") }}, par la position du premier caractère affiché d'un morceau de texte pour un élément {{ SVGElement("tspan") }}, {{ SVGElement("tref") }} ou {{ SVGElement("altGlyph") }} quels que soient les valeurs de ses attributs {{ SVGAttr("x") }} ou {{ SVGAttr("y") }} ou à la position initiale du texte d'un élément {{ SVGElement("textPath") }}.</p> + +<p>En tant qu'attribut de présentation, il peut aussi être utilisé directement comme une propriété dans une feuille de style CSS.</p> + +<h2 id="Contexte_d'utilisation">Contexte d'utilisation</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Catégories</th> + <td>Attribut de présentation</td> + </tr> + <tr> + <th scope="row">Valeur</th> + <td>start | middle | end | <strong title="valeur par défaut">inherit</strong></td> + </tr> + <tr> + <th scope="row">Animable</th> + <td>Oui</td> + </tr> + <tr> + <th scope="row">Document de spécification</th> + <td><a class="external" href="http://www.w3.org/TR/SVG/text.html#TextAnchorProperty" title="http://www.w3.org/TR/SVG/text.html#TextAnchorProperty">SVG 1.1 (2ème Édition) (anglais)</a></td> + </tr> + </tbody> +</table> + +<dl> + <dt>start</dt> + <dd>Les caractères affichés sont alignés de manière à ce que le début du texte soit au même point que la position initiale du texte. Cela produit l'équivalent d'un alignement à gauche du texte latin dans son orientation usuelle (horizontale de gauche à droite). Pour les écritures de droite à gauche comme l'hébreu et l'arabe, c'est alors l'équivalent d'un alignement à droite. Pour certains textes asiatiques avec une orientation verticale de haut en bas, le résultat sera alors comparable à un alignement en haut.</dd> + <dt>middle</dt> + <dd>Les caractères sont affichés de manière à ce que le milieu du texte affiché soit la position initiale du texte. (Pour du texte sur un chemin <code>textPath</code>, le texte est dans un premier temps organisé virtuellement selon une ligne droite. Le point équidistant des extrémités horizontales du texte est alors déterminé. Puis, le texte est projeté sur le chemin <code>textPath</code> avec le point calculé précédemment placé à la position courante du texte.)</dd> + <dt>end</dt> + <dd>Les caractères sont alignés de sorte que la fin du texte soit au même point que la position initiale du texte. Cela produit l'équivalent d'un alignement à droite du texte latin dans son orientation usuelle (horizontale de gauche à droite). Pour les écritures de droite à gauche comme l'hébreu et l'arabe, c'est alors l'équivalent d'un alignement à gauche.</dd> +</dl> + +<h2 id="Exemple" name="Exemple">Exemple</h2> + +<pre class="brush: html line-numbers language-html"><code class="language-html"><span class="prolog token"><?xml version="1.0"?></span> +<span class="tag token"><span class="tag token"><span class="punctuation token"><</span>svg</span> <span class="attr-name token">width</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>120<span class="punctuation token">"</span></span> <span class="attr-name token">height</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>120<span class="punctuation token">"</span></span> <span class="attr-name token">viewBox</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>0 0 120 120<span class="punctuation token">"</span></span> + <span class="attr-name token">xmlns</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>http://www.w3.org/2000/svg<span class="punctuation token">"</span></span> <span class="attr-name token">version</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>1.1<span class="punctuation token">"</span></span><span class="punctuation token">></span></span> + + <span class="comment token"><!-- Materialisation of anchors --></span> + <span class="tag token"><span class="tag token"><span class="punctuation token"><</span>path</span> <span class="attr-name token">d</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>M60,15 L60,110 M30,40 L90,40 M30,75 L90,75 M30,110 L90,110<span class="punctuation token">"</span></span> <span class="attr-name token">stroke</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>grey<span class="punctuation token">"</span></span> <span class="punctuation token">/></span></span> + + + <span class="comment token"><!-- Anchors in action --></span> + <span class="tag token"><span class="tag token"><span class="punctuation token"><</span>text</span> <span class="attr-name token">text-anchor</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>start<span class="punctuation token">"</span></span> + <span class="attr-name token">x</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>60<span class="punctuation token">"</span></span> <span class="attr-name token">y</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>40<span class="punctuation token">"</span></span><span class="punctuation token">></span></span>A<span class="tag token"><span class="tag token"><span class="punctuation token"></</span>text</span><span class="punctuation token">></span></span> + + <span class="tag token"><span class="tag token"><span class="punctuation token"><</span>text</span> <span class="attr-name token">text-anchor</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>middle<span class="punctuation token">"</span></span> + <span class="attr-name token">x</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>60<span class="punctuation token">"</span></span> <span class="attr-name token">y</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>75<span class="punctuation token">"</span></span><span class="punctuation token">></span></span>A<span class="tag token"><span class="tag token"><span class="punctuation token"></</span>text</span><span class="punctuation token">></span></span> + + <span class="tag token"><span class="tag token"><span class="punctuation token"><</span>text</span> <span class="attr-name token">text-anchor</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>end<span class="punctuation token">"</span></span> + <span class="attr-name token">x</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>60<span class="punctuation token">"</span></span> <span class="attr-name token">y</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>110<span class="punctuation token">"</span></span><span class="punctuation token">></span></span>A<span class="tag token"><span class="tag token"><span class="punctuation token"></</span>text</span><span class="punctuation token">></span></span> + + <span class="comment token"><!-- Materialisation of anchors --></span> + <span class="tag token"><span class="tag token"><span class="punctuation token"><</span>circle</span> <span class="attr-name token">cx</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>60<span class="punctuation token">"</span></span> <span class="attr-name token">cy</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>40<span class="punctuation token">"</span></span> <span class="attr-name token">r</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>3<span class="punctuation token">"</span></span> <span class="attr-name token">fill</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>red<span class="punctuation token">"</span></span> <span class="punctuation token">/></span></span> + <span class="tag token"><span class="tag token"><span class="punctuation token"><</span>circle</span> <span class="attr-name token">cx</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>60<span class="punctuation token">"</span></span> <span class="attr-name token">cy</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>75<span class="punctuation token">"</span></span> <span class="attr-name token">r</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>3<span class="punctuation token">"</span></span> <span class="attr-name token">fill</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>red<span class="punctuation token">"</span></span> <span class="punctuation token">/></span></span> + <span class="tag token"><span class="tag token"><span class="punctuation token"><</span>circle</span> <span class="attr-name token">cx</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>60<span class="punctuation token">"</span></span> <span class="attr-name token">cy</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>110<span class="punctuation token">"</span></span> <span class="attr-name token">r</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>3<span class="punctuation token">"</span></span> <span class="attr-name token">fill</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>red<span class="punctuation token">"</span></span> <span class="punctuation token">/></span></span> + +<span class="tag token"><span class="tag token"><span class="punctuation token"><</span>style</span><span class="punctuation token">></span></span><span class="cdata token"><![CDATA[ +text{ + font: bold 36px Verdana, Helvetica, Arial, sans-serif; +} +]]></span><span class="tag token"><span class="tag token"><span class="punctuation token"></</span>style</span><span class="punctuation token">></span></span> +<span class="tag token"><span class="tag token"><span class="punctuation token"></</span>svg</span><span class="punctuation token">></span></span></code></pre> + +<p><strong>Résultat</strong></p> + +<p><a href="https://mdn.mozillademos.org/en-US/docs/Web/SVG/Attribute/text-anchor$samples/Example?revision=648557"><img alt="" src="http://img11.hostingpics.net/pics/616999AAA.png" title="Aperçu de Example?revision=648557"></a></p> + +<h2 id="Éléments">Éléments</h2> + +<p>Les éléments suivants ont l'attribut <code>text-anchor</code></p> + +<ul> + <li><a href="/fr/docs/Web/SVG/Element" title="en/SVG/Element#TextContent">Éléments contenant du texte</a> »</li> +</ul> diff --git a/files/fr/web/svg/attribute/transform/index.html b/files/fr/web/svg/attribute/transform/index.html new file mode 100644 index 0000000000..e8b3843ed2 --- /dev/null +++ b/files/fr/web/svg/attribute/transform/index.html @@ -0,0 +1,264 @@ +--- +title: transform +slug: Web/SVG/Attribute/transform +tags: + - Attribut + - SVG +translation_of: Web/SVG/Attribute/transform +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>transform</code></strong> définit une liste de définitions de transformation qui sont appliquées à l'élément ainsi qu'à ses éléments fils.</p> + +<div id="topExample"> +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% }</pre> +</div> + +<pre class="brush: html"><svg viewBox="-40 0 150 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <g fill="grey" + transform="rotate(-10 50 100) + translate(-36 45.5) + skewX(40) + scale(1 0.5)"> + <path id="heart" d="M 10,30 A 20,20 0,0,1 50,30 A 20,20 0,0,1 90,30 Q 90,60 50,90 Q 10,60 10,30 z" /> + </g> + + <use xlink:href="#heart" fill="none" stroke="red"/> +</svg> +</pre> + +<p>{{EmbedLiveSample('topExample', '100%', 200)}}</p> +</div> + +<p class="note"><strong>Note :</strong> Pour SVG2, <code>transform</code> est un attribut de présentation et peut donc être utilisé comme une propriété CSS. Attention toutefois aux différences de syntaxe entre la propriété CSS et cet attribut. Voir la documentation de la propriété {{cssxref('transform')}} pour la syntaxe .</p> + +<p>En tant qu'attribut de présentation, <strong><code>transform</code></strong> peut être utilisé par n'importe quel élément (en SVG 1.1, seuls les 16 éléments suivants pouvaient l'utiliser : {{SVGElement('a')}}, {{SVGElement('circle')}}, {{SVGElement('clipPath')}}, {{SVGElement('defs')}}, {{SVGElement('ellipse')}}, {{SVGElement('foreignObject')}}, {{SVGElement('g')}}, {{SVGElement('image')}}, {{SVGElement('line')}}, {{SVGElement('path')}}, {{SVGElement('polygon')}}, {{SVGElement('polyline')}}, {{SVGElement('rect')}}, {{SVGElement('switch')}}, {{SVGElement('text')}} et {{SVGElement('use')}}).</p> + +<p>Pour des raisons historiques liées à SVG 1.1, {{SVGElement('linearGradient')}} et {{SVGElement('radialGradient')}} prennent en charge l'attribut <code>gradientTransform</code> et {{SVGElement('pattern')}} permet d'utiliser <code>patternTransform</code>. Ces deux attributs sont exactement synonymes de l'attribut <code>transform</code>.</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="row">Valeur</th> + <td><code><strong><a href="/fr/docs/Web/SVG/Content_type#Transform-list"><transform-list></a></strong></code></td> + </tr> + <tr> + <th scope="row">Valeur par défaut</th> + <td><code>none</code></td> + </tr> + <tr> + <th scope="row">Peut être animé</th> + <td>Oui</td> + </tr> + </tbody> +</table> + +<h2 id="Fonctions_de_transformation">Fonctions de transformation</h2> + +<p>Les fonctions de transformation suivantes peuvent être utilisées par l'attribut <code>transform</code>.</p> + +<p class="warning"><strong>Attention !</strong> Selon la spécification, on devrait également pouvoit utiliser les fonctions CSS {{cssxref('transform-function', 'transform functions')}} mais la compatibilité n'est pas assurée.</p> + +<h3 id="matrix"><code>matrix()</code></h3> + +<p>La fonction de transformation <code>matrix(<a> <b> <c> <d> <e> <f>)</code> permet d'appliquer une transformation géométrique décrite par 6 coefficients et <code>matrix(a,b,c,d,e,f)</code> sera équivalent à la matrice de transformation mathématique :<math display="block"><semantics><mrow><mo>(</mo><mtable rowspacing="0.5ex"><mtr><mtd><mi>a</mi></mtd><mtd><mi>c</mi></mtd><mtd><mi>e</mi></mtd></mtr><mtr><mtd><mi>b</mi></mtd><mtd><mi>d</mi></mtd><mtd><mi>f</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable><mo>)</mo></mrow><annotation encoding="TeX">\begin{pmatrix} a & c & e \\ b & d & f \\ 0 & 0 & 1 \end{pmatrix}</annotation></semantics></math>Le calcul des coordonnées s'obtient de la façon suivante :<math display="block"><semantics><mrow><mrow><mo>(</mo><mtable rowspacing="0.5ex"><mtr><mtd><msub><mi>x</mi><mstyle mathvariant="normal"><mrow><mi>n</mi><mi>e</mi><mi>w</mi><mi>C</mi><mi>o</mi><mi>o</mi><mi>r</mi><mi>d</mi><mi>S</mi><mi>y</mi><mi>s</mi></mrow></mstyle></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mstyle mathvariant="normal"><mrow><mi>n</mi><mi>e</mi><mi>w</mi><mi>C</mi><mi>o</mi><mi>o</mi><mi>r</mi><mi>d</mi><mi>S</mi><mi>y</mi><mi>s</mi></mrow></mstyle></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mtable rowspacing="0.5ex"><mtr><mtd><mi>a</mi></mtd><mtd><mi>c</mi></mtd><mtd><mi>e</mi></mtd></mtr><mtr><mtd><mi>b</mi></mtd><mtd><mi>d</mi></mtd><mtd><mi>f</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable><mo>)</mo></mrow><mrow><mo>(</mo><mtable rowspacing="0.5ex"><mtr><mtd><msub><mi>x</mi><mstyle mathvariant="normal"><mrow><mi>p</mi><mi>r</mi><mi>e</mi><mi>v</mi><mi>C</mi><mi>o</mi><mi>o</mi><mi>r</mi><mi>d</mi><mi>S</mi><mi>y</mi><mi>s</mi></mrow></mstyle></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mstyle mathvariant="normal"><mrow><mi>p</mi><mi>r</mi><mi>e</mi><mi>v</mi><mi>C</mi><mi>o</mi><mi>o</mi><mi>r</mi><mi>d</mi><mi>S</mi><mi>y</mi><mi>s</mi></mrow></mstyle></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mtable rowspacing="0.5ex"><mtr><mtd><mi>a</mi><msub><mi>x</mi><mstyle mathvariant="normal"><mrow><mi>p</mi><mi>r</mi><mi>e</mi><mi>v</mi><mi>C</mi><mi>o</mi><mi>o</mi><mi>r</mi><mi>d</mi><mi>S</mi><mi>y</mi><mi>s</mi></mrow></mstyle></msub><mo>+</mo><mi>c</mi><msub><mi>y</mi><mstyle mathvariant="normal"><mrow><mi>p</mi><mi>r</mi><mi>e</mi><mi>v</mi><mi>C</mi><mi>o</mi><mi>o</mi><mi>r</mi><mi>d</mi><mi>S</mi><mi>y</mi><mi>s</mi></mrow></mstyle></msub><mo>+</mo><mi>e</mi></mtd></mtr><mtr><mtd><mi>b</mi><msub><mi>x</mi><mstyle mathvariant="normal"><mrow><mi>p</mi><mi>r</mi><mi>e</mi><mi>v</mi><mi>C</mi><mi>o</mi><mi>o</mi><mi>r</mi><mi>d</mi><mi>S</mi><mi>y</mi><mi>s</mi></mrow></mstyle></msub><mo>+</mo><mi>d</mi><msub><mi>y</mi><mstyle mathvariant="normal"><mrow><mi>p</mi><mi>r</mi><mi>e</mi><mi>v</mi><mi>C</mi><mi>o</mi><mi>o</mi><mi>r</mi><mi>d</mi><mi>S</mi><mi>y</mi><mi>s</mi></mrow></mstyle></msub><mo>+</mo><mi>f</mi></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable><mo>)</mo></mrow></mrow><annotation encoding="TeX"> \begin{pmatrix} x_{\mathrm{newCoordSys}} \\ y_{\mathrm{newCoordSys}} \\ 1 \end{pmatrix} = \begin{pmatrix} a & c & e \\ b & d & f \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x_{\mathrm{prevCoordSys}} \\ y_{\mathrm{prevCoordSys}} \\ 1 \end{pmatrix} = \begin{pmatrix} a x_{\mathrm{prevCoordSys}} + c y_{\mathrm{prevCoordSys}} + e \\ b x_{\mathrm{prevCoordSys}} + d y_{\mathrm{prevCoordSys}} + f \\ 1 \end{pmatrix} </annotation></semantics></math></p> + +<h4 id="Exemples">Exemples</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% } +</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"> + <rect x="10" y="10" width="30" height="20" fill="green" /> + + <!-- + Dans l'exemple suivant, on applique la matrice suivante: + [a c e] [3 -1 30] + [b d f] => [1 3 40] + [0 0 1] [0 0 1] + + qui transforme le rectangle de cette façon: + + top left corner: oldX=10 oldY=10 + newX = a * oldX + c * oldY + e = 3 * 10 - 1 * 10 + 30 = 50 + newY = b * oldX + d * oldY + f = 1 * 10 + 3 * 10 + 40 = 80 + + top right corner: oldX=40 oldY=10 + newX = a * oldX + c * oldY + e = 3 * 40 - 1 * 10 + 30 = 140 + newY = b * oldX + d * oldY + f = 1 * 40 + 3 * 10 + 40 = 110 + + bottom left corner: oldX=10 oldY=30 + newX = a * oldX + c * oldY + e = 3 * 10 - 1 * 30 + 30 = 30 + newY = b * oldX + d * oldY + f = 1 * 10 + 3 * 30 + 40 = 140 + + bottom right corner: oldX=40 oldY=30 + newX = a * oldX + c * oldY + e = 3 * 40 - 1 * 30 + 30 = 120 + newY = b * oldX + d * oldY + f = 1 * 40 + 3 * 30 + 40 = 170 + --> + <rect x="10" y="10" width="30" height="20" fill="red" + transform="matrix(3 1 -1 3 30 40)" /> +</svg></pre> + +<p>{{EmbedLiveSample('matrix()', '100%', 200)}}</p> + +<h3 id="translate"><code>translate()</code></h3> + +<p>La fonction de transformation <code>translate(<x> [<y>])</code> permet de déplacer un objet de <code>x</code> sur l'axe horizontal et de <code>y</code> sur l'axe vertical (i.e. <code>x<sub>new</sub> = x<sub>old</sub> + <x>, y<sub>new</sub> = y<sub>old</sub> + <y></code>). Si <code>y</code> n'est pas fourni, la valeur par défaut est 0.</p> + +<h4 id="Exemples_2">Exemples</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% } +</pre> +</div> + +<pre class="brush: html"><svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> + <!-- Pas de translation --> + <rect x="5" y="5" width="40" height="40" fill="green" /> + + <!-- Translation horizontale --> + <rect x="5" y="5" width="40" height="40" fill="blue" + transform="translate(50)" /> + + <!-- Translation verticale --> + <rect x="5" y="5" width="40" height="40" fill="red" + transform="translate(0 50)" /> + + <!-- Translation horizontale et verticale --> + <rect x="5" y="5" width="40" height="40" fill="yellow" + transform="translate(50,50)" /> +</svg></pre> + +<p>{{EmbedLiveSample('translate()', '100%', 200)}}</p> + +<h3 id="scale"><code>scale()</code></h3> + +<p>La fonction de transformation <code>scale(<x> [<y>])</code> définit une homothétie d'un facteur <code>x</code> en horizontal et d'un facteur <code>y</code> en vertical. Si la valeur <code>y</code> n'est pas fournie, on considère qu'elle est égale à <code>x</code>.</p> + +<h4 id="Exemples_3">Exemples</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% } +</pre> +</div> + +<pre class="brush: html"><svg viewBox="-50 -50 100 100" xmlns="http://www.w3.org/2000/svg"> + <!-- uniform scale --> + <circle cx="0" cy="0" r="10" fill="red" + transform="scale(4)" /> + + <!-- vertical scale --> + <circle cx="0" cy="0" r="10" fill="yellow" + transform="scale(1,4)" /> + + <!-- horizontal scale --> + <circle cx="0" cy="0" r="10" fill="pink" + transform="scale(4,1)" /> + + <!-- No scale --> + <circle cx="0" cy="0" r="10" fill="black" /> +</svg></pre> + +<p>{{EmbedLiveSample('scale()', '100%', 200)}}</p> + +<h3 id="rotate"><code>rotate()</code></h3> + +<p>La fonction de transformation <code>rotate(<a> [<x> <y>])</code> définit une rotation de <code>a</code> degrés autour d'un point de coordonnées <code>x</code> et <code>y</code>. Si les paramètres optionnels <code>x</code> et <code>y</code> ne sont pas fournis, la rotation est effectuée autour de l'origine dans le système de coordonnés actuel.</p> + +<h4 id="Exemples_4">Exemples</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% } +</pre> +</div> + +<pre class="brush: html"><svg viewBox="-12 -2 34 14" xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="10" height="10" /> + + <!-- rotation is done around the point 0,0 --> + <rect x="0" y="0" width="10" height="10" fill="red" + transform="rotate(100)" /> + + <!-- rotation is done around the point 10,10 --> + <rect x="0" y="0" width="10" height="10" fill="green" + transform="rotate(100,10,10)" /> +</svg></pre> + +<p>{{EmbedLiveSample('rotate()', '100%', 200)}}</p> + +<h3 id="skewX"><code>skewX()</code></h3> + +<p>La fonction de transformation <code>skewX(<a>)</code> définit une distorsion horizontale de <code>a</code> degrés.</p> + +<h4 id="Exemples_5">Exemples</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% } +</pre> +</div> + +<pre class="brush: html"><svg viewBox="-5 -5 10 10" xmlns="http://www.w3.org/2000/svg"> + <rect x="-3" y="-3" width="6" height="6" /> + + <rect x="-3" y="-3" width="6" height="6" fill="red" + transform="skewX(30)" /> +</svg></pre> + +<p>{{EmbedLiveSample('skewX()', '100%', 200)}}</p> + +<h3 id="skewY"><code>skewY()</code></h3> + +<p>La fonction de transformation <code>skewY(<a>)</code> définit une distorsion verticale de <code>a</code> degrés.</p> + +<h4 id="Exemples_6">Exemples</h4> + +<div class="hidden"> +<pre class="brush: css">html,body,svg { height:100% } +</pre> +</div> + +<pre class="brush: html"><svg viewBox="-5 -5 10 10" xmlns="http://www.w3.org/2000/svg"> + <rect x="-3" y="-3" width="6" height="6" /> + + <rect x="-3" y="-3" width="6" height="6" fill="red" + transform="skewY(30)" /> +</svg></pre> + +<p>{{EmbedLiveSample('skewY()', '100%', 200)}}</p> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">État</th> + <th scope="col">Commentaires</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('CSS Transforms 2', '#svg-transform', 'transform')}}</td> + <td>{{Spec2('CSS Transforms 2')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('CSS3 Transforms', '#svg-transform', 'transform')}}</td> + <td>{{Spec2('CSS3 Transforms')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName("SVG2", "coords.html#TransformProperty", "transform")}}</td> + <td>{{Spec2("SVG2")}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName("SVG1.1", "coords.html#TransformAttribute", "transform")}}</td> + <td>{{Spec2("SVG1.1")}}</td> + <td>Définition initiale.</td> + </tr> + </tbody> +</table> diff --git a/files/fr/web/svg/attribute/viewbox/index.html b/files/fr/web/svg/attribute/viewbox/index.html new file mode 100644 index 0000000000..a0e011419f --- /dev/null +++ b/files/fr/web/svg/attribute/viewbox/index.html @@ -0,0 +1,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 class="external" href="http://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute" title="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> diff --git a/files/fr/web/svg/attribute/width/index.html b/files/fr/web/svg/attribute/width/index.html new file mode 100644 index 0000000000..fe3a191725 --- /dev/null +++ b/files/fr/web/svg/attribute/width/index.html @@ -0,0 +1,68 @@ +--- +title: Width +slug: Web/SVG/Attribute/width +translation_of: Web/SVG/Attribute/width +--- +<p>« <a href="/en/SVG/Attribute" title="en/SVG/Attribute">SVG Attribute reference home</a></p> + +<p>Cet attribut indique une dimension horizontale <code><length></code> dans le système de coordonnées. La donnée (ou coordonnée) définie par cet attribut dépend de l'élément sur lequel il est appliqué. La plupart du temps, il représente la largeur de la région rectangulaire composant l'élément (voir les exceptions dans la documentation pour chaque type d'élément).</p> + +<p>Cet attribut doit être spécifié, hormis pour les éléments {{ SVGElement("svg") }} dont la valeur par défaut est de 100% (exepté pour l'élément racine {{ SVGElement("svg") }} qui possède un parent HTML), {{ SVGElement("filter") }} et {{ SVGElement("mask") }} dont la valeur par défaut est de 120%.</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><a href="/en/SVG/Content_type#Length" title="https://developer.mozilla.org/en/SVG/Content_type#Length"><length></a></td> + </tr> + <tr> + <th scope="row">Animable</th> + <td>Oui</td> + </tr> + <tr> + <th scope="row">Document normatif</th> + <td><a class="external" href="http://www.w3.org/TR/SVG/extend.html#ForeignObjectElementWidthAttribute" title="http://www.w3.org/TR/SVG/extend.html#ForeignObjectElementWidthAttribute">SVG 1.1 (2nd Edition): foreignObject element</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/struct.html#ImageElementWidthAttribute" title="http://www.w3.org/TR/SVG/struct.html#ImageElementWidthAttribute">SVG 1.1 (2nd Edition): image element</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/pservers.html#PatternElementWidthAttribute" title="http://www.w3.org/TR/SVG/pservers.html#PatternElementWidthAttribute">SVG 1.1 (2nd Edition): pattern element</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/shapes.html#RectElementWidthAttribute" title="http://www.w3.org/TR/SVG/shapes.html#RectElementWidthAttribute">SVG 1.1 (2nd Edition): rect element</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/struct.html#SVGElementWidthAttribute" title="http://www.w3.org/TR/SVG/struct.html#SVGElementWidthAttribute">SVG 1.1 (2nd Edition): svg element</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/struct.html#UseElementWidthAttribute" title="http://www.w3.org/TR/SVG/struct.html#UseElementWidthAttribute">SVG 1.1 (2nd Edition): use element</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveWidthAttribute" title="http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveWidthAttribute">SVG 1.1 (2nd Edition): Filter primitive</a><br> + <a class="external" href="http://www.w3.org/TR/SVG/masking.html#MaskElementWidthAttribute" title="http://www.w3.org/TR/SVG/masking.html#MaskElementWidthAttribute">SVG 1.1 (2nd Edition): mask element</a></td> + </tr> + </tbody> +</table> + +<p>{{ page("fr/docs/Web/SVG/Content_type","Length") }}</p> + +<h2 id="Exemple">Exemple</h2> + +<pre class="brush: xml line-numbers language-xml"><code class="language-xml"><span class="prolog token"><?xml version="1.0"?></span> +<span class="tag token"><span class="tag token"><span class="punctuation token"><</span>svg</span> <span class="attr-name token">width</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>120<span class="punctuation token">"</span></span> <span class="attr-name token">height</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>120<span class="punctuation token">"</span></span> + <span class="attr-name token">viewBox</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>0 0 120 120<span class="punctuation token">"</span></span> + <span class="attr-name token">xmlns</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>http://www.w3.org/2000/svg<span class="punctuation token">"</span></span><span class="punctuation token">></span></span> + + <span class="tag token"><span class="tag token"><span class="punctuation token"><</span>rect</span> <span class="attr-name token">x</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>10<span class="punctuation token">"</span></span> <span class="attr-name token">y</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>10<span class="punctuation token">"</span></span> <span class="attr-name token">width</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>100<span class="punctuation token">"</span></span> <span class="attr-name token">height</span><span class="attr-value token"><span class="punctuation token">=</span><span class="punctuation token">"</span>100<span class="punctuation token">"</span></span><span class="punctuation token">/></span></span> +<span class="tag token"><span class="tag token"><span class="punctuation token"></</span>svg</span><span class="punctuation token">></span></span></code></pre> + +<h2 id="Eléments">Eléments</h2> + +<p>Les éléments suivants peuvent utiliser l'attribut <code>width</code> :</p> + +<ul> + <li><a href="/en/SVG/Element#FilterPrimitive" title="en/SVG/Element#FilterPrimitive">Filter primitive elements</a> »</li> + <li>{{ SVGElement("filter") }}</li> + <li>{{ SVGElement("foreignObject") }}</li> + <li>{{ SVGElement("image") }}</li> + <li>{{ SVGElement("pattern") }}</li> + <li>{{ SVGElement("rect") }}</li> + <li>{{ SVGElement("svg") }}</li> + <li>{{ SVGElement("use") }}</li> + <li>{{ SVGElement("mask") }}</li> +</ul> diff --git a/files/fr/web/svg/attribute/x/index.html b/files/fr/web/svg/attribute/x/index.html new file mode 100644 index 0000000000..86786e50e3 --- /dev/null +++ b/files/fr/web/svg/attribute/x/index.html @@ -0,0 +1,88 @@ +--- +title: x +slug: Web/SVG/Attribute/x +tags: + - Attribut + - NeedsCompatTable + - NeedsUpdate + - SVG +translation_of: Web/SVG/Attribute/x +--- +<div>{{SVGRef}}</div> + +<p>L'attribut <strong><code>x</code></strong> indique une coordonnée en x pour le système des coordonnées de l'utilisateur. L'effet de cette coordonnée dépend de l'élément sur lequel elle est utilisée. La plupart du temps, elle représente l'abscisse du coin en haut à gauche de la région rectangulaire pour l'élément. Cet attribut a la même syntaxe que <code><a href="https://www.w3.org/TR/SVG11/types.html#DataTypeLength"><length></a></code></p> + +<p>Si cet attribut n'est pas défini, on aura le même effet que si on avait utilisé la valeur <strong>0</strong>. Les éléments {{SVGElement("filter")}} et {{SVGElement("mask")}} font exception à cette règle, la valeur par défaut pour cet attribut est ici <strong>-10%</strong>.</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">Type de valeur</th> + <td><code><a href="/fr/docs/Web/SVG/Content_type#Coordinate"><coordinate></a></code></td> + </tr> + <tr> + <th scope="row">Peut être animée</th> + <td>Oui</td> + </tr> + <tr> + <th scope="row">Spécifications</th> + <td><a class="external" href="https://www.w3.org/TR/SVG/text.html#AltGlyphElementXAttribute">SVG 1.1 (seconde édition) : élément <code>altGlyph</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/interact.html#CursorElementXAttribute">SVG 1.1 (seconde édition) : élément <code>cursor</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/filters.html#fePointLightXAttribute">SVG 1.1 (seconde édition) : élément <code>fePointLight</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/filters.html#feSpotLightXAttribute">SVG 1.1 (seconde édition) : élément <code>feSpotLight</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/filters.html#FilterElementXAttribute">SVG 1.1 (seconde édition) : élément <code>filter</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/extend.html#ForeignObjectElementXAttribute">SVG 1.1 (seconde édition) : élément <code>foreignObject</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/text.html#GlyphRefElementXAttribute">SVG 1.1 (seconde édition) : élément <code>glyphRef</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/struct.html#ImageElementXAttribute">SVG 1.1 (seconde édition) : élément <code>image</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/pservers.html#PatternElementXAttribute">SVG 1.1 (seconde édition) : élément <code>pattern</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/shapes.html#RectElementXAttribute">SVG 1.1 (seconde édition) : élément <code>rect</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/struct.html#SVGElementXAttribute">SVG 1.1 (seconde édition) : élément <code>svg</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/text.html#TextElementXAttribute">SVG 1.1 (seconde édition) : élément <code>text</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/struct.html#UseElementXAttribute">SVG 1.1 (seconde édition) : élément <code>use</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/filters.html#FilterPrimitiveXAttribute">SVG 1.1 (seconde édition) : primitive de filtre</a><br> + <a class="external" href="https://www.w3.org/TR/SVG/masking.html#MaskElementXAttribute">SVG 1.1 (seconde édition) : élément <code>mask</code></a><br> + <a class="external" href="https://www.w3.org/TR/SVG/text.html#TSpanElementXAttribute">SVG 1.1 (seconde édition) : élément <code>tspan</code></a></td> + </tr> + </tbody> +</table> + +<p>{{page("/fr/docs/Web/SVG/Content_type","coordinate")}}</p> + +<h2 id="Exemples">Exemples</h2> + +<pre class="brush: xml"><?xml version="1.0"?> +<svg width="120" height="120" + viewBox="0 0 120 120" + xmlns="https://www.w3.org/2000/svg"> + + <rect x="10" y="10" width="100" height="100"/> +</svg></pre> + +<h2 id="Éléments">Éléments</h2> + +<p>On peut utiliser l'attribut <code>x</code> sur les éléments suivants :</p> + +<ul> + <li><a href="/fr/docs/Web/SVG/Element#Éléments_de_primitives_de_filtre">Les éléments de primitives de filtres</a></li> + <li>{{SVGElement("altGlyph")}}</li> + <li>{{SVGElement("fePointLight")}}</li> + <li>{{SVGElement("feSpotLight")}}</li> + <li>{{SVGElement("filter")}}</li> + <li>{{SVGElement("foreignObject")}}</li> + <li>{{SVGElement("glyphRef")}}</li> + <li>{{SVGElement("image")}}</li> + <li>{{SVGElement("pattern")}}</li> + <li>{{SVGElement("rect")}}</li> + <li>{{SVGElement("svg")}}</li> + <li>{{SVGElement("text")}}</li> + <li>{{SVGElement("use")}}</li> + <li>{{SVGElement("mask")}}</li> + <li>{{SVGElement("tref")}}</li> + <li>{{SVGElement("tspan")}}</li> +</ul> |