2013-11-20 23 views
0

就在今天,我問選擇與某些類的元素,如果它是一個與唯一「可見」其父的孩子呢?

Selector for an element with certain class, if it is the one & only child of its parent?

但怎麼樣,如果我們需要用一個類來選擇元素,如果它是一個&唯一的「可見」其父的孩子呢?我知道使用jQuery可以輕鬆完成,但我正在尋找純粹的CSS解決方案(適用於所有主流瀏覽器)。我可以爲這些元素編寫CSS選擇器表達式嗎?

+0

你是如何隱藏元素你想避免造型? –

+0

@DavidThomas:使用'display:none' –

+0

是的,但可能直接在元素上或通過類 –

回答

1

有沒有辦法來確定對象是否與CSS「看得見」,所以這是不可能的。需要注意的是jQuery是也僅能夠確定對象是否是用於「可見」一定定義「可見」 的。

下面是一個example where it fails

<body> 
    <div style="position:absolute; top: -100px">Am I visible?</div> 
</body> 

這裏是another。哎呀,甚至visibility: hiddenis considered visible。有很多創造性的方式來實現所謂的「不可見」的人,那麼這個詞需要一個嚴格的定義,我們可以開始談判高科技之前。

+0

* visibile *對於我的情況意味着如果元素不是'display:none' –

0

希望它會幫助你,我們選擇在CSS的傢伙,它只是例子,如何選擇

div > .child:not([style*='visibility:hidden']) { 
    border-top: 1px solid #cccccc; 
    border-bottom: 1px solid #cccccc; 

} 

Demo

另一

Demo

+0

這個缺陷,你失敗了要提到的是,你必須使用內聯樣式隱藏元素,而不是樣式表;這意味着必須遵循和維護兩個獨立的CSS方法。 –

+0

它只是基於知識。 –

+1

我不知道這是一個答案,或者是一個不合適的答案。但是,也許;儘管如此,您是否認爲OP在注意這個問題的同時還是考慮到了侷限性?此外,如果要求符合「如果且僅限於」部分,以何種方式;你的方法設定了不隱藏的元素(對於給定的'隱藏'值),但是以生物方式將選擇限制爲「只有一個」。 –

相關問題