2013-10-31 27 views
5

Poprzednio, gdy miałem pływające bloki, a ja zatrzymam pływak, użyłem;zastąpienie wyczyść: obie z pseudo klasy

<div style="clear:both"></div> 

Ale teraz, jestem rozwiązać ten problem z klasy pseudo:

.last_floating_div:after { 
content: ""; 
display: table; 
clear: both; 
} 

ja zawsze działa idealnie. Ale dzisiaj ... To nie działa ...! Spójrz na ten jasny przykład: http://jsfiddle.net/YsueS/2/

Wiem, że mój problem to problem dla początkujących. Sprzedałem ten problem tyle razy ... Naprawdę nie rozumiem, dlaczego to nie działa tutaj!

Dziękuję wszystkim!

+1

Czy tego chciałeś? http://jsfiddle.net/YsueS/3/ –

+1

Dzięki Josh, wynik jest doskonały! W tym przypadku rozwiązanie JoshC wydaje się być bardziej lekkie, ale utrzymuję Twoje rozwiązanie na dalsze potrzeby :) – Damien

+0

Nie ma problemu! Przelew jest najbardziej podstawowym i powszechnie stosowanym sposobem osiągnięcia tego. Możesz także użyć 'overflow: auto' dla elementów absolutnych, w które wierzę. –

Odpowiedz

3

Oczywiście - można to wyczyścić za pomocą funkcji czyszczenia o numerze :after, jednak najbardziej optymalnym, lekkim rozwiązaniem byłoby ustawienie na rodzica wartości overflow:hidden, uzyskując pożądany efekt przy znacznie mniejszym kodowaniu.

#mention { 
    overflow: hidden; 
} 

jsFiddle here

Aby odpowiedzieć na pytanie bezpośrednio, choć należy mieć zastosował :after clearfix do #mentions - rodzica, zamiast dziecka .. jsFiddle here to działa.

+0

'overflow: hidden;' będzie najlepszą odpowiedzią na starsze IE, prawda? –

+1

Dziękujemy! Masz rację, w tym przypadku przepełnienie jest naprawdę lekkie niż pseudo klasa :) – Damien

1

Myślę, że potrzebujesz #mention: po to, aby zrobić to, czego szukasz.

np

#mention:after { 
    visibility: hidden; 
    display: block; 
    font-size: 0; 
    content: " "; 
    clear: both; 
    height: 0; 
    } 
#mention { display: inline-block; } 

* html #mention{ height: 1%; } /* for older ie */ 
#mention { display: block; } 

WORKING DEMO

Nadzieja to pomaga.

+0

phhew. hacki ... – Jawad

+0

Nie. Odpowiedzi na kompatybilność z przeglądarką krzyżową :) - @Jawad – Nitesh

+0

ok. +1 niż. najfatalniejszy. – Jawad

1

Jeśli po prostu dodasz :after do identyfikatora mention, uzyskasz pożądany efekt.

#mention:after { 
    content: ""; 
    display: table; 
    clear: both; 
} 

JSFIDDLE