HTML Tabellenzelle Zeilenumbruch

Status
Nicht offen für weitere Antworten.

pchilfe

Erfahrenes Mitglied
Liebe Freunde,

Ich habe folgende Frage?

Wie kann ich Zeilenbruch innerhalb einer Tabelle führen.

Die Breite der Tabelle muss 410 px sein. Wenn ein Text aus der Datenbank kommt, der folgender form hat: WWWWWWWWWWWWWWWWW

wächst die Tabelle außerhalb den gewünschten Bereich.

Wie kann man die Tabellen Breite fixieren, unabhängig von der Zellen Inhalt.

Wenn ich den Zeilenumbruch mit PHP mache, bricht irgendwann einganzes Wort ab, was nicht erwünscht ist.

HTML:
$strTxt = wordwrap($strTxt, 52, "\n", 1);
$strTxt =  nl2br($strTxt);

Gibt es eine andere Möglichkeit, Zeilenumbruch innerhalb der Tebellenzelle zu machen ohne Php-Einsatz?

Beispiel:

HTML:
<?php

$strTxt = 'sssssssssswwwwAAAAAAAAAAAAAAwwwwwAAAAADdddddCCCCCCCCC';

echo"
<html>
<head>
<title>CSS Zeilenumbruch</title>
<style type='text/css'>
#content {
 font: 8pt Arial;
 display: block;
 max-width:410px;
 white-space: normal;
 overflow:hidden;
 }
</style>

</head>
<body>
   <table border='1' cellpadding='0' cellspacing='0' width='420px' height='100'>
    <tr>
      <td width='5' height='100'>&nbsp;</td>
      <td width='410px' height='100' bgcolor='#DDDDDD' valign='top'>
      
        <div class='content'>
            $strTxt
        </div>
        
      </td>
      <td width='5' height='100'>&nbsp;</td>
    </tr>
  </table>
</body>
</html>";

?>


Vielen Dank für jede Antwort.
 
Das Beispiel sieht doch schon recht vielversprechend aus. Ich würde es vermutlich nicht anders machen (außer ohne Tabellen, denn die sind für tabellarische Daten gedacht). Übrigens hast du einen ID-Selektor („#Bezeichner“) statt eines Klassen-Selektors („.Bezeichner“) angegeben.
 
Hallo,

Mit:

HTML:
style='table-layout:fixed'

wird die Tabelle-Breite zwar fixiert, aber es wird keinen Zeilenumbruch gemacht. Der Text in Firefox wächst außerhalt der Tabelle. In IE wird ein teil der Text nicht angezeigt.

In meinem Beispiel habe den Bezeichner auf .content geändert aber immer noch kein Zeilenumbruch weder mit Tabelle noch ohne Tabelle.

Was kann man noch tun?

Bitte um Hilfe!

Gruß ...
 
Zuletzt bearbeitet:
Hi,

dass von den Browsern kein Zeilenumbruch vorgenommen wird, liegt einfach an der Zeichenkette, in der kein Leerzeichen enthalten ist. Von daher solltest du zu der PHP-Lösung greifen.
 
Hi,

Also ich programmiere zur Zeit ein multilinguales internes Nachrichten System mit PHP und MySql.

Alles funktioniert perfekt aber für den Fall, dass der Benutzer so eine Nachricht schreibt:
HTML:
Haaaaaaaaaaaaaaaaaaaaaalllllllllllllllllllllllllllllloooooooooooooooooooooooo

so dass die Breite des Textes größer ist als die Breite des Displayfeldes.

Wegen der Multilingualität (Deutsch, Russisch, Chinesisch usw ...)

Kann ich die PHP-Funktionen nicht sinnvoll einsetzen, um ein Zeilenumbruch zu erzwingen, da bei einigen Wörter, einen Zeilenumbruch im Mitte eines Wortes erzwungen wird, wo natürlich die Nachricht nicht schön angezeigt wird.

HTML:
$strNachricht = wordwrap($strNachricht, 53, "\n", 1);
$strNachricht =  nl2br($strNachricht);

Ich habe versucht, dieses Problem mit CSS zu lösen und fand, dass nicht jeder Browser CSS Bausteine gleich interpretiert.

Gibt es eine andere Möglichkeit
 
Wenn der Webbrowser im Text keinen geeigneten Ansatzpunkt für einen Umbruch findet (siehe etwa Unicode Line Breaking Properties), darf er auch keine machen. Daher wirst du wohl den Text verändern müssen, so dass es Ansatzpunkte gibt, oder aber die Umbrüche erzwingen.
 
Hallo,

Ich habe heute den ganzen Tag mich mit Zeilenumbruck beschäftigt. Eine Mögliche Lösung, wie ich es gerne hätte, für alle Browsern gibt es leider nicht.

Daher habe ich das Problem mit Textarea gelöst.

Beispiel:
HTML:
<textarea cols='76' rows='20' wrap='physical' readonly>...Text ...</textarea>


Vielen Dank für alle Antworten ...

Gruß ..
pchilfe
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück