2010-11-07 18 views
7

Ich habe in einer Vielzahl von Fällen eine Notwendigkeit, um sicherzustellen, dass eine Tabellenzellen nicht über eine bestimmte Breite schrumpfen. Um dies zu erreichen, habe ich eine Reihe von Optionen mit unterschiedlichen Ergebnissen ausprobiert. Einige der Optionen, die ich versucht habe:Wie kontrollieren Sie die minimale Breite einer Tabellenzelle?

  • Breite auf der td: funktioniert gut, aber einige Browser ignorieren es und es ist nicht gültig in HTML5
  • CSS Breite innen style="" oder Sheet: ignoriert von einigen Browsern
  • image mit width = X und height = 1: bewirkt, dass der Inhalt der td nach oben oder unten verschoben wird (um mehr als 1px).
  • div mit width = X und height = 1 und float: left: dies scheint die beste zur Zeit zu arbeiten, obwohl er den Inhalt nach oben oder unten leicht

noch andere Ideen nicht drücken?

ich es brauchen in etwas zu arbeiten, einschließlich IE6 :(aber wenn es Lösungen, die in IE6 nicht funktionieren, aber alles andere, das wäre ein ohnehin starten sein :)

+0

gehen mit Divs und vergessen Sie die Tabelle :) – s84

+0

würde ich gerne. Wie würde ich sie dazu bringen, sich genau wie ein Tisch zu verhalten, einschließlich Colspan und Rowspan? –

+6

..wenn es eine Tabelle ist, ist es eine Tabelle ... Ich sehe wenig Grund, zu divs zu wechseln, nur damit Sie die CSS verwenden können, um sie in Tabellen umzuwandeln. –

Antwort

15

Sie können nicht Kontrollieren Sie zuverlässig die Breite einer Tabellenzelle. Es ist am besten, den Inhalt in ein DIV (oder andere Elemente auf Blockebene) zu packen und auf dieses Element zu zielen.

+4

Aber wenn er tabellarische Daten präsentiert, sollte er eine Tabelle verwenden. Aus semantischer Sicht ist die Verwendung einer Tabelle für Tabellendaten nicht so schlimm wie die Verwendung einer Tabelle für nicht tabellarische Daten. –

+6

@Alberto Martinez Ich glaube nicht, @Brandon Bedeutung ist die gesamte Tabelle ersetzen, sondern um den Inhalt innerhalb der Zelle in einem div wickeln, wie

foo bar

+0

Ah, ich nicht bekommen, ja das wäre sei besser, dass ein Spacer-Bild verwendet wird. –

0

Schauen Sie sich die Mindestbreite an. Nicht IE6-kompatibel, aber es wird in den meisten anderen Browsern rocken.

2

min-width wird das Minimum korrekt steuern - in Browser, die es richtig unterstützen. Oft kann width wie min-width in IE6-ish Unsinn funktionieren. YMMV.

Verwandte Themen