HTML Automatischer Umbruch (ohne Leerzeichen)

gfeschu

Ensign
Registriert
Aug. 2010
Beiträge
147
Hallo zusammen

Ich liste Dateinamen auf, die gefunden wurden. Manchmal sind diese ewigs lang und werden durch _ getrennt. Das heisst das "Wort" ist sehr lang.

Wie kann ich das bei IE8, FF und Safari so hinbekommen, dass das klappt?
Also wenn ich das "Word-Wrap:break-word" benutze klappt das zwar im IE, aber im FF und Safari zerstörts mir die ganze Tabelle. Könnte auch ein Div in das TD hauen falls das was bringt.

Was ich genau meine seht Ihr im Screenshot.

Gibts da ne schlaue Lösung? Habe bis jetzt nichts gefunden. :(

Gruss
 

Anhänge

  • leerzeichen.JPG
    leerzeichen.JPG
    12,5 KB · Aufrufe: 256
Ich würde den Namen bei einer gewissen Anzahl an Zeichen einfach abschneiden und mit ... ergänzen und beim Hover den alt tag mit vollem namen anzeigen...
 
Okay, hast du irgendwo no Beschreibung für die automatische Ergänzung mit "..."?
Könnte schwierig werden das mit dem ALT Text, da ich diese Daten mit Ajax reinlade, aber mal schauen. Danke!

Also geht so was simples eig. überhaupt nicht? :rolleyes:
 
Du kannst doch mit JavaScript einfach gucken, wie lang der String ist und ihn ab 30 Zeichen oder so abschneiden und die letzten 2-3 Zeichen (also alles nach dem letzten Punkt) - die Dateiendung - wieder dranhängen. (Falls du die Dateiendung überhaupt willst)
 
Ich würde sowas mit Modulo machen. Dann vor der Moduloposition bei nem Leer- oder Trennzeichen trennen (mit <br />). Ist kein Leer- oder Trennzeichen vorhanden, wird mit "..." gekürzt.

Oder ohne Umbruch via Substring kürzen
 
Wieso wird das nicht schon server-seiting gemacht? Solche JS Lösungen sind nicht wirklich schön, zumal der User JS einfach deaktivieren kann.
 
Heutzutage wird fast überall JS benutzt und jedes Gerät unterstützt es. Ich kann mich nur für die Nutzung von JS aussprechen, zumal könnte man dann auch die Zeichenanzahl abhängig von der Bildschirmbreite machen, etc. Oder das Wort bei Bedarf "aufklappen", so dass es ganz sichtbar ist. Und: Man muss das Wort nur 1x über die Leitung schicken und nicht in kurzer und vollständiger Version!
 
Ein Klick und deine Seite sieht aus wie Müll, das ist unprofessionell. Jedes Script bläht eine Webseite auf und lässt sie träger werden. Man sollte es sich einfach von Anfang an nicht angewöhnen, sondern so viel wie möglich bzw. sinnvoll vom Server machen lassen.
 
Und für jeden Klick eine komplette Seite vom Server zu laden macht es dann mehr "responsive"? Haha, also AJAX hat definitiv seine Berechtigung. Damit verkürzt man Ladevorgänge. Und man kann eben auch sehr viel HTML-Kram generieren, der sonst geladen werden müsste.
Und wie viele User haben JS deaktiviert? Das dürfte eine verschwindend Geringe Zahl sein und abgesehen davon: Die Leute, die JS deaktiviert haben, gehören zum versierteren Kreis der Computernutzer und wissen worauf sie sich da einlassen.
 
Also ich habs jetzt mal ganz einfach, aber nicht ganz so schön gelöst.

Ich hab ins <td> ein <div> eingefügt, dem eine feste Breite gegeben und dann das "Word-Wrap:break-word" eingefügt.

Siehe da, alle Browser machen dies Korrekt. Da ich nur ab IE8 benötige sollte das eigentlich eine Lösung sein die funktioniert oder?

Oder würdet ihr dies unter keinen Umständen so machen?

Danke für eure Hilfe!
 
Und wenn du dem <td> eine feste Breite gibst und break-word setzt geht's nicht?
 
wenns funktioniert, tu es. es sieht auf jeden fall nach validem html-code aus und break-word ist genau dafür geschaffen worden.
mich wundert eher, warum break-word bei ner td nicht korrekt angewendet werden sollte. hat die zelle/spalte keine fixe breite?
 
Zurück
Oben