CodeGrid「CSSの:has()で親セレクターを使いこなす」シリーズのデモファイル集です。
今お使いのブラウザが:has()に対応しているかどうかを、@supports selector(:has(*))で確認します。
.form-group:has(input:invalid)を使って、無効な入力を含むフォームグループ全体の色を変えます。
body:has(:modal)を使って、モーダルダイアログが開いているあいだ背景のスクロールをCSSだけで止めます。
.card-list:has(.card:hover) .card:not(:hover)を使って、ホバーされていないカードの透明度を下げます。
.card:has(img)と.card:not(:has(img))を使って、画像があるカードとないカードのグリッドレイアウトを自動で切り替えます。
h2:has(+ h3)を使って、直後に別の見出しが続く見出しの下マージンだけを縮めます。
nav li:has(ul)を使って、サブメニューを持つナビゲーション項目にだけ▼アイコンを追加します。