#1 23. April 2007 Feste Tabellenbreite hi hab ein problem. sieht so aus: ich habe eine tabelle mit HTML: <table width="600" border="0"> <tr> <td width="200">passender text</td> <td width="400">LANGER TEXT</td> </tr> </table> jetzt ist LANGER TEXT laenger ist als die breite von "td" erlaubt. er drueckt das "td" auseinander und das ganze design ist im eimer. der text ist nicht durchgehend, d.h. nicht sdfkljdslfkjldsfds sondern sfsdf sdfljsdl dsfjlsdlfj --> mit leerzeichen. habs mit style="text-align:justify;" probiert, um zeilenumbrueche zu erlauben aber der will nicht. hoffe ihr habt ne idee fuer mich. thx. hilfe + Multi-Zitat Zitieren
#2 23. April 2007 AW: Feste Tabellenbreite versteh ich nich... abe rbei mir siehts ok aus ... + Multi-Zitat Zitieren
#3 23. April 2007 AW: Feste Tabellenbreite Also ich versteh es auch nicht sdfkljdslfkjldsfds <- wird durch HTML nicht zu -> sfsdf sdfljsdl dsfjlsdlfj .... da wirste dann schon selber leerzeichen eingegeben haben ... allgemein drückst du dich äußerst schlecht aus, was du meinst hab ich immer noch nicht verstanden. Ich jedoch würde sowas nie per html machen, sondern sowas ist die arbeit von css, breiten darstellung und so! welchen browser nutzt du? + Multi-Zitat Zitieren
#4 23. April 2007 AW: Feste Tabellenbreite Versuch es mal mit: Code: <br> wenn ich dich richtig verstanden habe. Dann schreibt er in einer neuen Zeile weiter und das design dürfte sich nicht verschieben. + Multi-Zitat Zitieren
#5 23. April 2007 AW: Feste Tabellenbreite Pack mal in dein <td> mit "LANGER TEXT" ein style="word-break:break-all;word-wrap:break-word": <td width="400" style="word-break:break-all;word-wrap:break-word"> dann sollte es so oder so gehen. Der IE wird dann das letzte Wort pro Zeile vermutlich auseinander nehmen, aber naja.... Gruß + Multi-Zitat Zitieren
#6 23. April 2007 AW: Feste Tabellenbreite Code: <table width="600" [B]height="*" cellspacing="0" cellpadding="0"[/B] border="0"> <tr> <td width="200">passender text</td> <td width="400">LANGER TEXT</td> </tr> </table> hilft das? + Multi-Zitat Zitieren
#7 24. April 2007 AW: Feste Tabellenbreite also es is so, wenn du eine zeile ohne leerzeichen schreibst, dann hilft keine width mehr dann wird die zelle zeschoseen, ist hier bei rr übrigends genau so. word-break usw ist css3, wird von daher nicht von allen browsern unterstützt. was du probieren kannst ist der table dieses style element zu verpassen: <table style="table-layout: fixed;"> ob es klappt weiss ich nicht. eine andere möglichkeit wäre mit php die länge einer zeile zu erfassen indem du jede neue zeile explodest und dann mit strlen() vergleichst ob die zeile zu lang ist. (wobei hier leerzeichen missachtet werden!) hier mal ein bespiel: PHP: <? php $text = 'der text der angezeigt werden soll' ; $new_line = "" ; $txt = explode ( '\n' , $text );foreach( $txt AS $br => $line ) { $line . = "<br/>" ; if( strlen ( $line ) > 500 ) { $line = str_split ( $line , 500 ); for( $i = 0 ; $i < count ( $line ); $i ++) { $new_line .= $line [ $i ]. "<br/>" ; } } else $new_line .= $line ; } $gebrochener_text = $new_line ; // $new_line ist nun der text der angezeigt werden soll mit spätestes alle 500 zeichen einem <br/> ?> sollte deine seite nich dynamisch sein, sprich der text bereits im template sein, kannst du mit ajax arbeiten und den text so richtig anpassen lassen. wenn du ein script brauchst dann poste ich es dir. + Multi-Zitat Zitieren
#8 24. April 2007 AW: Feste Tabellenbreite cool danke fuer die ganzen antworten. @murdoc, jo das script von dir jetzt gefaellt mir. werds mal ausprobieren. das problem ist in einem gaestebuch. wenn die leute keine zeilenumbrueche einbauen gibts halt dieses problem. ist also dynamisch. jedenfalls ich hab mal dieses fixed eingebaut und es bringt was. also design bleibt so, der text geht aber ueber den rand ^^ + Multi-Zitat Zitieren
#9 24. April 2007 AW: Feste Tabellenbreite Also murdocs ding schlägt auch fehl wenn die nur alles in eine zeile tippen, denn wo alles in einer zeile steht, da ist auch kein "\n"!!!! Css Stichwort overflow, in komibination mit dem element width! + Multi-Zitat Zitieren
#10 24. April 2007 AW: Feste Tabellenbreite das mit dem \n is kein problem, man kann ein solches ja einfach anhängen lassen bevor man den text in das script gibt. also $text = "der_text"; $text .= "\n"; [das script] + Multi-Zitat Zitieren
#11 24. April 2007 AW: Feste Tabellenbreite hm wenn ich das mache dann kommt ne scroll bar ^^ aber war schon nah dran. sonst noch vorschlaege? bw ist raus + Multi-Zitat Zitieren
#12 24. April 2007 AW: Feste Tabellenbreite Also wenn ein Benutzer Leerzeichen etc. setzt, oder sogar Zeilenumbrüche eintippt kann das entweder locker über css oder nl2br geregelt werden, wenn der user eine zeile eintippt würd ich gar nicht probieren das anzeigen zu lassen. Soller doch Mist bauen, scheiß drauf, und versteck den überlauf einfach mit overflow hidden ... jede Funktion die einen Blob kontrolliert kann erstens ein Sicherheitslücke darstellen und verursacht zum zweiten auf jeden Fall viel Rechenzeit .... EDIT: Bei dem Rest hatte ich grad n Denkfehler ... + Multi-Zitat Zitieren
#13 24. April 2007 AW: Feste Tabellenbreite 1. mit "der text der angezeigt werden soll" meine ich (wie man sich wohl denken kann) DEN TEXT DER ANGEZEIGT WERDEN SOLL, sprich den text den der user schreibt aber verpennt leerzeichen zu setzten! 2. soll (da der user ja kein ENTER kennt) an diesen TEXT DEN DER USER SCHREIBT ein \n angehängt werden. folglich kann es dann auch explodet werden. ABER MakenX hat föllig recht, warum sollst du rechenleistung verschwenden für sachen wie texte ohne leerzeichen^^ einfach weg damit, sowas kann men eh ned brauchen. wenns releasenamen sind kannst ja _ in ein leerzeichen replacen lassen, aber "halloichbineintext" würd ich gnadenlos entfernen + Multi-Zitat Zitieren
#14 24. April 2007 AW: Feste Tabellenbreite Naja entfernen brauch er es ja nicht direkt aber ich meine, wer sowas postet, möchte irgendwas spezielles damit ausdrücken, oder will bauen. Wer etwas spezielles ausdrücken will, gut meinend, der wird sich auch mühe geben, dass es im gästebuch angezeigt wird .... jemand der bauen will, baut auch und man sollte was sowas angeht, aus dingen die eigentlich mist produzieren sollen, nie versuchen irgendwas anzufangen und darzustellen ... man weiß halt nie was in so einem gästebuch gepostet wird, und in so einem gästebuch ist viel platz um exploits etc. zu posten, von daher kann es nur gut sein, so wenig wie möglich mit diesen texten zu arbeiten und nur die nötigsten anwendungen auf solche Texte anzuwenden. Wie gesagt, feststehende Breite angeben und den Überlauf mit "overflow" berbeiten .... + Multi-Zitat Zitieren
#15 29. April 2007 AW: Feste Tabellenbreite hehe @murdoc, kann ich mir denken dass viele das machen würden. aber sagen wirs mal so. es ist einerseits benutzerfreundlicher und andererseits auch eine "übung". ich hab dein script mal ausprobieren wollen, aber problem: Call for undefined function: str_split... die funktion gibts nur bei php5 und auf meinem tollen funpic server gibts des net... möglicher ausweich script? @makenx habich gemacht. funktioniert nur bei ie (erstaulicher weise). bei firefox schreibt der den text gnadenlos weiter + Multi-Zitat Zitieren