tma: umbruch nach bindestrich erwünscht

Hallo,

wenn ich ein DIV mit 125px Breite habe und es werden mittels Datenbank-Abfrage lange Wörter reingeschrieben, werden diese im IE beim Bindestrich getrennt, beim Firefox jedoch nicht und die Wörter gehen über das DIV hinaus.
Wie schaffe ich es, das mir auch der Firefox nach einem Bindestrich umbricht???

BSP:

IE (so wie ich es brauche)
Das-ist-
der-Text

Firefox (so wie ich es NICHT brauche)
Das-ist-der-Text

kann jemand helfen???

Lieben Gruß, tom

  1. Hi tma,

    IE (so wie ich es brauche)
    Das-ist-
    der-Text

    Firefox (so wie ich es NICHT brauche)
    Das-ist-der-Text

    In welcher Form kommt dein Text in das div? Eventuell würde es reichen, die Texte, die ins
    div geladen werden noch in ein <p> </p> zu schreiben.

    Grüße aus H im R,
    Engin

    1. Hallo Engin,

      danke für den Tip, reicht aber leider nicht. Hab's gleich probiert.
      Die Daten kommen per Datenbank-Abfrage. Aber das ist unerheblich, denn ich habe es auch mit ganz einfachem text probiert. Da ist es dann genauso. Es ist auch egal ob mit <p> oder ohne.

      gruß, tom

      In welcher Form kommt dein Text in das div? Eventuell würde es reichen, die Texte, die ins
      div geladen werden noch in ein <p> </p> zu schreiben.

      Grüße aus H im R,
      Engin

      1. Hi tma,

        Die Daten kommen per Datenbank-Abfrage. Aber das ist unerheblich, denn ich habe es auch mit ganz einfachem text probiert. Da ist es dann genauso. Es ist auch egal ob mit <p> oder ohne.

        Stimmt, du hast ja auch Text in Form von

        Firefox (so wie ich es NICHT brauche)
        Das-ist-der-Text

        Das sieht Firefox als "ein-Wort" und kann daher nicht umbrechen. Das der IE dieses Wort umbricht ist völlig Normal,
        also "Normal" im Sinne vom IE halt.  :-)

        Hab grade nochmal nachgesehen, selbst der IE7 bricht das Wort um.

        Grüße aus H im R,
        Engin

        1. hallo engin,

          da gibt's dann wohl auch keine möglichkeit, dem FF zu sagen, das er auch umbrechen soll?

          gruß, tom

          Das sieht Firefox als "ein-Wort" und kann daher nicht umbrechen. Das der IE dieses Wort umbricht ist völlig Normal,
          also "Normal" im Sinne vom IE halt.  :-)

          Hab grade nochmal nachgesehen, selbst der IE7 bricht das Wort um.

          Grüße aus H im R,
          Engin

          1. Hi tma,

            Vermeide Bitte TOFU.

            da gibt's dann wohl auch keine möglichkeit, dem FF zu sagen, das er auch umbrechen soll?

            Ist es denn zwingend erforderlich, die Worte mit bindestrichen zu speichern?
            Mir fällt jetzt auf anhieb kein beispiel ein, wo das Sinn ergeben würde.

            Grüße aus H im R,
            Engin

            1. hallo engin,

              Ist es denn zwingend erforderlich, die Worte mit bindestrichen zu speichern?
              Mir fällt jetzt auf anhieb kein beispiel ein, wo das Sinn ergeben würde.

              Ich arbeite in dem Fall mit fertigen CSV-Daten. Die Daten werden also komplett und fertig so geliefert.

              Beispiel: "3-Monats-Wandkalender".

              Und das mehrere hundert Zeilen lang...
              vielleicht fällt mir ja noch was ein.

              gruß, tom

              1. Hi ihr zwei!

                Wie ich lernen musste werden soft hyphen mittlerweile gut unterstuetzt. Was das sind? Das sagt euch der wunderbare Text hier:

                http://de.selfhtml.org/navigation/suche/index.htm?Suchanfrage=soft+hyphen

                1. Hi Steel,

                  Wie ich lernen musste werden soft hyphen mittlerweile gut unterstuetzt. Was das sind? Das sagt euch der wunderbare Text hier:
                  http://de.selfhtml.org/navigation/suche/index.htm?Suchanfrage=soft+hyphen

                  Jau, ich wusste doch das es da was gibt, nur hatte ich den Begriff vergessen und hatte fälschlicher weise nach nowrap gesucht.

                  Das ist SELFHTML, hier werden sie geholfen. :-)

                  Grüße aus H im R,
                  Engin

                2. danke euch !!!

                  jetzt brauche ich per PHP nur noch zu sagen, das beim trennstrich &shy; möglich sein darf und gut ist. werde es morgen testen!

                  liebe grüße, tom

                  1. Halt!

                    Hier haben wir den kleinen Wermutstropfen: Nicht shy suchst du (das produziert dann einen zweiten Strich) sondern <wbr>. Das produziert zwar keinen extra Trennstrich, aber...
                    wird (natuerlich) nicht von allen Browsern unterstuetzt, da nicht standard.

                    Schau doch mal in die Tabelle auf der von mir verlinkten Seite. Ich weiss nicht, was Opera damit macht. Mit Glueck trennt Opera bei - wie der Explorer und die sache waere damit recht gut ueber die Buehne gebracht. Das gleiche gilt fuer Safari.

                    Aber Moeglichkeiten gibt es.

                    1. Sain bainu!

                      Hier haben wir den kleinen Wermutstropfen: Nicht shy suchst du (das produziert dann einen zweiten Strich) sondern <wbr>. Das produziert zwar keinen extra Trennstrich, aber...
                      wird (natuerlich) nicht von allen Browsern unterstuetzt, da nicht standard.

                      ... und macht damit natürlich auch das Dokument invalide. Statt <wbr> könnte man auch einen Zero Width Space nach dem Bindestrich einfügen; IIRC versteht der FF diesen als Umbruchmöglichkeit. Nachteil: Dieser Space kann u.U. als Kästchen angezeigt werden, wenn die verwendete Schriftart ihn nicht enthält.

                      Aber Moeglichkeiten gibt es.

                      Ich kenne keine ohne Haken, würde mich aber gerne eines Besseren belehren lassen! ;-)

                      Viele Grüße vom Længlich

        2. Hallo Engin!

          Das sieht Firefox als "ein-Wort" und kann daher nicht umbrechen. Das der IE dieses Wort umbricht ist völlig Normal,
          also "Normal" im Sinne vom IE halt.  :-)

          Nein. Normal im Sinne von »normal«. Der IE macht es richtig und irgendjemand hier sagte, Firefox wird es bald auch so machen.

          Viele Grüße aus Frankfurt/Main,
          Patrick

          --

          _ - jenseits vom delirium - _
          [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
          Nichts ist unmöglich? Doch!
          Heute schon gegökt?
          1. Hi Patrick,

            Das sieht Firefox als "ein-Wort" und kann daher nicht umbrechen. Das der IE dieses Wort umbricht ist völlig Normal,
            also "Normal" im Sinne vom IE halt.  :-)

            Nein. Normal im Sinne von »normal«. Der IE macht es richtig und irgendjemand hier sagte, Firefox wird es bald auch so machen.

            Das ist dann der Endgültige Beweis, nichts ist vollkommen. :)

            Hätte ich ja im Leben nicht vermutet, das FF da einen fehler macht. Dabei updaten die
            das Ding alle Paar Wochen. Bin schon bei Version 2.0.0.12, angefangen hatte
            ich glaub ich bei 2.0.0.6 und das ist nicht mal lange her.

            Grüße aus H im R,
            Engin

            1. Puruirak!

              Nein. Normal im Sinne von »normal«. Der IE macht es richtig und irgendjemand hier sagte, Firefox wird es bald auch so machen.

              Das ist dann der Endgültige Beweis, nichts ist vollkommen. :)

              Hätte ich ja im Leben nicht vermutet, das FF da einen fehler macht. Dabei updaten die
              das Ding alle Paar Wochen. Bin schon bei Version 2.0.0.12, angefangen hatte
              ich glaub ich bei 2.0.0.6 und das ist nicht mal lange her.

              Daß beim Bindestrich umgebrochen werden kann, steht auch nicht in der HTML-Spezifikation (die der FF _viel_ besser befolgt als der IE), sondern in Unicode - und die Unicode-Unterstützung ist bei Microsoft-Programmen generell vorbildlich.
              Die HTML-Spezifikation würde ich an dieser Stelle sogar eher so verstehen, daß beim Bindestrich nicht umgebrochen werden soll*:
              »The plain hyphen should be interpreted by a user agent as just another character. The soft hyphen tells the user agent where a line break can occur.«
              Das stufe ich aber als »doof formuliert« ein, und die Browser sollten sich hier lieber an Unicode orientieren. Machen sie ja bald auch alle, wenn das im FF gefixt ist. :-)

              Viele Grüße vom Længlich

              * wobei man in den »just another character«-Unsinn eigentlich reininterpretieren kann, was man will. ;-)

              1. Hallo Længlich!

                Die HTML-Spezifikation würde ich an dieser Stelle sogar eher so verstehen, daß beim Bindestrich nicht umgebrochen werden soll*:

                Siehst Du? Ich interpretiere es annersda... :)

                »The plain hyphen should be interpreted by a user agent as just another character. The soft hyphen tells the user agent where a line break can occur.«

                »(...)where a line break can occur« = »[eine Stelle,] an welcher ein Zeilenumbruch stattfinden kann«.

                Zusammen mit »just another character« = »Hey, Browser, ist laut Deinen Berechnungen noch Platz in der Zeile, dann schreib das Wort hinter dem »-« noch hin, sonst in einer neuen Zeile«... ;)

                Das stufe ich aber als »doof formuliert« ein,
                * wobei man in den »just another character«-Unsinn eigentlich reininterpretieren kann, was man will.

                In der Tat. Aber von Leuten, die Pakete schnüren, die mehr Platz brauchen als ihre Maßen, was will man da erwarten? ;)

                Viele Grüße aus Frankfurt/Main,
                Patrick

                --

                _ - jenseits vom delirium - _
                [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
                Nichts ist unmöglich? Doch!
                Heute schon gegökt?
                1. Bhasa Jojalapa!

                  Die HTML-Spezifikation würde ich an dieser Stelle sogar eher so verstehen, daß beim Bindestrich nicht umgebrochen werden soll*:

                  Siehst Du? Ich interpretiere es annersda... :)

                  Soso, Du interpretiersch des annaschda. ;-)
                  Ich wußte, daß diese Antwort kommen würde; es war nur noch nicht bekannt, von wem. ;-)

                  »The plain hyphen should be interpreted by a user agent as just another character. The soft hyphen tells the user agent where a line break can occur.«

                  »(...)where a line break can occur« = »[eine Stelle,] an welcher ein Zeilenumbruch stattfinden kann«.

                  Zusammen mit »just another character« = »Hey, Browser, ist laut Deinen Berechnungen noch Platz in der Zeile, dann schreib das Wort hinter dem »-« noch hin, sonst in einer neuen Zeile«... ;)

                  Hmm, diese Interpretation (v.a. das »zusammen mit«) sieht mir ein bißchen danach aus, als hättest Du den Unterschied zwischen »plain hyphen« und »soft hyphen« übersehen. Die Tatsache, daß das sich das W3C hier über 2 verschiedene Zeichen gleichzeitig ausläßt, macht den Quatsch natürlich noch mißverständlicher.

                  So oder so ist der ganze Absatz ohnehin überflüssig. An anderer Stelle steht ja, daß Unicode als Zeichensatz zugrunde liegt, und da Unicode nicht nur Codepoints, sondern auch zahlreiche Eigenschaften wie z.B. das Zeilenumbruchsverhalten definiert, ist damit sowieso schon alles gesagt.

                  In der Tat. Aber von Leuten, die Pakete schnüren, die mehr Platz brauchen als ihre Maßen, was will man da erwarten? ;)

                  Geht ein W3C-Mitarbeiter zur Post... ;-)

                  Viele Grüße vom Længlich

  2. Hi

    Wie schaffe ich es, das mir auch der Firefox nach einem Bindestrich umbricht???

    Di kannst nach dem Bindestrich ein zerowidthspace einfügen (Unicode 8203), der aber wiederum vom IE6 nicht richtig angezeigt wird.

    Mein Silbentrennungsscript (http://code.google.com/p/hyphenator/) macht das übrigens - abhängig vom Browser - automatisch und fügt gleich noch an den entsprechenden Stellen ein softhyphen ein (nicht ganz fehlerfrei zwar, aber ich arbeite daran).

    Gruss,
    Mathias

    1. Hallo nam,

      Mein Silbentrennungsscript (http://code.google.com/p/hyphenator/) macht das übrigens - abhängig vom Browser - automatisch und fügt gleich noch an den entsprechenden Stellen ein softhyphen ein (nicht ganz fehlerfrei zwar, aber ich arbeite daran).

      Gibt es bei dir da etwa die berühmten Blumento-Pferde?

      Nach einem Bindestrich könnte man ja auch ein in einem SPAN-Element irre klein getrimmtes Leerzeichen verwenden, wie es wohl auch www.spiegel.de grundsätzlich serverseitig einfügt; mit allen Nachteilen, die das für Suchmaschinen hat. Clientseitig eingefügt, gibt es diese Nachteile ja nicht mehr.

      Hier ist das unlängst in einem Sprachforum einem übel aufgestoßen.

      Gruß Gernot

      1. Hi

        Gibt es bei dir da etwa die berühmten Blumento-Pferde?

        Nein, aber «Blu|men|top|fer|de»
        Bei der Erzeugung der Trennmuster wurden bis jetzt nur Wörter bis und mit Häufigkeitsklasse 18 berücksichtigt; «Blumentopferde» liegt in der Häufigkeitsklase 23 (von 25); ist also ziemlich selten.
        (http://groups.google.de/group/trennmuster-opensource)

        Nach einem Bindestrich könnte man ja auch ein in einem SPAN-Element irre klein getrimmtes Leerzeichen verwenden

        Gute Idee. Ist allerdings nicht so schön!

        Der «Zero Width Space» (heisst tatsächlich so, inklusive Deppen Leer Zeichen ;-) ist gemäss Unicode genau für diesen Zweck da:
        «this character is intended for line break control; it has no width, but its presence between two characters does not prevent increased letter spacing in justification» (http://www.unicode.org/charts/PDF/U2000.pdf)

        Somit könnte/müsste er eventuell auch von Suchmaschinen ignoriert werden...

        Gruss,
        Mathias