2012-11-03 17 views
18

Próbuję zmienić styl czegoś opartego na tym, czy jego nadrzędny div jest nadpisywany.Czy istnieje pseudo selektor css do przepełnienia?

.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> 

Czy można zrobić coś takiego? Chciałbym użyć pseudo-selektora ostatniego dziecka, ale liczba dzieci może być różna, więc chcę, aby usunięto skrajne dno ostatniego dziecka TYLKO, gdy nadrzędny div jest nadpisywany. Chcę też czyste rozwiązanie CSS, proszę, nie JS!

+0

Niestety będziesz do tego celu należy użyć JS. –

+0

Może to pomóc: http://stackoverflow.com/questions/9333379/javascript-css-check-if-overflow – Esger

Odpowiedz

11

CSS nie może wybrać w oparciu o używane lub wyliczone style, więc nie masz szczęścia.

+0

bah, to jest lame. Zasadniczo, staram się wyeliminować posiadanie 2 dolnych granic tuż nad sobą, gdy użytkownik przewinie się na dno nadkola div. Chyba będę musiał użyć JS, szkoda, że ​​nie ma prostego rozwiązania CSS :( –

+0

@CharlesJohnThompsonIII: "proste rozwiązanie CSS" jest oksymoronem tak czy inaczej – millimoose

+1

Masz na myśli, że to pleonazm? Oczywiście, ale zdecydowanie nie jest oksymoronem –

-3

Wykorzystanie JavaScript/jQuery, czy DIV is overflown, a następnie po prostu dodać klasę do DIV ...

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

a następnie styl ta klasa ...

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

Jeśli nie jest w stanie tego zrobić za pomocą css, w jaki sposób jQuery może pomóc mu znaleźć nadpisany element? – Hauge

+0

Udostępniam link wyjaśniający, w jaki sposób JQuery może znaleźć nadpisane elementy ... przeczytaj odpowiedź w całości. –

+5

Przeczytałem zarówno pytanie, jak i odpowiedź. Cytując oryginalne pytanie: "Chcę również czyste rozwiązanie CSS, proszę, nie JS". To sprawiło, że myślałem, że twoja odpowiedź nie była dokładnie tym, czego szukał. – Hauge

Powiązane problemy