Ich habe eine Tabelle mit mehreren Gruppen von Spalten. Die Tabelle ist größer als meine Seite, daher kann ich einige dieser Gruppen ein- / ausblenden, damit sie auf die Seite passen. Die anfängliche Tabelle sieht gut aus: Alle Spalten sind innerhalb einer Gruppe ungefähr gleich breit. Aber wenn ich eine Gruppe verstecke, haben die Spalten nicht mehr die gleiche Breite und es sieht schlecht aus.
Beispiel: http://www.reviews-web-hosting.com/companies/apollohosting.html (defekter Link)
Bisher sieht der Tisch gut aus. Klicken Sie auf >>. Die erste Spalte unter "E-Commerce Pro" ist viel breiter als die anderen Spalten unter "E-Commerce Pro", es sieht seltsam aus. Klicken Sie auf <<, diesmal ist die erste Spalte unter "Wert" zu breit. Zumindest auf Firefox.
Ich habe versucht zu verwenden
<colgroup><col /><col span="5" />...
aber kein Glück. Wenn ich eine Spalte auf style = "display: none" setze, wird der Satz von Spalten weiterhin angezeigt.
Gibt es einen HTML / CSS-Tipp, um die Spalten innerhalb einer Gruppe gleich breit zu halten?
Bearbeiten:
- Um eine Spalte auszublenden, muss ich Sichtbarkeit verwenden: Reduzieren
- es scheint sich jetzt gut zu ändern, ich weiß nicht warum
Antworten:
Wenn Sie den Stil
table-layout: fixed;
für Ihre Tabelle festlegen , können Sie die automatische Größenänderung des Browsers überschreiben. Der Browser legt dann die Spaltenbreiten basierend auf der Breite der Zellen in der ersten Zeile der Tabelle fest. Ändern Sie Ihr<thead>
zu<caption>
und entfernen Sie das<td>
Innere davon, und legen Sie dann feste Breiten für die Zellen in fest<tbody>
.quelle
table-layout: fixed;
löste das gleiche Problem für mich (FFox 11).Geben Sie diesen Stil an td: width: 1%;
quelle
width: 100%
In Ihrem Fall, da Sie nur 3 Spalten anzeigen:
Name Value Business or Name Business Ecommerce Pro
Warum nicht alle 3 auf eine Breite von 33,3% einstellen? da nur 3 jemals auf einmal gezeigt, der Browser sollte sie alle eine ähnliche Breite machen.
quelle
Nun, warum drückst du nicht die Seitenleiste los und drückst den Tisch so, dass er keinen Ein- / Ausblendeffekt hat? Es sieht jetzt seltsam für mich aus. Der Tisch ist zu robust.
Ansonsten denke ich, dass Scunliffes Vorschlag es tun sollte. Wenn Sie möchten, können Sie auch einfach die genaue Breite der Tabelle festlegen und entweder den Prozentsatz oder die Pixelbreite für Tabellenzellen festlegen.
quelle