You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 8-web-components/6-shadow-dom-style/article-fr.md
+72-1Lines changed: 72 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -222,4 +222,75 @@ Veuillez noter, le sélecteur `::slotted` ne peut pas descendre plus bas dans le
222
222
}
223
223
```
224
224
225
-
Aussi, `::slotted` peut être utilisé uniquement en CSS. On ne peut pas l'utiliser dans `querySelector`.
225
+
Aussi, `::slotted` peut être utilisé uniquement en CSS. On ne peut pas l'utiliser dans `querySelector`.
226
+
227
+
## Les Hooks en CSS avec des propriétés personnalisées
228
+
229
+
Comment appliquons-nous du style aux éléments internes à un composant depuis le document principal ?
230
+
231
+
Les sélecteurs comme `:host` appliquent des règles aux éléments `<custom-dialog>` ou `<user-card>`, mais comment appliquons-nous du styleshadow DOM qui leurs sont internes ?
232
+
233
+
Il n'y a pas de sélecteurs qui puisse directement affecté les styles du shadow DOM depuis le document. Mais comme nous venons d'exposer des méthodes pour interagir avec notre composant, nous pouvons exposer des variables CSS (propriétés CSS personnalisées) pour lui appliquer du style.
234
+
235
+
**Les propriétés CSS personnalisées existent à tous les niveaux, dans le light et le shadow.**
236
+
237
+
Par exemple, dans le shadow DOM nous pouvons utiliser la variable CSS `--user-card-field-color` pour appliquer du style aux champs, et pouvoir définir la valeur dans le document extérieur :
238
+
239
+
```html
240
+
<style>
241
+
.field {
242
+
color: var(--user-card-field-color, black);
243
+
/* Si --user-card-field-color n'est pas définie, utiliser la couleur noir*/
Alors, on peut déclarer cette propriété dans le document extérieur pour `<user-card>` :
251
+
252
+
```css
253
+
user-card {
254
+
--user-card-field-color: green;
255
+
}
256
+
```
257
+
258
+
Les propriétés CSS personnalisées passent au travers du shadow DOM, elles sont visibles depuis n'importe où, donc la règle intérieure `.field` s'en servira.
0 commit comments