2016-12-19 10 views
2

私はdivを持っていますが、これには子が3つ含まれていますdivsnth-childのCSSセレクタは最後の子ではありません

私は最初の子divを選択するセレクタ.parent-div .child-div:nth-child(1)を持っています。

.parent-div .child-div:nth-child(3)は最後の子divを選択します。

ただし、.parent-div .child-div:last-childは何も選択しません。

問題の原因となる手がかりはありますか?それはfloatまたはabsoluteと何か関係がありますか?

ちなみに、JQuery UIを使用してdivをソート可能にしました。これにはいくつかのクラスが追加されている可能性があります。

編集: .parent-divには、3つの.childA-divと1つの.child-clear divがあります。したがって、最後の.childA-divは実際の最後の子が別のクラスであるため、最後の子とはみなされません。

次のように、nth-last-child(2)を使用しました。

+0

[CSSのlast-childセレクタの可能な複製:特定のクラスのlast-elementを選択します。親の最後の子ではありませんか?](http://stackoverflow.com/questions/7298057/css-last-child-selector-特定のクラスの最後の要素を選択する最後の要素-i) – FelipeAls

+0

'.child-clear'要素が必要ですか?それはレガシーコードの場合はおそらくはいですが、 ':after' pesudoや(micro-)[clearfix](http://nicolasgallagher.com/micro-clearfix-hack/)(IE8 +やIE6 +ではズーム:1誰が最近IE6-7を気にしているのですか) – FelipeAls

+0

@FelipeAlsそれが以前の問題だとは気付きませんでした。明確な修正については、私は他のオプションを使用します。ありがとう! – Teddy

答えて

2

使用は.child-div:nth-last-child(1) { }

:nth-last-child(n)セレクタが最後の子から数えて、その親の、タイプに関係なく、n番目の子であるすべての要素にマッチします。

+0

ありがとうございます。それはうまくいった。私はn番目の最後の子供を使った(2)。それは、クラス.child-divではない別の子divが存在することになります。それはフロートクリアディビジョンです。 – Teddy