torsten: CSS Einheiten in px umrechnen

Hallo,

gibt es in Javascript irgendwie eine Möglichkeit, CSS Einheiten in px umzurechnen?

Ich meine die Antwort des Browsers auf die Frage: Wieviele Pixel ergeben 1pt, 1em, 1mm oder 1% etc.?

Danke

  1. gibt es in Javascript irgendwie eine Möglichkeit, CSS Einheiten in px umzurechnen?
    Ich meine die Antwort des Browsers auf die Frage: Wieviele Pixel ergeben 1pt, 1em, 1mm oder 1% etc.?

    nein, das ist unmöglich - dh du kannst nur raten

    1px ist 1 pixel am monitor
    1pt ist 1/72 zoll bei 72 dpi [1]
    1em ist ist die aktuelle schrifthöhe in pixel, zb 16px [1]
    1mm ist ein millimeter, bei 72 dpi [1] entspricht 1 pixel 0,352777 mm
    1% bezieht sich auf die angabe des übergeordneten elements - dieser kann in em, pixel, punkt oder sonwas angegeben sein

    [1] je nach einstellung (die du unmöglich kennen kannst) varriert dieser wert

  2. gibt es in Javascript irgendwie eine Möglichkeit, CSS Einheiten in px umzurechnen?

    Ich meine die Antwort des Browsers auf die Frage: Wieviele Pixel ergeben 1pt, 1em, 1mm oder 1% etc.?

    Das sind mehr oder weniger relative Angaben, d.h. sie sind überall unterscheidlich gross.

    Willst du Wissen wieviel Pixel das bei dir sind? Da hab ich mal eine Funktion geschrieben:
    http://javascript.jstruebig.de/test/px-em.html

    Struppi.

    1. Willst du Wissen wieviel Pixel das bei dir sind? Da hab ich mal eine Funktion geschrieben:
      http://javascript.jstruebig.de/test/px-em.html

      das hilft aber leider beim ausdrucken nichts mehr - da kein javascript der welt meinen drucker fragen darf, welches papierformat er grade verwendet - dein script ist schön und gut um konzeptionelle fehler zum umgehen (zb das verwenden von relativen angaben), aber in der praxis kaum nutzbar - es ist eben nur ein ratespiel

      wenn ich auf a5 drucken will, bin ich mit einer breitenangabe von 200mm in einem druckstylesheet nicht sehr begeistert :)

      1. http://javascript.jstruebig.de/test/px-em.html
        das hilft aber leider beim ausdrucken nichts mehr - da kein javascript der welt meinen drucker fragen darf, welches papierformat er grade verwendet - dein script ist schön und gut um konzeptionelle fehler zum umgehen (zb das verwenden von relativen angaben), aber in der praxis kaum nutzbar - es ist eben nur ein ratespiel

        Das Skript ist nur eine Spielerei um den hier öfters gefragten Wunsch, nach Umrechnungen zu zeigen. In der Praxis würde ich sowas nicht einsetzen um irgendwelche Angaben umzurechnen. Aber evtl. kann man sowas brauchen um in Skripten sowas umzurechnen, wobei aber die offset Angaben sowieso immer die Pixelwerte liefern.

        wenn ich auf a5 drucken will, bin ich mit einer breitenangabe von 200mm in einem druckstylesheet nicht sehr begeistert :)

        Dann würde es nicht auf's Papier passen, da stellt sich dann die Frage inwieweit eine Einheit mm überhaupt Sinn macht. Das Papierformat ist ja genau sowenig bekannt wie die Größe des Browserfensters

        Struppi.

        1. Dann würde es nicht auf's Papier passen, da stellt sich dann die Frage inwieweit eine Einheit mm überhaupt Sinn macht. Das Papierformat ist ja genau sowenig bekannt wie die Größe des Browserfensters

          es hat durchaus sinn - wenn man zb schablonen zum ausdrucken anbietet, zb schuhgrößenschablonen - wenn die nicht auf ein blatt passt, druckt man halt mehrere aus und klebt sie zusammen

          aber ansonsten sollten angaben für ausdrucken auch immer relativ angegeben werden - zwar drucken die meisten leute hierzulande auf a4-papier aus, aber warum nicht mal auf a3 oder a5?

          bei mir kommt es zb öfter vor, dass ich längere texte auf a4 im breitformat jeweils 2 seiten nebeneinander drucke

          1. bei mir kommt es zb öfter vor, dass ich längere texte auf a4 im breitformat jeweils 2 seiten nebeneinander drucke

            Das müßte aber dann der Browser oder der Druckertreiber entsprechend skalieren, oder?

            Struppi.

            1. Das müßte aber dann der Browser oder der Druckertreiber entsprechend skalieren, oder?

              der drucker [1] macht das für mich - aber das ist eine sache die der browser unmöglich wissen kann - in der durchansicht des browsers siehts aus als wärs eine normale a4-seite, aber der druckt halt doppelseitig nebeneinander und beidseitig

              [1] leider nicht meiner - ist eine dicke minolta-schüssel bei mir in der arbeit - mein kleiner laserjet 1020 kann das nicht ;)

      2. Seid gegrüßt!

        es ist eben nur ein ratespiel

        Eben daher kannst du die genaue Größe nicht festlegen. Für genaue Drucke kannst du ja das (besser für den Druck geeignete) PDF-Format nutzen.

        --
        Bis Später
        RuD
        ________________________________________________________________
        SelfCode: ie:% fl:( br:^ va:) ls:< fo:| rl:( n4:& ss:) de:> js:| ch:| mo:| zu:)
        1. Für genaue Drucke kannst du ja das (besser für den Druck geeignete) PDF-Format nutzen.

          pdf verwende ich nur für exakte drucke (formulare usw) - aber zum ausdrucken einer normalen webseite reicht ein print-stylesheet mit relativen angaben, damit kann sich jeder seine bevorzugte schriftgröße einstellen

          das druckstylesheet der wikipedia find ich ganz angenehm: sehr minimalistisch