Μετατροπή em σε px
Το 1,5 em είναι 24 px όταν το γονικό στοιχείο έχει μέγεθος γραμματοσειράς 16 pixel. Ο μετατροπέας πολλαπλασιάζει την τιμή em με αυτό το μέγεθος και δείχνει το αποτέλεσμα όσο γράφετε. Αν το γονικό είναι μεγαλύτερο ή μικρότερο, γράψτε το στο τρίτο πεδίο.
Τι είναι το em στο CSS και πόσο είναι ένα pixel;
Το em είναι μονάδα μήκους του CSS που εξαρτάται από το μέγεθος της γραμματοσειράς. Ένα em ισούται με το υπολογισμένο μέγεθος γραμματοσειράς του στοιχείου στο οποίο χρησιμοποιείται[1]. Όταν το em γράφεται ως τιμή της ιδιότητας font-size, ο υπολογισμός γίνεται με το μέγεθος γραμματοσειράς του γονικού στοιχείου, επειδή το μέγεθος του ίδιου του στοιχείου προκύπτει ακριβώς από αυτή την τιμή[1]. Αυτόν τον αριθμό ζητά το πεδίο «Font-size γονικού στοιχείου» του μετατροπέα.
Το pixel (px) του CSS ανήκει στις απόλυτες μονάδες: το 1px ορίζεται ως το 1/96 της ίντσας[1]. Γι’ αυτό ο μετατροπέας ιντσών σε px δίνει 96 pixel για 1 ίντσα στα 96 DPI. Η ελληνική Βικιπαίδεια περιγράφει το εικονοστοιχείο ή pixel ως ένα «σημείο» μιας εικόνας που εμφανίζεται στην οθόνη[2]. Η μετατροπή em σε pixel δείχνει πόσα pixel αντιστοιχούν σε μια σχετική τιμή σε ένα συγκεκριμένο σημείο της σελίδας.

.hero ορίζει μέγεθος γραμματοσειράς 60 pixel. Ένα στοιχείο ακριβώς μέσα σε αυτό το μπλοκ με font-size: 0.5em γίνεται 30 pixel, επειδή το γονικό του έχει 60 pixel. Το ίδιο 0.5em μέσα σε παράγραφο 16 pixel δίνει 8 pixel. Φωτογραφία: Ferenc Almasi, Unsplash.Πόσα pixel είναι το 1 em;
Όταν το γονικό στοιχείο έχει μέγεθος γραμματοσειράς 16 pixel, το 1 em είναι 16 px και το 1,5 em είναι 24 px. Ο τύπος είναι ένας πολλαπλασιασμός: pixel = em × μέγεθος γραμματοσειράς του γονικού στοιχείου. Αν κανένα από τα γονικά στοιχεία δεν έχει δικό του μέγεθος γραμματοσειράς, το 1 em ακολουθεί το προεπιλεγμένο μέγεθος του προγράμματος περιήγησης, που συνήθως είναι 16 pixel[3].
Η διαφορά φαίνεται εκεί όπου αλλάζει το γονικό. Μέσα σε κάρτα με γραμματοσειρά 14 pixel, το 1,5 em γίνεται 21 pixel. Σε τμήμα της σελίδας με 20 pixel, η ίδια τιμή φτάνει τα 30 pixel. Η ίδια γραφή δίνει διαφορετικά pixel σε διαφορετικά σημεία, και σε αυτό το em διαφέρει από το rem, που υπολογίζεται πάντα από το ριζικό στοιχείο.
Γι’ αυτό ο μετατροπέας έχει τρίτο πεδίο για το μέγεθος του γονικού. Το πεδίο δέχεται αριθμό από 1 έως 200 pixel και ανοίγει με την τιμή 16. Μπορείτε να γράψετε και ποσοστό, όπως 150%, που υπολογίζεται από τα προεπιλεγμένα 16 pixel.
Πώς μετατρέπεται το em σε px; Τύπος και τρία παραδείγματα
Ο τύπος είναι px = em × font-size του γονικού στοιχείου. Ας υπολογίσουμε την τιμή 1,25 em σε τρία σημεία. Με το προεπιλεγμένο γονικό των 16 pixel το αποτέλεσμα είναι 1,25 × 16 = 20 pixel. Μέσα σε κάρτα 14 pixel η ίδια τιμή δίνει 17,5 pixel. Σε τμήμα 20 pixel ανεβαίνει στα 25 pixel.
Μία λεπτομέρεια αλλάζει τον υπολογισμό. Έξω από το font-size, για παράδειγμα στο padding, στο margin ή στο width, το em υπολογίζεται από το μέγεθος γραμματοσειράς του ίδιου του στοιχείου[1]. Ας πούμε ότι ένα κουμπί μέσα σε πλαίσιο 16 pixel έχει font-size: 1.25em και padding: 1em. Το κείμενο του κουμπιού γίνεται 20 pixel. Το εσωτερικό περιθώριο είναι επίσης 20 pixel, επειδή το em του padding υπολογίζεται από το δικό του μέγεθος γραμματοσειράς. Για τέτοιες τιμές γράψτε στο πεδίο του γονικού το μέγεθος γραμματοσειράς του ίδιου του στοιχείου.
Η αντίστροφη πράξη είναι διαίρεση και την κάνει ο μετατροπέας px σε em με το ίδιο πεδίο γονικού. Για το rem, τη μονάδα που υπολογίζεται πάντα από το ριζικό στοιχείο, δηλαδή το στοιχείο html, υπάρχει ο μετατροπέας rem σε px. Στους επεξεργαστές κειμένου το μέγεθος των γραμμάτων δίνεται σε στιγμές· στο CSS οι 12 στιγμές είναι 16 pixel και τη μετατροπή αυτή κάνει ο μετατροπέας pt σε px.

