Skip to content

Commit 864835d

Browse files
committed
docs: add host selector section translation
1 parent e1471c3 commit 864835d

File tree

1 file changed

+51
-1
lines changed

1 file changed

+51
-1
lines changed

8-web-components/6-shadow-dom-style/article-fr.md

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,54 @@ custom-dialog {
6161

6262
C'est vraiment pratique, comme nous pouvons définir des styles par défaut dans les règles d'`:host`, et les outrepasser dans le document.
6363

64-
L'exception est quand une propriété locale est marquée `!important`, pour de telles propriétés, les styles locaux prennent le pas.
64+
L'exception est quand une propriété locale est marquée `!important`, pour de telles propriétés, les styles locaux prennent le pas.
65+
66+
## :host(selector)
67+
68+
Tout comme `:host`, mais appliqué si l'hôte shadow correspond au `sélecteur`.
69+
70+
Par exemple, nous aimerions centrer le `<custom-dialog>` seulement s'il a l'attribut `centered` :
71+
72+
```html run autorun="no-epub" untrusted height=80
73+
<template id="tmpl">
74+
<style>
75+
*!*
76+
:host([centered]) {
77+
*/!*
78+
position: fixed;
79+
left: 50%;
80+
top: 50%;
81+
transform: translate(-50%, -50%);
82+
border-color: blue;
83+
}
84+
85+
:host {
86+
display: inline-block;
87+
border: 1px solid red;
88+
padding: 10px;
89+
}
90+
</style>
91+
<slot></slot>
92+
</template>
93+
94+
<script>
95+
customElements.define('custom-dialog', class extends HTMLElement {
96+
connectedCallback() {
97+
this.attachShadow({mode: 'open'}).append(tmpl.content.cloneNode(true));
98+
}
99+
});
100+
</script>
101+
102+
103+
<custom-dialog centered>
104+
Centered!
105+
</custom-dialog>
106+
107+
<custom-dialog>
108+
Not centered.
109+
</custom-dialog>
110+
```
111+
112+
Maintenant les styles additionnels concernant le centrage sont uniquement appliqués au premier dialogue : `<custom-dialog centered>`.
113+
114+
Pour résumé, nous pouvons utiliser une famille de sélecteur `:host` pour appliquer des styles à l'élément principal du composant. Ces styles (excepté `!important`) peuvent être outrepasser par le document.

0 commit comments

Comments
 (0)