[HTML] Feste Tabellenbreite

Dieses Thema im Forum "Webentwicklung" wurde erstellt von MrMuhKuh, 23. April 2007 .

Schlagworte:
  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
     
  2. 23. April 2007
    AW: Feste Tabellenbreite

    versteh ich nich...

    abe rbei mir siehts ok aus ...
     
  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?
     
  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.
     
  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ß
     
  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?
     
  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.
     
  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 ^^
     
  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!
     
  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]
     
  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
     
  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 ...
     
  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
     
  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 ....
     
  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
     
  16. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.