[解決済み】子要素に応じて要素にCSSスタイルを適用する【重複あり
2022-04-18 14:09:45
質問
ある要素にCSSスタイルを定義して、マッチする要素が特定の要素を(直接の子要素として)含んでいる場合にのみ適用させることは可能でしょうか?
これは、例を使って説明するのが一番だと思います。
備考 : 試しているのは 親要素のスタイル どのような子要素を含むかに応じて
<style>
/* note this is invalid syntax. I'm using the non-existing
":containing" pseudo-class to show what I want to achieve. */
div:containing div.a { border: solid 3px red; }
div:containing div.b { border: solid 3px blue; }
</style>
<!-- the following div should have a red border because
if contains a div with class="a" -->
<div>
<div class="a"></div>
</div>
<!-- the following div should have a blue border -->
<div>
<div class="b"></div>
</div>
注2 : javascriptを使えば実現できることは分かっているのですが、(私にとって)未知のCSSの機能を使って実現できないかと思っただけです。
どのように解決するのですか?
私の知る限り、子要素に応じた親要素のスタイル付けは、CSSの機能として利用できません。スクリプトで対応する必要がありそうです。
のようなことができたら素晴らしいですね。
div[div.a]
または
div:containing[div.a]
ということですが、これは無理です。
を見ることを検討してみてはいかがでしょうか。 jQuery . そのセレクタは「含む」タイプで非常によく機能します。div を選択し、その子コンテンツに基づいて、親に CSS クラスを適用することが一度に行えます。
jQueryを使用する場合は、以下のようなものが使えるかもしれません(未検証ですが、理論はあります)。
$('div:has(div.a)').css('border', '1px solid red');
または
$('div:has(div.a)').addClass('redBorder');
をCSSクラスと組み合わせて使用します。
.redBorder
{
border: 1px solid red;
}
以下は jQuery "has"セレクター .
関連
-
[解決済み】CSSの背景画像が表示されない。
-
[解決済み】私のCSS3メディアクエリがモバイルデバイスで機能しないのはなぜですか?
-
[解決済み】「選択されたファイルがありません」を変更しました。
-
[解決済み] テーブルセルの背景を透明にする方法
-
[解決済み] 最初の要素にクラスを指定するCSSセレクタ
-
[解決済み] .css()を使って!importantを適用するには?
-
[解決済み] 要素のみのCSSスタイルのリセット/削除
-
[解決済み】CSSを使用して、すべてのブラウザでdiv要素を垂直方向に中央に配置するにはどうすればよいですか?
-
[解決済み】css3を使ったSVGドロップシャドウ
-
[解決済み】最初の直接の子だけを対象としたCSSセレクタはありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】CSSの背景画像が表示されない。
-
[解決済み】HTML5検証エラー:body開始タグは見たが、同じタイプの要素がすでに開かれていた
-
[解決済み】画像のURLで禁断の403を出す
-
[解決済み] text-overflow: 省略記号が機能しない
-
[解決済み] ボディの背景色が表示されない?
-
[解決済み] CSSでulのインデントを削除する
-
[解決済み] ionic 4でion-buttonをセンタリングする方法は?[重複しています]
-
[解決済み] HTMLファイルへのリンクは可能ですか?
-
[解決済み] Angular 2+のテンプレートで値を表す三項演算子
-
[解決済み] CSSの親セレクタはありますか?