Πίνακας μετατροπής em σε px για γονικό 16, 14 και 20 pixel
| Τιμή em | Γονικό 16 pixel | Γονικό 14 pixel | Γονικό 20 pixel |
|---|---|---|---|
| 0,25 em | 4 px | 3,5 px | 5 px |
| 0,5 em | 8 px | 7 px | 10 px |
| 0,625 em | 10 px | 8,75 px | 12,5 px |
| 0,75 em | 12 px | 10,5 px | 15 px |
| 0,8 em | 12,8 px | 11,2 px | 16 px |
| 0,875 em | 14 px | 12,25 px | 17,5 px |
| 0,9 em | 14,4 px | 12,6 px | 18 px |
| 1 em | 16 px | 14 px | 20 px |
| 1,125 em | 18 px | 15,75 px | 22,5 px |
| 1,2 em | 19,2 px | 16,8 px | 24 px |
| 1,25 em | 20 px | 17,5 px | 25 px |
| 1,375 em | 22 px | 19,25 px | 27,5 px |
| 1,5 em | 24 px | 21 px | 30 px |
| 1,625 em | 26 px | 22,75 px | 32,5 px |
| 1,75 em | 28 px | 24,5 px | 35 px |
| 1,875 em | 30 px | 26,25 px | 37,5 px |
| 2 em | 32 px | 28 px | 40 px |
| 2,25 em | 36 px | 31,5 px | 45 px |
| 2,5 em | 40 px | 35 px | 50 px |
| 2,75 em | 44 px | 38,5 px | 55 px |
| 3 em | 48 px | 42 px | 60 px |
| 3,5 em | 56 px | 49 px | 70 px |
| 4 em | 64 px | 56 px | 80 px |
| 5 em | 80 px | 70 px | 100 px |
| 6 em | 96 px | 84 px | 120 px |
| 8 em | 128 px | 112 px | 160 px |
Πώς μεγαλώνει το font-size: 1.25em σε ένθετα στοιχεία;
| Επίπεδο | Μέγεθος γονικού | Υπολογισμός | Μέγεθος κειμένου |
|---|---|---|---|
| 1ο επίπεδο (εξωτερικό) | 16 px | 16 × 1,25 | 20 px |
| 2ο επίπεδο | 20 px | 20 × 1,25 | 25 px |
| 3ο επίπεδο | 25 px | 25 × 1,25 | 31,25 px |
| 4ο επίπεδο | 31,25 px | 31,25 × 1,25 | 39,06 px |
| 5ο επίπεδο (εσωτερικό) | 39,06 px | 39,06 × 1,25 | 48,83 px |
Ποια είναι η διαφορά ανάμεσα σε em, rem και px;
| Σημείο | em | rem | px |
|---|---|---|---|
| Υπολογίζεται από | Το μέγεθος του γονικού στο font-size και το μέγεθος του ίδιου του στοιχείου στις άλλες ιδιότητες | Το μέγεθος γραμματοσειράς του ριζικού στοιχείου, δηλαδή του html | Είναι σταθερό: 1px είναι το 1/96 της ίντσας |
| 1 μονάδα με τις προεπιλογές | 16 px | 16 px | 1 px |
| Σε ένθετα στοιχεία | Στο font-size πολλαπλασιάζεται ξανά σε κάθε επίπεδο | Μένει ίδιο σε οποιοδήποτε βάθος | Μένει ίδιο |
| Όταν ο αναγνώστης μεγαλώνει τη γραμματοσειρά του προγράμματος περιήγησης | Μεγαλώνει, εφόσον κανένα γονικό δεν έχει σταθερό μέγεθος σε pixel | Μεγαλώνει | Μένει ίδιο |
| Σε media query (@media) | Υπολογίζεται από το αρχικό μέγεθος γραμματοσειράς του προγράμματος περιήγησης· οι κανόνες της σελίδας δεν το επηρεάζουν | Υπολογίζεται επίσης από το αρχικό μέγεθος, όπως το em | Χρησιμοποιείται όπως είναι γραμμένο |
| Ταιριάζει σε | Αποστάσεις και εικονίδια που πρέπει να μεγαλώνουν μαζί με το κείμενο του στοιχείου | Μεγέθη κειμένου και κλίμακα αποστάσεων που μένουν ίδια σε όλη τη σελίδα | Λεπτά περιγράμματα που κρατούν το ίδιο πάχος όσο κι αν μεγαλώσει το κείμενο |
Ποιες γραφές δέχεται ο μετατροπέας em σε px;
| Τι γράφετε ή επικολλάτε | Αποτέλεσμα | Πώς το διαβάζουμε |
|---|---|---|
| Πρώτο πεδίο: τιμή em, γονικό 16 pixel | ||
| 1,5 | 24 px | Το κόμμα είναι το δεκαδικό διαχωριστικό στα ελληνικά· διαβάζουμε το 1,5 em όπως είναι και το πολλαπλασιάζουμε με 16. |
| 1.5em | 24 px | Τιμή αντιγραμμένη από φύλλο στυλ μαζί με τη μονάδα: την τελεία που ακολουθεί το em τη διαβάζουμε ως δεκαδική, το πεδίο δείχνει 1,5 και παραλείπει τα γράμματα em. |
| 1,5 εμ | 24 px | Αν γράψετε τη μονάδα χωρίς να αλλάξετε πληκτρολόγιο, το em βγαίνει «εμ» στην ελληνική διάταξη· παραλείπουμε τα γράμματα και υπολογίζουμε 1,5 em. |
| .875em | 14 px | Στα συμπιεσμένα αρχεία CSS το μηδέν πριν από την τελεία παραλείπεται· την τιμή αυτή τη διαβάζουμε ως 0,875 em. |
| font-size: 1.5em; | 24 px | Ολόκληρη γραμμή από τα DevTools ή από το φύλλο στυλ: κρατάμε τον αριθμό και παραλείπουμε το όνομα της ιδιότητας και το τελικό σύμβολο «;». |
| font-size: 1.5em !important; | 24 px | Το !important στο τέλος της γραμμής δεν αλλάζει τον υπολογισμό· στο πεδίο μένει μόνο ο αριθμός 1,5. |
| letter-spacing: 0.05em; | 0,8 px | Υπολογίζονται και μικρές τιμές, όπως το διάστημα μεταξύ των γραμμάτων: 0,05 em σε κείμενο 16 pixel σημαίνει διάστημα 0,8 pixel. |
| margin-left: -0.5em; | -8 px | Σε αρνητικό περιθώριο κρατάμε το πρόσημο μείον που είναι κολλημένο στον αριθμό, οπότε και το αποτέλεσμα είναι αρνητικό. |
| −0.5em | -8 px | Το τυπογραφικό μείον (−), που έρχεται από αντιγραφή κειμένου, διαβάζεται όπως το συνηθισμένο μείον. |
| 3/4 | 12 px | Απλό κλάσμα: διαιρούμε το 3 με το 4, άρα η τιμή είναι 0,75 em. |
| 1½ | 24 px | Το κλάσμα σε έναν χαρακτήρα το πεδίο το γράφει 1 1/2 και το υπολογίζει ως 1,5 em. |
| 1.875em | 30 px | Την τελεία τη διαβάζουμε ως υποδιαστολή και τα γράμματα em τα παραλείπουμε, άρα η τιμή είναι 1,875 em. Κάτω από το πεδίο εμφανίζεται υπόδειξη με τη δεύτερη πιθανή ανάγνωση, 1875. |
| 1.875 | 30 px | Όταν ο αριθμός έχει μία μόνο τελεία, τη διαβάζουμε πάντα ως υποδιαστολή, και χωρίς μονάδα, οπότε υπολογίζουμε 1,875 em. Κάτω από το πεδίο εμφανίζεται υπόδειξη· για χίλια οκτακόσια εβδομήντα πέντε em γράψτε 1875 ή 1 875. |
| 1,875 | 30 px | Η ίδια τιμή με κόμμα διαβάζεται ως δεκαδική και δίνει 30 pixel, και κάτω από το πεδίο εμφανίζεται πάλι υπόδειξη. |
| 1.5rem | 24 px | Δεχόμαστε και τιμή rem που επικολλήθηκε στο πεδίο του em: ο αριθμός υπολογίζεται ως 1,5 em και με γονικό 16 pixel δίνει το ίδιο αποτέλεσμα με το rem. |
| Πεδίο «Font-size γονικού στοιχείου»: η στήλη αποτελέσματος δείχνει το μέγεθος που διαβάζει το πεδίο | ||
| 13,5 | 13,5 px | Δεχόμαστε και μέγεθος με δεκαδικό κόμμα· το πεδίο παίρνει κάθε τιμή από 1 έως 200 pixel. |
| font-size: 20px | 20 px | Γραμμή αντιγραμμένη από την καρτέλα Υπολογισμένα των DevTools: κρατάμε τον αριθμό και παραλείπουμε το όνομα της ιδιότητας και τη μονάδα. |
| 150% | 24 px | Το ποσοστό υπολογίζεται από τα προεπιλεγμένα 16 pixel: το 150% του 16 είναι 24. |
| 87,5% | 14 px | Διαβάζουμε και ποσοστό με δεκαδικό κόμμα: το 87,5% του 16 είναι 14 pixel. |
padding: 0.5em 1em, το πεδίο σάς ζητά έναν μόνο αριθμό· επικολλήστε τότε ξεχωριστά την τιμή που θέλετε να μετατρέψετε.Πώς βρίσκω το μέγεθος γραμματοσειράς του γονικού στοιχείου στο Chrome;
Τον αριθμό για το πεδίο του γονικού μπορείτε να τον διαβάσετε από την ίδια τη σελίδα. Τα βήματα αφορούν τα DevTools, τα εργαλεία για προγραμματιστές του Chrome· τα ονόματα των πινάκων και των καρτελών είναι όπως στο ελληνικό περιβάλλον των DevTools.
Ανοίξτε τα DevTools
Πατήστε F12 με ανοιχτή τη σελίδα. Στα Windows το ίδιο παράθυρο ανοίγει με Ctrl+Shift+I και στο Mac με Cmd+Option+I[5].Επιλέξτε το σωστό στοιχείο
Βρείτε το στοιχείο σας στο δέντρο HTML του πίνακα Στοιχεία. Αν υπολογίζετε em για font-size, επιλέξτε το γονικό στοιχείο που το περιέχει· στο δέντρο βρίσκεται μία εσοχή πιο αριστερά. Αν υπολογίζετε padding ή margin, επιλέξτε το ίδιο το στοιχείο.Διαβάστε την υπολογισμένη τιμή
Ανοίξτε την καρτέλα Υπολογισμένα και γράψτε font-size στο πλαίσιο Φίλτρο. Η καρτέλα δείχνει την τιμή που εφαρμόζεται πραγματικά στο στοιχείο, δηλαδή τα pixel αφού το πρόγραμμα περιήγησης υπολογίσει όλους τους κανόνες[5].Γράψτε τον αριθμό στον μετατροπέα
Γράψτε την τιμή στο πεδίο «Font-size γονικού στοιχείου». Μπορείτε να επικολλήσετε και 18px ή font-size: 18px μαζί με τη μονάδα· το πεδίο κρατά τον αριθμό.Αν τα μενού εμφανίζονται σε άλλη γλώσσα
Ανοίξτε τις Ρυθμίσεις των DevTools, διαλέξτε Ελληνικά στη λίστα «Γλώσσα:» της ενότητας Προτιμήσεις και φορτώστε ξανά τα DevTools. Από το Chrome 94 τα DevTools είναι διαθέσιμα σε περισσότερες από 80 γλώσσες[6].
Πόσα pixel είναι το em στο line-height και στα media queries;
Και το ύψος γραμμής γράφεται με em, αλλά κληρονομείται διαφορετικά. Το line-height: 1.5em μετατρέπεται σε pixel μία φορά, από το μέγεθος γραμματοσειράς του στοιχείου, και τα θυγατρικά στοιχεία κληρονομούν έτοιμη αυτή την τιμή σε pixel. Ο αριθμός χωρίς μονάδα 1.5 πολλαπλασιάζεται ξανά με το μέγεθος γραμματοσειράς κάθε θυγατρικού στοιχείου[7].
Το παράδειγμα του MDN έχει επικεφαλίδα 30 pixel μέσα σε πλαίσιο με γραμματοσειρά 15 pixel. Με line-height: 1.1 η επικεφαλίδα παίρνει ύψος γραμμής 33 pixel. Με 1.1em το ύψος μένει 16,5 pixel, επειδή το em υπολογίζεται στο πλαίσιο και περνά στην επικεφαλίδα ως έτοιμα pixel[7]. Το MDN συνιστά για το κύριο κείμενο παραγράφων τιμή τουλάχιστον 1.5· σε κείμενο 16 pixel αυτό σημαίνει ύψος γραμμής 24 pixel[7].
Στα media queries το em ακολουθεί άλλον κανόνα. Μια συνθήκη όπως @media (min-width: 48em) δεν επηρεάζεται από τους κανόνες font-size της σελίδας και υπολογίζεται από το αρχικό μέγεθος γραμματοσειράς του προγράμματος περιήγησης[4]. Με τα προεπιλεγμένα 16 pixel, τα 48em είναι 768 pixel. Αν ο αναγνώστης ανεβάσει τη γραμματοσειρά του προγράμματος περιήγησης στα 20 pixel, η ίδια συνθήκη ισχύει από τα 960 pixel πλάτους. Την τιμή em ενός σημείου αλλαγής από το σχέδιο τη βρίσκετε με τον μετατροπέα px σε em και γονικό 16 pixel.
Pixel: μετατροπή από άλλες μονάδες
Πηγές
- CSS Values and Units Module Level 4 — W3C
- Εικονοστοιχείο — Βικιπαίδεια
- font-size — MDN Web Docs
- Media Queries Level 4 — W3C
- CSS features reference — Chrome for Developers
- What's New In DevTools (Chrome 94) — Chrome for Developers
- line-height — MDN Web Docs
- CSS unit: em — Can I email
- CSS unit: rem — Can I email
- CSS Syntax Module Level 3 — W3C
- CSS 2.1: Syntax and basic data types — W3C
Όλες τις τιμές των πινάκων τις υπολογίσαμε από τους ορισμούς των μονάδων και τις ελέγξαμε αριθμητικά πριν από τη δημοσίευση. Τα ιστορικά στοιχεία και οι ονομασίες των τοπικών μονάδων βασίζονται στις πηγές που αναφέρονται παραπάνω.
Τελευταίος έλεγχος περιεχομένου: · συντάχθηκε και ελέγχθηκε από την ομάδα της Arteon
Συχνές ερωτήσεις για τη μετατροπή em σε px
Είναι το 1 em πάντα 16 pixel;
Το 1 em ισούται με το μέγεθος γραμματοσειράς του γονικού στοιχείου, ενώ τα 16 pixel είναι το προεπιλεγμένο μέγεθος του προγράμματος περιήγησης. Αν κανένα στοιχείο δεν έχει δικό του μέγεθος, το 1 em ακολουθεί αυτή την προεπιλογή, που συνήθως είναι 16 pixel[3]. Μέσα σε κάρτα 14 pixel το 1 em είναι 14 pixel.
Πόσα px είναι το 1,5 em;
Με γονικό 16 pixel το 1,5 em είναι 24 pixel. Με γονικό 14 pixel δίνει 21 pixel και με γονικό 20 pixel δίνει 30 pixel.
Πόσα pixel είναι το 0,875 em;
Με γονικό 16 pixel το 0,875 em είναι ακριβώς 14 pixel. Με γονικό 14 pixel δίνει 12,25 pixel και με γονικό 20 pixel 17,5 pixel. Σε στιγμές τα 14 pixel είναι 10,5 pt, αριθμός που υπολογίζει ο μετατροπέας px σε pt.
Πόσα pixel είναι το 0,75 em;
Με γονικό 16 pixel το 0,75 em είναι 12 pixel. Με γονικό 14 pixel το αποτέλεσμα είναι 10,5 pixel και με γονικό 20 pixel είναι 15 pixel.
Πόσα px είναι τα 2 em;
Με γονικό 16 pixel τα 2 em είναι 32 pixel. Αν δύο ένθετα στοιχεία έχουν και τα δύο font-size: 2em, το κείμενο του εσωτερικού φτάνει τα 64 pixel, επειδή το δεύτερο em υπολογίζεται από τα 32 pixel του πρώτου.
Αλλάζει η τιμή του em αν μεγαλώσω τη γραμματοσειρά του προγράμματος περιήγησης;
Ναι, εφόσον κανένα γονικό στοιχείο δεν έχει σταθερό μέγεθος σε pixel. Όταν επιλέξαμε Μεγάλο στις Ρυθμίσεις › Εμφάνιση › Μέγεθος γραμματοσειράς του Chrome, το μέγεθος του στοιχείου html ανέβηκε στα 20 pixel. Σε μια τέτοια σελίδα το 1,5 em γίνεται 30 pixel.
Στο φύλλο στυλ γράφω 1,5em ή 1.5em;
Γράψτε 1.5em. Το CSS διαβάζει το δεκαδικό μέρος ενός αριθμού μόνο μετά από τελεία[10] και παραλείπει κάθε δήλωση με μη έγκυρη τιμή[11]. Όταν το δοκιμάσαμε στο Chrome, στον Firefox και στη μηχανή WebKit που χρησιμοποιεί το Safari, το στοιχείο με font-size: 1,5em έμεινε στο μέγεθος του γονικού του, δηλαδή στα 16 pixel. Γι’ αυτό το κουμπί «Αντιγραφή αποτελέσματος» αντιγράφει τον αριθμό με τελεία.

Βοηθήστε μας να βελτιώσουμε τα εργαλεία μας
Βρήκατε τιμή em που δίνει άλλο αποτέλεσμα στη δική σας σελίδα ή έχετε μια ιδέα για τον μετατροπέα; Γράψτε μας.