2012-10-03 20 views
5

ZwińWidoczność: upadek jest renderowany jako visibility: hidden

tylko dla table elementy. collapse usuwa wiersz lub kolumnę, ale nie ma wpływu na układ table. Przestrzeń zajmowana przez wiersz lub kolumnę będzie dostępna dla innych treści. Jeśli zwijanie jest używane do innych elementów, renderuje się jako hidden.

http://www.w3schools.com/cssref/pr_class_visibility.asp

jednak element jest nadal zajmowania miejsca jak visibility: hidden. Testowałem w Safari i Chrome. Ktoś ma rozwiązanie, w którym zachowany jest układ table, ale przestrzeń jest usuwana?

+1

Jaki element? Nie widzę żadnego kodu. – BoltClock

+0

Dlaczego nie używać wyświetlacza: brak; ? – Dipak

+0

link do http://www.w3schools.com/cssref/pr_class_visibility.asp jasno określa, że ​​jeśli chcesz tworzyć niewidoczne elemety, które nie mają miejsca, powinieneś użyć wyświetlacza zamiast widoczności. – Shadowxvii

Odpowiedz

9

Nie będzie działać zgodnie z założeniami we wszystkich przeglądarkach, tylko Firefox i IE (nie mogę teraz potwierdzić IE). MDN docs on visibility powiedzieć:

brakuje Wsparcie dla visibility:collapse lub częściowo błędna w niektórych nowoczesnych przeglądarek. W wielu przypadkach może nie być poprawnie traktowany jak visibility:hidden na elementach innych niż wiersze i kolumny tabeli.

Możesz przetestować go za pomocą tego jsFiddle: http://jsfiddle.net/meT7k/. W Chrome pierwszy wiersz jest renderowany jako visibility: hidden. W przeglądarce Firefox collapse jest poprawnie stosowany.

W Chrome uzyskuje się pożądane wyniki, gdy zamiast tego stosuje się wiersz display: none. Jednak to prawdopodobnie wymusi zmianę układu całej tabeli (np. Szerokości kolumn mogą ulec zmianie po zmianie właściwości display).

+0

bfavaretto, wygląda na widoczność: collapse nie jest wbudowany w obsługę przeglądarki dla przeglądarek Webkit. –

+0

Wygląda, że ​​to wszystko. FF go obsługuje i zgodnie z [msdn] (http://msdn.microsoft.com/en-us/library/ie/ms531180 (v = vs.85) .aspx), ie8 + też to wspiera. – bfavaretto

+0

Trochę się spóźniło, ale możesz go uruchomić w Chrome [w ten sposób] (http: // stackoverflow.com/questions/25807564/hiding-a-tr-while-still-involved-it-in-width-calculations/25807729 # 25807729) –

-1

Zawiń zawartość w <span></span> i ustaw wyświetlacz na brak.

+0

'display: none' usuwa element z przepływu. 'visibility: hidden' does not. – Sparky

+0

wyświetlacz: brak wymusza ponowne ustawienie stołu. –

+0

Aby wyjaśnić, moja sugestia polegała na owinięciu zawartości komórki w zakres, który nie powinien wpływać na tabelę. – Ryan

Powiązane problemy