splinter: Schriftgrösse mit Textlänge und Fensterbreite bestimmen

Hallo

Hat jemand ne Idee wie man mit Javascript (oder auch anders?) einem <p> die passende Schriftgrösse zuweisen kann, so dass der Text ungefähr die Breite des Browserfensters einnimmt?

Der Aufbau ist ganz einfach: Nur ein <p> mit text-align: center; ist auf der Page vorhanden, welches per Javascript mit verschiedenen Sätzen gefüllt wird. Der Text soll dabei die Grösse ändern in Abhängigkeit der oben genannten Parameter!

Ich knoble nun schon ein paar Wochen dran rum aber bis jetz hab ich nix brauchbares entdeckt!

Schon nur ne Anregung wär echt toll! =)

MfG

splinter

  1. Grüße,
    normaleweise bricht <p> autmatisch um - hast du den irgendwie eingekaüselt?
    MFG
    bleicher

    --
    __________________________-
    Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
    Lieber bereuen gesündigt zu haben, als nicht sündigen und es später trotzdem bereuen.
    Boccaccio
    1. Grüße,
      normaleweise bricht <p> autmatisch um - hast du den irgendwie eingekaüselt?
      MFG
      bleicher

      nee, eben nix umbrechen! Der Text soll so lange sein dass er gerade ins Fenster passt (es sind nur kurze Sätze).

      1. Grüße,
        verstehe - das wäre afaik möglich -
        du müsstest
        1)fensterbreite
        2)breite des elemnts
        abfragen und dann
        3)überprüfen ob 2<1 sonst
        4)schriftgröße reduzieren.

        MFG
        bleicher

        --
        __________________________-
        Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
        Lieber bereuen gesündigt zu haben, als nicht sündigen und es später trotzdem bereuen.
        Boccaccio
        1. Grüße,
          verstehe - das wäre afaik möglich -
          du müsstest
          1)fensterbreite
          2)breite des elemnts
          abfragen und dann
          3)überprüfen ob 2<1 sonst
          4)schriftgröße reduzieren.

          Die Methode habe ich mir als letzte Alternative freigehalten. ;-)
          Das Problem ist dass es relativ Rechenbedürftig ist wens dann mal ein paar hundert Einträge sind.

          Ich dachte vielleicht kann man irgendwie die Schriftgrösse in der Breite angeben und dann einfach irgendwas wie

          element.style.fontSize=(window.innerWidth/string.lenth)+"px";

          nur sind die Buchstaben nicht gleich "lang" und die Angebe bezieht sich auf die Höhe...

          Bedenke dass ich beim onload für jeden Eintrag die Schriftgrösse berechnen muss!

          1. Hi,

            Die Methode habe ich mir als letzte Alternative freigehalten. ;-)
            Das Problem ist dass es relativ Rechenbedürftig ist wens dann mal ein paar hundert Einträge sind.

            Du koenntest dafuer sorgen, dass die einzelnen Zeilen gar nicht umgebrochen werden duerfen (white-space), und dafuer, dass der Absatz nur so viel Breite einnimmt, wie sein Inhalt verlangt (display:inline o.ae.).
            Wenn du dann die Schriftgroesse erhoehst, gibt dir die offsetWidth des Absatzes quasi immer die Breite der laengsten Zeile an.

            Das solltest du aber absichern, indem du irgendwann aufhoerst, wenn bspw. der Browser die Zeilen trotzdem umbricht, weil er die entsprechende CSS-Eigenschaft nicht versteht o.ae.

            MfG ChrisB