662 Stimmen

Zeilenumbruch in einer HTML-Tabelle

Ich habe mit word-wrap: break-word um Text einzuschließen div s und span s. In Tabellenzellen scheint es jedoch nicht zu funktionieren. Ich habe eine Tabelle eingestellt auf width:100% mit einer Zeile und zwei Spalten. Text in Spalten, obwohl mit dem obigen Stil versehen word-wrap nicht verpackt. Dadurch wird der Text über die Grenzen der Zelle hinausgeschoben. Dies geschieht in Firefox, Google Chrome und Internet Explorer.

So sieht die Quelle aus:

td {
  border: 1px solid;
}

<table style="width: 100%;">
  <tr>
    <td>
      <div style="word-wrap: break-word;">
        Looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong word
      </div>
    </td>
    <td><span style="display: inline;">Short word</span></td>
  </tr>
</table>

Das lange Wort oben ist größer als der Rahmen meiner Seite, aber es bricht nicht mit dem obigen HTML. Ich habe die folgenden Vorschläge ausprobiert, indem ich Folgendes hinzugefügt habe text-wrap:suppress y text-wrap:normal aber beides hat nicht geholfen.

0 Stimmen

Hard-Hyphen hinzufügen. <tr> <td style="text-wrap:normal;word-wrap:break-word"> Dies ist ein Vorspruch. </td> </tr>

0 Stimmen

Leider stammt der darin enthaltene Text aus nutzergenerierten Inhalten. Natürlich könnte ich ihn vorverarbeiten und den Bindestrich hinzufügen, aber ich hatte gehofft, es gäbe einen besseren Weg.

0 Stimmen

Ich entschuldige mich für die Verwendung des Wortes "harter Bindestrich". In HTML wird der einfache Bindestrich durch das Zeichen "-" (- oder -) dargestellt. Der weiche Bindestrich wird durch die Zeicheneinheit ­ ( oder ) dargestellt.

4voto

Darkcoder Punkte 704

Ich habe dasselbe Problem, bei mir funktioniert es einwandfrei.

 <style> 
      td{
            word-break: break-word;
      }
    </style>
    <table style="width: 100%;">
      <tr>
<td>Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong word</td>
        <td><span style="display: inline;">Short word</span></td>
      </tr>
    </table>

1 Stimmen

Es funktioniert ohne Änderung der Tabelle Stil.... auf Chrome heute.

1voto

Bobby Punkte 45

Style="table-layout:fixed; width:98%; word-wrap:break-word"

<table bgcolor="white" id="dis" style="table-layout:fixed; width:98%; word-wrap:break-word" border="0" cellpadding="5" cellspacing="0" bordercolordark="white" bordercolorlight="white" >

Demo - http://jsfiddle.net/Ne4BR/749/

Das hat bei mir hervorragend funktioniert. Ich hatte lange Links, die dazu führten, dass die Tabelle in Webbrowsern 100 % überschritt. Getestet mit IE, Chrome, Android und Safari.

0 Stimmen

Dies ist im Grunde ein Duplikat der bestbewertete Antwort In beiden Fällen läuft die Lösung darauf hinaus, "die table-layout: fixed ".

1voto

ironsam Punkte 640

Tabellen werden standardmäßig umbrochen, stellen Sie also sicher, dass die Anzeige der Tabellenzellen table-cell :

td {
   display: table-cell;
}

0 Stimmen

-1; Text in jede HTML-Elemente werden standardmäßig umbrochen, nicht nur Tabellen. Der Vorschlag hier macht nicht wirklich Sinn.

0 Stimmen

Dies ist einfach keine Antwort und sollte weit unter der Antwort stehen, die ihr angehängt ist.

0voto

Adarsh Singh Punkte 188

Sie können dies versuchen, wenn es Ihnen passt...

Fügen Sie ein Textfeld in Ihr td ein und deaktivieren Sie es mit der Hintergrundfarbe weiß und legen Sie die Anzahl der Zeilen fest.

<table style="width: 100%;">
  <tr>
    <td>
        <textarea rows="4" style="background-color:white;border: none;" disabled>      Looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong word
      </textarea>
    </td>
    <td><span style="display: inline;">Short word</span></td>
  </tr>
</table>

0voto

Lawrence Njenga Punkte 121

Einfach Breite hinzufügen. Das hat bei mir funktioniert.

     <td style="width:10%;"><strong>Item Name</strong></td>

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