CSS :has-slotted æ¬ä¼¼ã¯ã©ã¹
å©ç¨å¯è½æ§ã¯éå®ç
ãã®æ©è½ã¯ãã¼ã¹ã©ã¤ã³ã§ã¯ããã¾ãããæãåºã使ç¨ããã¦ãããã©ã¦ã¶ã¼ã®ä¸é¨ã§åä½ãã¾ããã
Want more browser support for this feature? Tell us why.
:has-slotted 㯠CSS ã®æ¬ä¼¼ã¯ã©ã¹ã§ã <slot> è¦ç´ ã®ã³ã³ãã³ãã空ã§ã¯ãªãããã¾ãã¯æ¢å®å¤ã使ç¨ãã¦ããªãå ´åã«ä¸è´ãã¾ãï¼è©³ç´°ã«ã¤ãã¦ã¯ããã³ãã¬ã¼ãã¨ã¹ãããã®ä½¿ç¨ãåç
§ãã¦ãã ããï¼ã
ã¡ã¢:
åä¸ã®ç©ºç½ããã¹ããã¼ãã§ã :has-slotted ãé©ç¨ããã¾ãã
ããã¯ãã·ã£ã㦠DOM å ã«é ç½®ããã CSS 使ç¨ããå ´åã«ã®ã¿åä½ãã¾ãã
/* æ¢å®ã§ã¯ãªãã³ã³ãã³ããæã¤ <slot> è¦ç´ ã®ã³ã³ãã³ãã鏿 */
:has-slotted {
color: green;
}
/* ã³ã³ãã³ãã¾ãã¯æ¢å®ã®ã³ã³ãã³ããæããªã <slot> è¦ç´ ã®ã³ã³ãã³ãã鏿 */
:not(:has-slotted) {
color: red;
}
æ§æ
:has-slotted {
/* ... */
}
ä¾
ãã®ä¾ã«ã¯ 2 ã¤ã® <slot> è¦ç´ ãããã䏿¹ã¯ã³ã³ãã³ããå²ãå½ã¦ããã¦ãã¾ããããã䏿¹ã¯å²ãå½ã¦ããã¦ãã¾ããã
HTML
<p>
<template shadowrootmode="open">
<style>
:has-slotted {
color: rebeccapurple;
}
</style>
<slot name="one">ãã¬ã¤ã¹ãã«ãã¼ 1</slot>
<slot name="two">ãã¬ã¤ã¹ãã«ãã¼ 2</slot>
</template>
<span slot="one">ã¹ããããããã³ã³ãã³ã</span>
</p>
çµæ
ã³ã³ãã³ããå²ãå½ã¦ããã <slot> è¦ç´ ã¯ãæ¬ä¼¼ã¯ã©ã¹ :has-slotted ã¨ä¸è´ããcolor å¤ rebeccapurple ãé©ç¨ããã¦ãã¾ãã
仿§æ¸
| 仿§æ¸ |
|---|
| CSS Shadow Module Level 1 > # the-has-slotted-pseudo > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- HTML
<template>è¦ç´ - HTML
<slot>è¦ç´ ::slotted