2012-11-03 78 views
18

我試圖改變基於它的東西的風格或不是它的父母的div被溢出。是否有一個用於溢出的css僞選擇器?

.pDiv { display: block; width: 300px; height: 100px; border: 1px solid rgb(0,0,0); } 
.cDiv { display: block; padding 4px; border-bottom: 1px solid rgb(0,0,0); 
.pDiv:overflow .cDiv { border-bottom: none; } 

<div class="pDiv"><div class="cDiv">child 1</div><div class="cDiv">child 2</div><div class="cDiv">child 3</div><div class="cDiv">child 4</div><div class="cDiv">child 5</div></div> 

是否有可能做這樣的事情?我會使用最後一個孩子的僞選擇器,但是孩子的數量可能會有所不同,所以我希望它只在父級div被溢出時才刪除最後一個孩子的邊界底部。我也想要一個純粹的CSS解決方案,不要JS!

+0

不幸的是,你會必須爲此使用JS。 –

+0

這可能有所幫助:http://stackoverflow.com/questions/9333379/javascript-css-check-if-overflow – Esger

回答

11

CSS無法基於任何類型的使用或計算樣式進行選擇,因此您運氣不佳。

+0

唉,這是跛腳。基本上,我試圖消除當用戶滾動到飛掠的父div的底部時,有兩個底部邊界在另一個之上。猜猜我必須使用JS,太糟糕了沒有一個簡單的CSS解決方案:( –

+0

@CharlesJohnThompsonIII:「簡單的CSS解決方案」是一個矛盾無論如何 – millimoose

+1

你的意思是它是一個Pleonasm?當然,但它絕對不是一個矛盾 –

-3

使用JavaScript/jQuery來看看是否DIV is overflown,然後只需添加一個類的DIV ...

$("#yourdiv").addClass("overflown"); 

,然後風格這個類...

.overflown { 
......... 
} 
+0

如果他不能使用CSS來做到這一點,jQuery如何幫助他找到溢出元素? – Hauge

+0

我提供了一個解釋JQuery如何找到溢出元素的鏈接......請完整閱讀答案。 –

+5

我讀了這個問題和你的答案。引用最初的問題:「我想要一個純粹的CSS解決方案,請不要JS」。這讓我覺得你的回答並不完全是他所期待的。 – Hauge

相關問題