Ich möchte Zeilenumbrüche in einer Spalte einer Tabelle verhindern, nicht in einer einzelnen Zelle.
Steven
11
Fügen Sie es also jeder Zelle in der Spalte hinzu?
David M
Fügen Sie jeder td-Zelle, auf die dies angewendet werden soll, eine Klasse hinzu, wenn Sie nicht möchten, dass sie auf jede Zelle in der Tabelle angewendet wird, sondern nur auf bestimmte.
James Black
Ich möchte es auf alle Zellen derselben Spalte anwenden.
Steven
7
Sie können diese Regel zusammen mit der n-ten untergeordneten
Auswahl
36
Zur Vervollständigung:
#table_id td:nth-child(2) {white-space: nowrap;}
Wird zum Anwenden eines Stils auf die Spalte 2 der the table_idTabelle verwendet.
Dies wird von allen wichtigen Browsern unterstützt. Der IE unterstützt dies ab IE9.
Würde dies nicht für die gesamte Tabelle (dh ALLE Spalten) und nicht nur für eine einzelne Spalte gelten?
Joshua Pinter
15
Es gibt einige Möglichkeiten, dies zu tun. Keiner von ihnen ist der einfache, offensichtliche Weg.
Anwenden von Leerzeichen: Nowrap auf ein <col>wird nicht funktionieren; Nur vier CSS-Eigenschaften arbeiten mit <col>Elementen - Hintergrundfarbe, Breite, Rahmen und Sichtbarkeit. IE7 und früher unterstützten früher alle Eigenschaften, aber das liegt daran, dass sie ein seltsames Tabellenmodell verwendeten. IE8 passt jetzt zu allen anderen.
Wie lösen Sie das?
Wenn Sie den IE (einschließlich IE8) ignorieren können, können Sie die :nth-child()Pseudoklasse verwenden, um bestimmte <td>s aus jeder Zeile auszuwählen . Du würdest benutzen td:nth-child(2) { white-space:nowrap; }. (Dies funktioniert in diesem Beispiel, würde jedoch unterbrochen, wenn Zeilen- oder Spaltenbereiche beteiligt wären.)
Wenn Sie IE unterstützen müssen, müssen Sie den weiten Weg gehen und eine Klasse auf alle anwenden <td>, die Sie beeinflussen möchten. Es ist scheiße, aber sie sind die Pausen.
Auf lange Sicht gibt es Vorschläge, um diesen Mangel an CSS zu beheben, damit Sie Stile einfacher auf alle Zellen in einer Spalte anwenden können. Sie werden in der Lage sein, so etwas zu tun, td:nth-col(2) { white-space:nowrap; }und es würde tun, was Sie wollen.
<tableclass="blueTable"><tr><td>My name is good</td></tr></table><style>
table.blueTable td,
table.blueTable th {white-space: nowrap;/* non-question related further styling */border:1px solid #AAAAAA;padding:3px2px;text-align: left;}</style>
Dies ist ein Beispiel für die Verwendung der White Space-Eigenschaft mit dem Wert nowrap. Die Bluetable ist die Klasse der Tabelle. Unter der Tabelle befinden sich die CSS-Stile.
Fügen Sie in Ihren Text nicht unterbrechende Leerzeichen anstelle von normalen Leerzeichen ein. Unter Ubuntu mache ich das mit (Compose Key) -space-space.
Antworten:
Sie können den Leerraum im CSS-Stil verwenden:
quelle
Zur Vervollständigung:
Wird zum Anwenden eines Stils auf die Spalte 2 der
the table_id
Tabelle verwendet.Dies wird von allen wichtigen Browsern unterstützt. Der IE unterstützt dies ab IE9.
quelle
Verwenden Sie den Nowrap-Stil:
Es ist CSS!
quelle
Einfach hinzufügen
Beispiel:
quelle
Es gibt einige Möglichkeiten, dies zu tun. Keiner von ihnen ist der einfache, offensichtliche Weg.
Anwenden von Leerzeichen: Nowrap auf ein
<col>
wird nicht funktionieren; Nur vier CSS-Eigenschaften arbeiten mit<col>
Elementen - Hintergrundfarbe, Breite, Rahmen und Sichtbarkeit. IE7 und früher unterstützten früher alle Eigenschaften, aber das liegt daran, dass sie ein seltsames Tabellenmodell verwendeten. IE8 passt jetzt zu allen anderen.Wie lösen Sie das?
Wenn Sie den IE (einschließlich IE8) ignorieren können, können Sie die
:nth-child()
Pseudoklasse verwenden, um bestimmte<td>
s aus jeder Zeile auszuwählen . Du würdest benutzentd:nth-child(2) { white-space:nowrap; }
. (Dies funktioniert in diesem Beispiel, würde jedoch unterbrochen, wenn Zeilen- oder Spaltenbereiche beteiligt wären.)Wenn Sie IE unterstützen müssen, müssen Sie den weiten Weg gehen und eine Klasse auf alle anwenden
<td>
, die Sie beeinflussen möchten. Es ist scheiße, aber sie sind die Pausen.Auf lange Sicht gibt es Vorschläge, um diesen Mangel an CSS zu beheben, damit Sie Stile einfacher auf alle Zellen in einer Spalte anwenden können. Sie werden in der Lage sein, so etwas zu tun,
td:nth-col(2) { white-space:nowrap; }
und es würde tun, was Sie wollen.quelle
Das
nowrap
Attribut, von dem ich glaube, dass es veraltet ist. Das Obige ist der bevorzugte Weg.quelle
Dies ist ein Beispiel für die Verwendung der White Space-Eigenschaft mit dem Wert nowrap. Die Bluetable ist die Klasse der Tabelle. Unter der Tabelle befinden sich die CSS-Stile.
quelle
Fügen Sie in Ihren Text nicht unterbrechende Leerzeichen anstelle von normalen Leerzeichen ein. Unter Ubuntu mache ich das mit (Compose Key) -space-space.
quelle
Um es auf die gesamte Tabelle anzuwenden, können Sie es innerhalb des
table
Tags platzieren:<table style="white-space:nowrap;">
quelle