Skip to content

Commit b787dc9

Browse files
committed
docs: translate seconde section
1 parent c0a1666 commit b787dc9

File tree

1 file changed

+40
-1
lines changed

1 file changed

+40
-1
lines changed

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

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,43 @@
22

33
Le Shadow DOM peut inclure des balises `<style>` and `<link rel="stylesheet" href="…">`. Dans le dernier cas, les feuilles de style sont mises en cache (HTTP-Cached), donc elles ne sont pas retéléchargées pour plusieurs composants qui utilisent le même template.
44

5-
En règle générale, les styles locaux fonctionnent au sein de l'arborescence Shadow, et les styles du document fonctionnent en dehors. Mais il y a quelques exceptions.
5+
En règle générale, les styles locaux fonctionnent au sein de l'arborescence Shadow, et les styles du document fonctionnent en dehors. Mais il y a quelques exceptions.
6+
7+
## :host
8+
9+
Le sélecteur `:host` permet de sélectionner l'hôte shadow (l'élément contenant l'arborescence shadow).
10+
11+
Par exemple, nous créeons un élément `<custom-dialog>` qui doit être centré. Pour cela nous avons besoin d'appliquer un style depuis l'élément `<custom-dialog>` lui-même.
12+
13+
C'est exactement ce que fait `:host` :
14+
15+
```html run autorun="no-epub" untrusted height=80
16+
<template id="tmpl">
17+
<style>
18+
/* La règle de style sera appliquée depuis
19+
l'intérieur de l'élément custom-dialog */
20+
:host {
21+
position: fixed;
22+
left: 50%;
23+
top: 50%;
24+
transform: translate(-50%, -50%);
25+
display: inline-block;
26+
border: 1px solid red;
27+
padding: 10px;
28+
}
29+
</style>
30+
<slot></slot>
31+
</template>
32+
33+
<script>
34+
customElements.define('custom-dialog', class extends HTMLElement {
35+
connectedCallback() {
36+
this.attachShadow({mode: 'open'}).append(tmpl.content.cloneNode(true));
37+
}
38+
});
39+
</script>
40+
41+
<custom-dialog>
42+
Hello!
43+
</custom-dialog>
44+
```

0 commit comments

Comments
 (0)