aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/css/cross-fade()/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'files/fr/web/css/cross-fade()/index.md')
-rw-r--r--files/fr/web/css/cross-fade()/index.md159
1 files changed, 159 insertions, 0 deletions
diff --git a/files/fr/web/css/cross-fade()/index.md b/files/fr/web/css/cross-fade()/index.md
new file mode 100644
index 0000000000..452ff95ab5
--- /dev/null
+++ b/files/fr/web/css/cross-fade()/index.md
@@ -0,0 +1,159 @@
+---
+title: cross-fade()
+slug: Web/CSS/cross-fade()
+tags:
+ - CSS
+ - Experimental
+ - Fonction
+ - Reference
+translation_of: Web/CSS/cross-fade()
+---
+<div>{{draft}}{{CSSRef}}</div>
+
+<p>La fonction CSS <strong><code>cross-fade()</code></strong> peut être utilisée afin de fusionner deux ou plusieurs images avec une transparence donnée. On peut l'utiliser pour de nombreuses manipulations d'image : teinter une image avec une couleur donnée ou mettre en avant une zone de l'image en combinant celle-ci avec un dégradé radial.</p>
+
+<div class="warning">
+<p><strong>Attention :</strong> À l'heure actuelle (janvier 2019), la syntaxe décrite par la spécification et les syntaxes implémentées sont différentes. Nous commencerons ici par définir la syntaxe telle que définie par la spécification puis celle utilisée au sein des implémentations actuelles.</p>
+</div>
+
+<h2 id="Syntaxe_spécification">Syntaxe (spécification)</h2>
+
+<p>La fonction <code>cross-fade()</code> prend comme argument une liste d'images accompagnée d'un pourcentage qui définit la proportion de chaque image dans le « mélange » obtenu. La valeur en pourcentage ne doit pas être entourée de quotes, doit contenir le symbole « % » et être comprise entre 0% et 100%.</p>
+
+<p>Cette fonction pourra être utilisée à tout endroit où une image (cf. {{cssxref("&lt;image&gt;")}}) CSS peut être utilisée.</p>
+
+<h3 id="Utilisation_des_pourcentages">Utilisation des pourcentages</h3>
+
+<p>Le pourcentage utilisé pour chaque image peut être considéré comme une valeur d'opacité. Un coefficient à 0% indiquera que l'image sera complètement transparente pour le mélange final tandis qu'un coefficient à 100% rendra l'image complètement opaque. Si un des pourcentages est absent, l'ensemble des pourcentages exprimés est sommé et la différence avec 100% est répartie également entre toutes les images qui n'ont pas de coefficient.</p>
+
+<pre class="brush: css">cross-fade(url(white.png) 0%, url(black.png) 100%); /* complètement noire */
+cross-fade(url(white.png) 25%, url(black.png) 75%); /* 25% blanche, 75% noire*/
+cross-fade(url(white.png) 50%, url(black.png) 50%); /* 50% blanche, 50% noire */
+cross-fade(url(white.png) 75%, url(black.png) 25%); /* 75% blanche, 25% noire */
+cross-fade(url(white.png) 100%, url(black.png) 0%); /* complètement blanche */
+cross-fade(url(green.png) 75%, url(red.png) 75%); /* image avec du rouge et vert à 75% */
+</pre>
+
+<p>Dans le cas le plus simple, seules deux images sont fusionnées. Dans ce cas, seul un coefficient est nécessaire (la seconde image recevra dans tous les cas le complément à 100% du premier coefficient). Ainsi, si on utilise 0% pour la première image, le mélange résultant correspondra à la deuxième image. Inversement, un coefficient de 100% pour la première image masquera complètement la seconde. Utiliser 50% permettra d'obtenir un mélange à proportions égales. Un coefficient de 75% montrera la première image à 75% et la seconde à 25%.</p>
+
+<p>Les lignes précédentes peuvent ainsi s'écrire également :</p>
+
+<pre class="brush: css">cross-fade(url(white.png) 0%, url(black.png)); /* complètement noire */
+cross-fade(url(white.png) 25%, url(black.png)); /* 25% blanche, 75% noire*/
+cross-fade(url(white.png), url(black.png)); /* 50% blanche, 50% noire */
+cross-fade(url(white.png) 75%, url(black.png)); /* 75% blanche, 25% noire */
+cross-fade(url(white.png) 100%, url(black.png)); /* complètement blanche */
+cross-fade(url(green.png) 75%, url(red.png) 75%); /* image avec du rouge et vert à 75% */
+</pre>
+
+<p>Si aucun pourcentage n'est indiqué, toutes les images contribuent également (si on a deux images, chacune contribuera à 50%).</p>
+
+<h3 id="Syntaxe_formelle">Syntaxe formelle</h3>
+
+<p>{{csssyntax}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="HTML">HTML</h3>
+
+<pre class="brush: html">&lt;div id="div"&gt;&lt;/div&gt;</pre>
+
+<h3 id="CSS">CSS</h3>
+
+<pre class="brush: css">#div {
+ width: 300px;
+ height: 300px;
+ background-image: cross-fade(
+ 75% url('https://mdn.mozillademos.org/files/8543/br.png'),
+ url('https://mdn.mozillademos.org/files/8545/tr.png'));
+}</pre>
+
+<h3 id="Résultat">Résultat</h3>
+
+<p>{{EmbedLiveSample("Exemples", "330", "330")}}</p>
+
+<h2 id="Ancienne_syntaxe_implémentations">Ancienne syntaxe (implémentations)</h2>
+
+<pre class="syntaxbox">cross-fade( &lt;image, &lt;image&gt;, &lt;percentage&gt; )</pre>
+
+<p>La spécification de la fonction <code>cross-fade()</code> permet d'avoir plusieurs images et d'associer un coefficient de transparence à chacune des images. Ce n'a pas toujours été le cas et <a href="#syntaxe">la syntaxe originale</a>, implémentée par certains navigateurs, ne permet d'avoir que deux images pour lesquelles la somme des coefficients doit être 100%. Cette syntaxe est prise en charge par Safari et préfixée avec <code>-webkit-</code> pour Chrome, Opera et les autres navigateurs basés sur Blink.</p>
+
+<pre class="brush: css">cross-fade(url(white.png), url(black.png), 0%); /* complètement noire */
+cross-fade(url(white.png), url(black.png), 25%); /* 25% blanche, 75% noire */
+cross-fade(url(white.png), url(black.png), 50%); /* 50% blanche, 50% noire */
+cross-fade(url(white.png), url(black.png), 75%); /* 75% blanche, 25% noire */
+cross-fade(url(white.png), url(black.png), 100%); /* complètement blanche */
+</pre>
+
+<p>Pour cette syntaxe, les deux images sont déclarées en premières et séparées par une virgule puis arrive le coefficient. Si la virgule ou si le caractère pourcent est absent, la propriété est considérée invalide. Le coefficient utilisé dans la syntaxe est attribué à la première image. La deuxième image utilisera donc un coefficient implicite qui est le complément à 100 du premier complément.</p>
+
+<p>Dans les exemples associés à la syntaxe de la spécification, on avait un cas où la somme des coefficients valait 150% : ce cas ne serait pas possible avec la syntaxe implémentée actuellement. De même, on ne peut pas mélanger trois images (ou plus) avec cette syntaxe.</p>
+
+<h3 id="Exemples_2">Exemples</h3>
+
+<h4 id="CSS_2">CSS</h4>
+
+<pre class="brush: css">.crossfade {
+ width: 300px;
+ height: 300px;
+ background-image: -webkit-cross-fade(
+ url('https://mdn.mozillademos.org/files/8543/br.png'),
+ url('https://mdn.mozillademos.org/files/8545/tr.png'),
+ 75%);
+ background-image: cross-fade(
+ url('https://mdn.mozillademos.org/files/8543/br.png'),
+ url('https://mdn.mozillademos.org/files/8545/tr.png'),
+ 75%);
+}</pre>
+
+<h4 id="HTML_2">HTML</h4>
+
+<pre class="brush: html">&lt;div class="crossfade"&gt;&lt;/div&gt;</pre>
+
+<h4 id="Résultat_2">Résultat</h4>
+
+<p>{{EmbedLiveSample("Ancienne_syntaxe_(implémentations)", "330", "330")}}</p>
+
+<h2 id="Accessibilité">Accessibilité</h2>
+
+<p>Les outils d'assistance ne peuvent pas analyser les images d'arrière-plan. Si l'image contient des informations essentielles à la compréhension du document, mieux vaudra la décrire de façon sémantique dans le document afin que ce dernier soit correctement accessible. Lorsqu'on utilisera des images d'arrière-plan, on s'assurera que le contraste est suffisamment élevé par rapport au texte qui serait affiché par dessus.</p>
+
+<ul>
+ <li><a href="/fr/docs/Web/Accessibility/Understanding_WCAG/Perceivable#Guideline_1.1_%E2%80%94_Providing_text_alternatives_for_non-text_content">Comprendre les règles WCAG 1.1.</a></li>
+ <li><a href="https://www.w3.org/TR/2016/NOTE-UNDERSTANDING-WCAG20-20161007/text-equiv-all.html">Comprendre les critères de succès 1.1.1  pour WCAG 2.0</a></li>
+</ul>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th>Spécification</th>
+ <th>État</th>
+ <th>Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('CSS4 Images', '#cross-fade-function', 'cross-fade()')}}</td>
+ <td>{{Spec2('CSS4 Images')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div>{{Compat("css.types.image.cross-fade")}}</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{cssxref("image")}}</li>
+ <li>{{cssxref("url")}}</li>
+ <li>{{cssxref("_image", "image()")}}</li>
+ <li>{{cssxref("image-set")}}</li>
+ <li>{{cssxref("element()")}}</li>
+ <li><a href="/fr/docs/Web/CSS/CSS_Images/Using_CSS_gradients" title="Using gradients">Utiliser les dégradés CSS</a></li>
+ <li>Fonctions de création de dégradés : {{cssxref("linear-gradient", "linear-gradient()")}}, {{cssxref("radial-gradient", "radial-gradient()")}}, {{cssxref("repeating-linear-gradient", "repeating-linear-gradient()")}}, {{cssxref("repeating-radial-gradient", "repeating-radial-gradient()")}}, {{cssxref("conic-gradient", "conic-gradient()")}},</li>
+</ul>