Thomas F: langes wort in einem td ohne das zelle verschiebt

Hallo erstmal,
habe folgendes Problem. ich habe eine tabelle wo 800 pixel breit ist. in der tabelle befindet sich drei spalten, denen ich auch pixelwerte zugeteilt habe. ich brauche für meine homepage folgendes.

wenn ich ein langes wort schreibe ohne unterbrechung, und das wort am ende angelangt ist, von der spalte, dann soll es automatisch in der nächsten zeile weiterschreiben.

jetzt wen ich es mache wird die spalte immer breiter, und es verzieht das layout.

danke für hilfe

  1. Hi Thomas,

    wenn ich ein langes wort schreibe ohne unterbrechung, und das wort am ende angelangt ist, von der spalte, dann soll es automatisch in der nächsten zeile weiterschreiben.

    CSS kennt zwar eine Eigenschaft white-space, aber die hilft dir hier nicht weiter. Du wirst wohl nich drumrumkommen, das Umbrechen durch eine serverseitige Technik erledigen zu lassen, z.B. mit word_wrap() in PHP.

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
    Wer die FAQ gelesen hat, ist klüger! ... und weiß wie man Links macht ;-)
    1. Hallo Dennis, hallo Thomas,

      wenn ich ein langes wort schreibe ohne unterbrechung, und das wort am ende angelangt ist, von der spalte, dann soll es automatisch in der nächsten zeile weiterschreiben.

      CSS kennt zwar eine Eigenschaft white-space, aber die hilft dir hier nicht weiter. Du wirst wohl nich drumrumkommen, das Umbrechen durch eine serverseitige Technik erledigen zu lassen, z.B. mit word_wrap() in PHP.

      Ich hätte da einen Trick, der auch ohne serverseitige Technik auskommt:

        
      <!doctype html public "-//W3C//DTD HTML 4.0 //EN">  
      <html>  
      <head>  
      <title>wordbreaktrick</title>  
      <meta name="author" content="Gernot Back">  
      <meta name="generator" content="Ulli Meybohms HTML EDITOR">  
      </head>  
      <body >  
      <table style="width:100%;border:solid 1px #000000;border-collapse:collapse">  
      <tr>  
       <td style="font-size:20px;width:200px;border:solid 1px #000000;">Käpitänsmützen gibts beim <span style="word-spacing:-.3em;">D o n a u d a m p f s c h i f f f a h r t s k a p i t ä n s m ü t z e n v e r l e i h</span>, gegen eine moderate <span style="word-spacing:-.3em;">D o n a u d a m p f s c h i f f f a h r t s k a p i t ä n s m ü t z e n a u s l e i h g e b ü h r</span>.</td>  
       <td>&nbsp;</td>  
      </tr>  
      </table>  
      </body>  
      </html>  
      
      

      Alternativ könnte man jedes Leerzeichen in den überlangen Wörtern durch &shy; ersetzen. Dann hätte man sogar Trennstriche (Eigentlich sollte man sich dann auch auf die üblichen Silben-Trennungen beschränken) Das würde aber in Mozilla/Firefox/Netscape(6/7) nicht funktionieren.

      Gruß Gernot

      1. Hallo nochmal,

        ich sehe gerade, mein geposteter Vorschlag scheint dann wiederum in Opera nicht zu funktionieren. Da ist die Variante mit &shy; (Soft-Hyphen, "weicher Umbruch") der einzig gangbare Weg. Wie man's macht, macht man's verkehrt, also deshalb vielleicht doch besser serverseitig.

        Gruß Gernot