このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

:has-slotted

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

:has-slottedCSS擬似クラスで、 <slot> 要素のコンテンツが空ではないか、または既定値を使用していない場合に一致します(詳細については、テンプレートとスロットの使用を参照してください)。

メモ: 単一の空白テキストノードでも :has-slotted が適用されます。

これは、シャドウ DOM 内に配置された CSS 使用した場合にのみ動作します。

css
/* 既定ではないコンテンツを持つ <slot> 要素のコンテンツを選択 */ :has-slotted { color: green; } /* コンテンツまたは既定のコンテンツを持たない <slot> 要素のコンテンツを選択 */ :not(:has-slotted) { color: red; } 

構文

css
:has-slotted { /* ... */ } 

この例には 2 つの <slot> 要素があり、一方はコンテンツが割り当てられていますが、もう一方は割り当てられていません。

HTML

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 と一致し、colorrebeccapurple が適用されています。

仕様書

Specification
CSS Scoping Module Level 1
# the-has-slotted-pseudo

ブラウザーの互換性

関連情報