Jak mogę ukryć wiersz tabeli HTML <tr>
, aby nie zajmował miejsca? Mam kilka <tr>
ustawionych na style="display:none;"
, ale nadal mają one wpływ na rozmiar tabeli, a obramowanie tabeli odzwierciedla ukryte wiersze.
html
css
html-table
MikeN
źródło
źródło
Odpowiedzi:
Bardzo chciałbym zobaczyć stylizację Twojego stołu. Np. „Border-collapse”
Zgaduję, ale może to wpłynąć na sposób renderowania „ukrytych” wierszy.
źródło
Czy możesz dołączyć jakiś kod?
style="display:none;"
Cały czas dodaję do swojej tabeli wiersze i skutecznie ukrywa cały wiersz.źródło
Możesz ustawić,
<tr id="result_tr" style="display: none;">
a następnie wyświetlić z powrotem za pomocą JavaScript:źródło
Pomyślałem, że dodam do tego potencjalne inne rozwiązanie:
<tr style='visibility:collapse'><td>stuff</td></tr>
Przetestowałem to tylko w Chrome, ale umieszczenie tego w
<tr>
ukryciu ukrywa wiersz PLUS wszystkie komórki w wierszu nadal mają wpływ na szerokości kolumn. Czasami robię dodatkowy wiersz na dole tabeli z kilkoma odstępnikami, które sprawiają, że niektóre kolumny nie mogą być mniejsze niż określona szerokość, a następnie ukrywam wiersz za pomocą tej metody. (Wiem, że powinieneś być w stanie to zrobić z innymi CSS, ale nigdy nie udało mi się to zadziałać)Ponownie jestem w środowisku czysto chrome, więc nie mam pojęcia, jak to działa w innych przeglądarkach.
źródło
Jeśli
display: none;
nie zadziała, co powiesz na ustawienieheight: 0;
zamiast tego? W połączeniu z ujemnym marginesem (równym lub większym niż wysokość górnej i dolnej krawędzi, jeśli istnieje), aby dodatkowo usunąć element? Nie sądzę,position: absolute; top: 0; left: -4000px;
żeby to zadziałało, ale może warto spróbować.Z mojej strony używanie
display: none
działa dobrze.źródło
Dodaj niektóre z następujących wysokości linii: 0px; font-size: 0px; height: 0px; margin: 0; padding: 0;
Zapomniałem, który to robi. Myślę, że to wysokość linii dla IE6.
źródło
Miałem ten sam problem, dodałem nawet style = "display: none" do każdej komórki.
W końcu użyłem komentarzy HTML
<!-- [HTML] -->
źródło
Możesz użyć wyświetlania stylu: brak z tr do ukrycia i będzie działać we wszystkich przeglądarkach.
źródło
działa idealnie dla mnie ..
źródło
Przydarzyło mi się to i byłem zdumiony, dlaczego. Potem zauważyłem, że jeśli usunąłem jakiekolwiek nbsp; miałem w rzędach, wtedy rzędy nie zajmowały miejsca.
źródło
Musisz zmienić typ wejścia na ukryty, wszystkie jego funkcje działają, ale nie jest widoczne na stronie
Dopóki typ wejścia jest ustawiony na taki, możesz zmienić resztę. Powodzenia!!
źródło
Miałem ten sam problem i rozwiązałem go. Wcześniej css był przepełniony: ukryty; indeks z: 999999;
Zmieniam na przepełnienie: widoczne;
źródło
HTML:
JavaScript:
źródło
position: absolute
usunie to z przepływu układu i powinno rozwiązać twój problem - element pozostanie w DOM, ale nie wpłynie na inne.źródło
opacity: 0
Możesz ustawić
źródło
visibility: hidden;
elementem nadal zajmie przestrzeń, taka jest różnica między właściwościamivisibility
idisplay
<table><tr style="display: none;"><td></td></tr></table>