aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/css/@property/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'files/fr/web/css/@property/index.md')
-rw-r--r--files/fr/web/css/@property/index.md80
1 files changed, 80 insertions, 0 deletions
diff --git a/files/fr/web/css/@property/index.md b/files/fr/web/css/@property/index.md
new file mode 100644
index 0000000000..cdcb5770ff
--- /dev/null
+++ b/files/fr/web/css/@property/index.md
@@ -0,0 +1,80 @@
+---
+title: '@property'
+slug: Web/CSS/@property
+browser-compat: css.at-rules.property
+translation_of: 'Web/CSS/@property'
+---
+<div>{{CSSRef}}{{SeeCompatTable}}</div>
+
+<p>La règle {{cssxref("at-rule")}} <a href="/fr/docs/Web/CSS">CSS</a> <strong><code>@property</code></strong> fait partie du panel d'API <a href="/fr/docs/Web/Houdini">CSS Houdini</a>, qui permet de définir explicitement leurs propriétés CSS personnalisées (voir {{cssxref('--*', 'CSS custom properties')}}). Cela permet la vérification des types de propriétés, de leur donner des valeurs par défaut et de déterminer si une propriété peut hériter ses valeurs ou non.</p>
+
+<p>La règle <code>@property</code> permet l'enregistrement d'une propriété personnalisée directement dans une feuille de styles sans avoir à utiliser la moindre ligne de JavaScript. Une règle <code>@property</code> valide enregistre une nouvelle propriété personnalisée comme si {{domxref('CSS.registerProperty')}} avait été appelé avec les mêmes paramètres.</p>
+
+<h2 id="syntax">Syntaxe</h2>
+
+<pre class="brush: css no-line-numbers">@property --property-name {
+ syntax: '&lt;color&gt;';
+ inherits: false;
+ initial-value: #c0ffee;
+}</pre>
+
+<h3 id="descriptors">Descripteurs</h3>
+
+<dl>
+ <dt>{{cssxref("@property/syntax","syntax")}}</dt>
+ <dd>Décrit la syntaxe autorisée de la propriété.</dd>
+ <dt>{{cssxref("@property/inherits","inherits")}}</dt>
+ <dd>Détermine si l'enregistrement de la propriété personnalisée spécifiée avec <code>@property</code> hérite ou non par défaut.</dd>
+ <dt>{{cssxref("@property/initial-value","initial-value")}}</dt>
+ <dd>Détermine la valeur initiale de la propriété.</dd>
+</dl>
+
+<p>Une règle <code>@property</code> valide enregistre une propriété personnalisée avec comme nom de propriété la sérialisation de du préfixe de la règle.</p>
+
+<p>Une règle <code>@property</code> nécessite le respecte d'une syntaxe (voir {{cssxref("@property/syntax","syntax")}}) et une description d'héritage (voir {{cssxref("@property/inherits","inherits")}}). Si l'un des deux manque, l'ensemble de la règle est invalide et celle-ci doit être ignorée. Le descripteur {{cssxref("@property/initial-value","initial-value")}} est optionnel, uniquement si la syntaxe est une définition de syntaxe universelle. Sinon, le descripteur est requis (s'il manque, l'ensemble de la règle est invalide et celle-ci doit être ignorée).</p>
+
+<p>Les descripteurs inconnus ne sont pas valides et sont ignorés, mais n'invalident pas l'ensemble de la règle <code>@property</code>.</p>
+
+<h2 id="examples">Exemples</h2>
+
+<p>Ajout d'une vérification de type à la {{cssxref('--*', 'propriété personnalisée')}} <code>--my-color</code> en tant que couleur et que valeur par défaut, sans lui permettre d'hériter de sa valeur :</p>
+
+<p>Utilisation de la règle <a href="/en-US/docs/Web/CSS">CSS</a> <a href="/fr/docs/Web/CSS/At-rule">at-rule</a> {{cssxref('@property')}} :</p>
+
+<pre class="brush: css">@property --my-color {
+ syntax: '&lt;color&gt;';
+ inherits: false;
+ initial-value: #c0ffee;
+}
+</pre>
+
+<p>Équivalent avec la fonction <a href="/en-US/docs/Web/JavaScript">JavaScript</a> {{domxref('CSS.registerProperty')}} :</p>
+
+<pre class="brush: js">window.CSS.registerProperty({
+ name: '--my-color',
+ syntax: '&lt;color&gt;',
+ inherits: false,
+ initialValue: '#c0ffee',
+});
+</pre>
+
+<h2 id="formal_syntax">Syntaxe formelle</h2>
+
+<p>{{csssyntax}}</p>
+
+<h2 id="specifications">Spécifications</h2>
+
+<p>{{Specifications}}</p>
+
+<h2 id="browser_compatibility">Compatibilité des navigateurs</h2>
+
+<p>{{Compat}}</p>
+
+<h2 id="see_also">Voir aussi</h2>
+
+<ul>
+ <li><a href="/fr/docs/Web/API/CSS_Properties_and_Values_API">API Propriétés et valeurs CSS</a></li>
+ <li><a href="/fr/docs/Web/API/CSS_Painting_API">API Peinture CSS</a></li>
+ <li><a href="/fr/docs/Web/API/CSS_Typed_OM_API">API Typage de modèle d'objet CSS</a></li>
+ <li><a href="/fr/docs/Web/Houdini">CSS Houdini</a></li>
+</ul>