表のセル(単一のセルではない)の列で改行を防ぐ方法は?


170

テーブルの列(単一のセルではない)の自動改行を防ぐにはどうすればよいですか?


1
答えを選んでください!...今は遅すぎると思います
Jaeeun Lee

回答:


258

CSSスタイルの空白を使用できます。

white-space: nowrap;

4
単一のセルではなく、テーブルの列の改行を防ぎたい。
スティーブン

11
それを列のすべてのセルに追加しますか?
デビッドM

これを適用したいすべてのtdセルにクラスを追加します(テーブル内のすべてのセルではなく特定のセルに適用したくない場合)。
ジェームズブラック

同じ列のすべてのセルに適用したい。
スティーブン

7
このルールは、n番目の子セレクターcss-tricks.com/how-nth-child-works
Zach Lysobey

36

完成のために:

#table_id td:nth-child(2)  {white-space: nowrap;}

the table_idテーブルの2列にスタイルを適用するために使用されます。

これはすべての主要なブラウザでサポートされており、IEはIE9以降でこれをサポートし始めました。



17

追加するだけ

style="white-space:nowrap;"

例:

<table class="blueTable" style="white-space:nowrap;">
   <tr>
      <td>My name is good</td>
    </tr>
 </table>

これは、個々の列だけでなく、テーブル全体(つまり、すべての列)に適用されませんか?
Joshua Pinter、

15

これを行うにはいくつかの方法があります。どれも簡単で明白な方法ではありません。

空白に適用する:nowrap <col>は機能しません。<col>要素で動作するCSSプロパティは、背景色、幅、境界線、可視性の4つだけです。IE7以前はすべてのプロパティをサポートしていましたが、これは奇妙なテーブルモデルを使用していたためです。IE8が他のすべてのユーザーと一致するようになりました。

それで、これをどのように解決しますか?

IE(IE8を含む)を無視できる場合は、:nth-child()疑似クラスを使用して、<td>各行から特定のを選択できます。使用しますtd:nth-child(2) { white-space:nowrap; }。(これはこの例では機能しますが、行スパンまたは列スパンが関与している場合は機能しません。)

IEをサポートする必要がある場合は、長い時間をかけて、<td>影響を与えたいすべてのクラスにクラスを適用する必要があります。それは吸うが、それらは休憩です。

長期的には、CSSのこの欠如を修正して、列内のすべてのセルにスタイルをより簡単に適用できるようにする提案があります。あなたは何かをすることができるでしょうtd:nth-col(2) { white-space:nowrap; }、そしてそれはあなたが望むことをするでしょう。


13
<td style="white-space: nowrap">

nowrap私は信じている属性が廃止されました。上記が推奨される方法です。


6
<table class="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: 3px 2px;
        text-align: left;
    }
</style>

これは、nowrap値を持つ空白スペースプロパティの使用例です。bluetableはテーブルのクラスで、テーブルの下はCSSスタイルです。


5

通常のスペースではなく、改行しないスペースをテキストに入れます。Ubuntuでは、(Compose Key)-space-spaceを使用してこれを行います。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.