[解決済み] CSSは要素が持つ子供の数を検出することができますか?
2022-03-14 18:18:04
質問
自分の質問に自分で答えているようですが、非常に興味があります。
CSS で親の子を個別に選択できることは知っていますが、親がある程度の数の子を持っている場合、コンテナの子にスタイルを設定するサポートはありますか。
例えば
container:children(8) {
// style the parent this way if there are 8 children
}
変な話ですが、マネージャーから調べてくれと言われ、自分では何も見つからなかったので、検索を終了する前にSOに頼ることにしました。
どのように解決するのですか?
明確にしてください。
元の質問の言い回しが悪かったため、数人のSO市民から、この回答は誤解を招く恐れがあるとの懸念が寄せられました。CSS3では、スタイルが 親ノード 子プロセスの数によって異なります。しかし、スタイル できる の数に基づいて、子ノードに適用されます。 兄弟姉妹 を持つ。
オリジナルの回答です。
信じられないことに、これが純粋にCSS3で可能になったのです。
/* one item */
li:first-child:nth-last-child(1) {
/* -or- li:only-child { */
width: 100%;
}
/* two items */
li:first-child:nth-last-child(2),
li:first-child:nth-last-child(2) ~ li {
width: 50%;
}
/* three items */
li:first-child:nth-last-child(3),
li:first-child:nth-last-child(3) ~ li {
width: 33.3333%;
}
/* four items */
li:first-child:nth-last-child(4),
li:first-child:nth-last-child(4) ~ li {
width: 25%;
}
コツは、最後の子からn番目の子でもあるときに、最初の子を選択することです。これは、兄弟姉妹の数によって効果的に選択するものです。
この技術は、André Luís(発見者)とLea Verou(改良者)の手によるものです。
CSS3が好きなだけでは?????
CodePenの例。
情報源
関連
-
[CSSチュートリアル]CSSは、メソッドのさまざまな記事の分割行のスタイルの要約を達成するために
-
[css3] scss変数の値を実行時に変更するcss3 var()の使用方法を説明します。
-
[CSSチュートリアル】シンプルなナビゲーションバー機能を実現するhtml+css
-
[解決済み] CSSのdisplayプロパティで遷移する
-
[解決済み] 最初の要素にクラスを指定するCSSセレクタ
-
[解決済み] HTML5の数値入力のスピンボックスを非表示にすることはできますか?
-
[解決済み] CSSセレクタの"~"(チルダ/スクイグル/ツイドル)はどういう意味ですか?
-
[解決済み] CSSセレクタの「+」(プラス記号)の意味は何ですか?
-
[解決済み] not()擬似クラスは複数の引数を持つことができますか?
-
[解決済み】CSSを使用して、すべてのブラウザでdiv要素を垂直方向に中央に配置するにはどうすればよいですか?
最新
-
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チュートリアル】純粋なCSSでWebページの内容をコピーできないようにする方法
-
[css3]CSS3タブアニメーションの背景切り替えの動的効果例
-
[css3]css3におけるtransformプロパティの4つの機能
-
[CSSチュートリアル】CSS擬似要素::マーカー解説
-
[CSSチュートリアル】波動効果を生み出すCSSのアイデア
-
[CSSチュートリアル]CSSは、メソッドのさまざまな記事の分割行のスタイルの要約を達成するために
-
[Div+CSSチュートリアル】divの背景を透明にする設定例
-
[css3]スクロールバー美化効果を実現するcss3サンプルコード
-
[CSSチュートリアル】インタビュー必見!聖杯レイアウトとダブルウィングレイアウトの違いとは?
-
[CSSチュートリアル】CSSで実現できるのなら、わざわざJavaScriptを使う必要はない