Wie kann ich eine HTML-Tabellenzeile ausblenden <tr>
, damit sie keinen Platz beansprucht? Ich habe mehrere <tr>
festgelegt style="display:none;"
, aber sie wirken sich immer noch auf die Größe der Tabelle aus, und der Tabellenrand spiegelt die ausgeblendeten Zeilen wider.
html
css
html-table
MikeN
quelle
quelle
Antworten:
Ich würde wirklich gerne das Styling Ihres TISCHS sehen. ZB "Grenzkollaps"
Nur eine Vermutung, aber es könnte sich darauf auswirken, wie "versteckte" Zeilen gerendert werden.
quelle
Können Sie Code einfügen? Ich füge
style="display:none;"
meine Tabellenzeilen ständig hinzu und es verbirgt effektiv die gesamte Zeile.quelle
Sie können
<tr id="result_tr" style="display: none;">
es mit JavaScript festlegen und dann wieder anzeigen:quelle
Ich dachte, ich würde dem eine mögliche andere Lösung hinzufügen:
<tr style='visibility:collapse'><td>stuff</td></tr>
Ich habe es nur auf Chrome getestet, aber wenn ich dies auf die
<tr>
Verstecke der Zeile stecke, tragen alle Zellen in der Zeile immer noch zur Breite der Spalten bei. Ich werde manchmal eine zusätzliche Zeile am Ende einer Tabelle mit nur einigen Abstandshaltern erstellen, damit bestimmte Spalten nicht kleiner als eine bestimmte Breite sein können, und dann die Zeile mit dieser Methode ausblenden. (Ich weiß, dass du das mit anderen CSS machen sollst, aber ich habe das nie zum Laufen gebracht)Auch hier bin ich in einer rein verchromten Umgebung, daher habe ich keine Ahnung, wie dies in anderen Browsern funktioniert.
quelle
Wenn
display: none;
dies nicht funktioniert, wie wäre esheight: 0;
stattdessen mit einer Einstellung ? In Verbindung mit einem negativen Rand (gleich oder größer als die Höhe des oberen und unteren Randes, falls vorhanden), um das Element weiter zu entfernen? Ich kann mir nicht vorstellen, dassposition: absolute; top: 0; left: -4000px;
das funktionieren würde, aber es könnte einen Versuch wert sein.Für meinen Teil
display: none
funktioniert die Verwendung gut.quelle
Fügen Sie einige der folgenden Zeilenhöhen hinzu: 0px; Schriftgröße: 0px; Höhe: 0px; Rand: 0; Auffüllen: 0;
Ich vergesse, welcher es tut. Ich denke, es ist Zeilenhöhe für IE6.
quelle
Ich hatte das gleiche Problem, ich habe sogar style = "display: none" zu jeder Zelle hinzugefügt.
Am Ende habe ich HTML-Kommentare verwendet
<!-- [HTML] -->
quelle
Sie können die Stilanzeige verwenden: keine mit tr zum Ausblenden und sie funktioniert mit allen Browsern.
quelle
funktioniert perfekt für mich ..
quelle
Das passierte mir und ich war verblüfft, warum. Dann bemerkte ich, dass, wenn ich nbsp entfernte; Ich hatte innerhalb der Reihen, dann nahmen die Reihen keinen Platz ein.
quelle
Sie müssen die Änderung des Eingabetyps auf "Ausgeblendet" setzen. Alle Funktionen funktionieren, aber sie sind auf der Seite nicht sichtbar
Solange der Eingabetyp auf diesen eingestellt ist, können Sie den Rest ändern. Viel Glück!!
quelle
Ich hatte das gleiche Problem und habe das Problem behoben. Frühere CSS war überlaufen: versteckt; Z-Index: 999999;
Ich ändere es auf Überlauf: sichtbar;
quelle
HTML:
JavaScript:
quelle
position: absolute
entfernt es aus dem Layoutfluss und sollte Ihr Problem lösen - das Element bleibt im DOM, wirkt sich jedoch nicht auf andere aus.quelle
opacity: 0
Sie können einstellen
quelle
visibility: hidden;
dem Element wird noch Platz nehmen, das ist der Unterschied zwischenvisibility
unddisplay
Eigenschaften<table><tr style="display: none;"><td></td></tr></table>