CSS Einheiten in px umrechnen
torsten
- javascript
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
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
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.
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 :)
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.
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
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.
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 ;)
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.
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