676 Stimmen

Die Tabellenspaltenbreite unabhängig von der Menge des Textes in den Zellen konstant halten?

In meiner Tabelle habe ich die Breite der ersten Zelle in einer Spalte auf 100px festgelegt.
Jedoch, wenn der Text in einer Zelle in dieser Spalte zu lang ist, wird die Breite der Spalte größer als 100px. Wie kann ich diese Ausdehnung deaktivieren?

6 Stimmen

stackoverflow.com/questions/1258416/word-wrap-in-a-html-tabl‌​e könnte Ihnen helfen, in die richtige Richtung zu zeigen.

3 Stimmen

In meinem Fall gab es keine Erweiterung, sondern das Gegenteil: unerwünschtes Schrumpfen der Breite trotz meiner expliziten Breitenangabe. lächerlich!

0 Stimmen

Die einzige richtige Lösung dafür besteht darin, colgroup mit cols zu verwenden und die Breite der cols festzulegen.

29voto

ErickBest Punkte 277

Was ich mache, ist:

  1. Setze die td-Breite:

  2. Setze die td-Breite mit CSS:

  3. Setze die Breite erneut als Max und Min mit CSS:

Es klingt ein wenig repetitiv, aber es liefert mir das gewünschte Ergebnis. Um dies mit mehr Leichtigkeit zu erreichen, können Sie die CSS-Werte in eine Klasse in Ihrem Stylesheet einfügen:

.td_size {    
  width:200px; 
  height:50px;
  max-width:200px;
  min-width:200px; 
  max-height:50px; 
  min-height:50px;
  **overflow:hidden;** /*(Optional) Dies kann für einige Inhaltsüberschüsse nützlich sein*/   
}

dann:

Fügen Sie das Klassenattribut zu jedem hinzu, das Sie möchten.

0 Stimmen

Dies war die einzige Lösung, die in allen Fällen zu funktionieren schien, ohne zusätzliche, potenziell unerwünschte Einschränkungen aufzuerlegen.

0 Stimmen

Min/max hat für mich nicht funktioniert.

7voto

Priyanka Arora Punkte 319

Dies einstellen:

style="min-width:100px;" 

Hat für mich funktioniert.

4voto

Svetoslav Marinov Punkte 1449

Ich habe dies benutzt

.app_downloads_table tr td:first-child {
    width: 75%;
}

.app_downloads_table tr td:last-child {
    text-align: center;
}

0 Stimmen

Vergessen Sie nicht ntch-child(2) (oder 3, 4 und so weiter)

0 Stimmen

Table td:nth-child(n+1) {...} wird alles außer der ersten Spalte abdecken.

0 Stimmen

Sollten wir das table-layout: fixed; oder display: table; für das table-Element festlegen, damit dieser td:first-child und nth-child(n) Selektor funktioniert?

4voto

eicksl Punkte 774

Gemäß meiner Antwort hier ist es auch möglich, einen Tabellenkopf (der leer sein kann) zu verwenden und relative Breiten auf jede Tabellenkopfzelle anzuwenden. Die Breiten aller Zellen im Tabellenkörper passen sich der Breite ihrer Spaltenüberschrift an. Beispiel:

HTML

      1
      Einige Text...
      Mai 2018
      Bearbeiten

      2
      Noch mehr Text...
      April 2018
      Bearbeiten

CSS

table {
  width: 600px;
  border-collapse: collapse;
}

td {
  border: 1px solid #999999;
}

Ergebnis anzeigen

Alternativ können Sie colgroup verwenden, wie in Hyathins Antwort vorgeschlagen.

3voto

mcdado Punkte 688

Wenn Sie kein festes Layout möchten, geben Sie eine Klasse für die Spalte an, die entsprechend dimensioniert werden soll.

CSS:

.special_column { width: 120px; }

HTML:

...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X