いくつかのdiv
タグを含むul
タグがあります。
最初のul
タグに対してのみCSSプロパティを設定できます。
div ul:first-child {
background-color: #900;
}
しかし、私の次の試みは最初のものを除いてお互いにul
タグのためにCSSプロパティを設定しようとしません:
div ul:not:first-child {
background-color: #900;
}
div ul:not(:first-child) {
background-color: #900;
}
div ul:first-child:after {
background-color: #900;
}
どのように私はCSSで書くことができますか: "最初の要素を除く各要素"?
あなたが投稿したバージョンの1つ 実際に動作します 最近のすべてのブラウザで使用できます( CSSセレクタレベル3 は サポートされている )。
div ul:not(:first-child) {
background-color: #900;
}
従来のブラウザをサポートする必要がある場合、または:not
セレクタの 制限 (引数として 単純なセレクタ のみを受け入れる)によって妨げられている場合は、別の方法を使用できます。
意図したものよりも広い範囲を持つルールを定義してから、条件付きでそれを "取り消し"、その範囲を意図したものに限定します。
div ul {
background-color: #900; /* applies to every ul */
}
div ul:first-child {
background-color: transparent; /* limits the scope of the previous rule */
}
範囲を制限する場合は、設定しているCSS属性ごとに デフォルト値 を使用してください。
このCSS2の解決方法( "他のul
の後に任意のul
")も機能し、より多くのブラウザでサポートされています。
div ul + ul {
background-color: #900;
}
:not
および:nth-sibling
とは異なり、 隣接兄弟セレクタ はIE7 +でサポートされています。
ページの読み込み後に JavaScript がこれらのプロパティを変更する場合は、 IE7 および IE8 の実装に含まれる既知のバグを確認してください。 このリンクを見てください 。
どの静的Webページでも、これは完全に機能するはずです。
:not
は IE6-8 では受け入れられないので、これをお勧めします。
div ul:nth-child(n+2) {
background-color: #900;
}
それで、あなたはその親要素最初のものを除くの中のすべてのul
を選びます。
nth-child
examples の詳細については、Chris Coyerの「便利な:nth-childレシピ」の記事を参照してください。
div li~li {
color: red;
}
IE7をサポート
not(:first-child)
はもう動作しないようです。少なくともChromeとFirefoxの最新バージョンでは。
代わりに、これを試してください:
ul:not(:first-of-type) {}
not
と一緒に任意のセレクタを使用できます
p:not(:first-child){}
p:not(:first-of-type){}
p:not(:checked){}
p:not(:last-child){}
p:not(:last-of-type){}
p:not(:first-of-type){}
p:not(:nth-last-of-type(2)){}
p:not(nth-last-child(2)){}
p:not(:nth-child(2)){}
私は上記のいくつかに運がありませんでした、
これは実際に私のために働いた唯一のものでした
ul:not(:first-of-type) {}
ページの最初のボタンがマージン左のオプションの影響を受けないようにしようとしていたとき、これは私にとってはうまくいった。
これは私が最初に試したオプションでしたが、うまくいきませんでした
ul:not(:first-child)
私が使ったようにul:not(:first-child)
は完璧な解決策です。
div ul:not(:first-child) {
background-color: #900;
}
ul:not(:first-child)
を使用することでCSSを内部要素に適用できるため、これはなぜ完璧なのですか。 li, img, span, a
タグなどのように.
しかし他の解決策を使用した場合:
div ul + ul {
background-color: #900;
}
そして
div li~li {
color: red;
}
そして
ul:not(:first-of-type) {}
そして
div ul:nth-child(n+2) {
background-color: #900;
}
これらはulレベルのCSSのみを制限します。 CSSをli
に `div ul + ul li 'として適用できないとします。
内部レベルの要素の場合、最初の解決策は完璧に機能します。
div ul:not(:first-child) li{
background-color: #900;
}
等々 ...
:not()
の中で任意のセレクタを使うことができるように、:not
でセレクタを使うことができます
any_CSS_selector:not(any_other_CSS_selector){
/*YOUR STYLE*/
}
any_CSS_selector:not(:first-child){
/*YOUR STYLE*/
}
any_CSS_selector:not(:first-of-type){
/*YOUR STYLE*/
}
any_CSS_selector:not(:checked){
/*YOUR STYLE*/
}
any_CSS_selector:not(:last-child){
/*YOUR STYLE*/
}
any_CSS_selector:not(:last-of-type){
/*YOUR STYLE*/
}
any_CSS_selector:not(:first-of-type){
/*YOUR STYLE*/
}
any_CSS_selector:not(:nth-last-of-type(2)){
/*YOUR STYLE*/
}
any_CSS_selector:not(:nth-last-child(2)){
/*YOUR STYLE*/
}
any_CSS_selector:not(:nth-child(2)){
/*YOUR STYLE*/
}