Menu

CSS Font Size: px, rem, em, מילות מפתח ודוגמאות

המאפיין font-size קובע כמה גדול הטקסט. למדו את היחידות שהוא מקבל (px, rem, em, %, מילות מפתח, vw), איך משנים גודל גופן ב-HTML, למה rem היא ברירת המחדל הבטוחה, ואיך גדלים ב-em מצטברים.

בדף הזה יש עורכים שאפשר להריץ - לערוך, להריץ ולראות את הפלט מיד.

איך קובעים גודל גופן ב-CSS

המאפיין font-size קובע את גודל הטקסט. שימו אותו על כל אלמנט, וכל טקסט בתוכו יורש את הגודל, אלא אם ילד קובע גודל משלו.

כדי לשנות גודל גופן ב-HTML, עדיין משתמשים ב-CSS. הוסיפו תכונת style (<p style="font-size: 20px;">) או כלל בגיליון סגנונות. התגית <font size="5"> משנות ה-90 מיושנת, ואין לה מקום בעמוד מודרני.

היחידות ש-font-size מקבל

ערךדוגמהביחס למה
px16pxלשום דבר: גודל קבוע
rem1.25remגודל הגופן של אלמנט השורש <html> (16px כברירת מחדל)
em1.2emגודל הגופן של אלמנט ההורה
%120%גודל הגופן של ההורה, כמו em (120% הוא 1.2em)
מילת מפתחlargeסקאלה מוגדרת מראש סביב ברירת המחדל medium
מילת מפתח יחסיתsmaller, largerצעד אחד מהגודל של ההורה
Viewport4vwרוחב ה-viewport (4% ממנו)
פונקציהclamp(1rem, 4vw, 2rem)גמיש בין מינימום למקסימום

הקלידו ערך וראו את הגודל שהדפדפן מחשב:

נסו 20px, 2em, 150%, x-large, smaller ו-5vw. ערך לא תקין, כמו big, נזרק, והטקסט שומר על הגודל התקין האחרון שלו.

rem מול em: ההבדל שנוקש

rem תמיד מסתכל על אלמנט השורש, ולכן 1.2rem הוא אותו גודל בכל מקום שבו הוא מופיע. em מסתכל על ההורה, ולכן גדלים מוכפלים כשאלמנטים מקוננים:

תיבת ה-em הפנימית ביותר היא 16 × 1.2 × 1.2 × 1.2 = 27.648px. תיבת ה-rem הפנימית ביותר היא עדיין 19.2px. ההצטברות הזאת שימושית ברכיב שהחלקים שלו צריכים לגדול יחד, ומפתיעה בכל מקום אחר. עמוד היחידות משווה את כל יחידות האורך.

מילות מפתח: מ-xx-small עד xx-large

מילות המפתח המוחלטות ממופות לסקאלה קבועה סביב medium, ששווה לגודל ברירת המחדל של המשתמש (16px אלא אם הוא שינה אותו):

עם ברירת המחדל של 16px, small הוא 13px, large הוא 18px, x-large הוא 24px ו-xx-large הוא 32px. מילות מפתח מתאימות לעבודה מהירה, אבל מערכת עיצוב בדרך כלל רוצה סקאלה משלה ב-rem.

גודל גופן גמיש עם clamp()

כותרת שצריכה לגדול עם המסך אבל אף פעם לא להיות קטנה מדי או גדולה מדי היא קריאה אחת ל-clamp(): המינימום, גודל מועדף שמשתנה, והמקסימום.

בתצוגה מקדימה ברוחב 800px, 5vw הוא 40px, שנמצא בין 24px ל-48px, ולכן הוא מנצח. עמוד ה-clamp מסביר טיפוגרפיה גמישה לעומק.

קביעת גודל בסיס לכל העמוד

קבעו את הגודל פעם אחת על body (או על html), וקבעו את כל השאר ביחס אליו:

html { font-size: 100%; }  /* respects the user's setting, usually 16px */
body { font-size: 1rem; }
h1   { font-size: 2.25rem; }
small, .caption { font-size: 0.875rem; }

הימנעו מטריקים כמו html { font-size: 62.5%; } אלא אם כל גודל בעמוד נקבע אחר כך ב-rem, ולעולם אל תקבעו גודל px קבוע על html: הוא דורס את גודל הגופן שהקורא בחר בדפדפן שלו, ויש אנשים שבלי זה לא יכולים לקרוא בכלל.

הערות נגישות

  • טקסט רגיל של 16px ומעלה הוא רצפה טובה לקריאה על מסכים.
  • גדלים ב-rem וב-em עוקבים אחרי הגדרת הגופן ברירת המחדל של המשתמש. גדלים ב-px עוקבים אחרי זום של העמוד, אבל לא אחרי ההגדרה הזאת.
  • באייפון, Safari מגדיל את העמוד כשמתמקדים בשדה קלט שגודל הגופן שלו מתחת ל-16px. תנו לשדות טופס font-size: 1rem או יותר כדי להימנע מזה.

טעויות נפוצות

  • שימוש בתגית <font>. היא מיושנת. השתמשו במאפיין font-size.
  • גדלי em מקוננים שגדלים או מתכווצים בלי שליטה. השתמשו ב-rem אלא אם אתם רוצים הצטברות.
  • גודל px קבוע על html. הוא דורס את הגדרת הגופן של הקורא עצמו.
  • שכחה שלכותרות כבר יש גודל. <h1> הוא 2em כברירת מחדל, ולכן צריך h1 { font-size: 1em; } אם רוצים שיהיה בגודל של טקסט רגיל.
  • יחידות viewport לבד. font-size: 3vw הופך לבלתי קריא בטלפון וענק במסך רחב. עטפו אותו ב-clamp().

שאלות נפוצות

איך משנים גודל גופן ב-CSS?

מגדירים את המאפיין font-size על האלמנט: p { font-size: 18px; }. הוא מקבל אורכים (px, rem, em), אחוזים ומילות מפתח כמו large.

איך משנים גודל גופן ב-HTML?

עם CSS, בגיליון סגנונות או בתכונת style: <p style="font-size: 20px;">. התגית הישנה <font size="5"> מיושנת ב-HTML5, ואין להשתמש בה.

מה גודל הגופן ברירת המחדל בדפדפנים?

16px לטקסט רגיל, אלא אם המשתמש שינה אותו בהגדרות הדפדפן. לערך הזה שווים 1rem ומילת המפתח medium כברירת מחדל.

להשתמש ב-px, ב-em או ב-rem לגודל גופן?

השתמשו ב-rem לרוב הטקסט: הוא משתנה עם הגדרת הגופן של הדפדפן של המשתמש ולא מצטבר. השתמשו ב-em כשגודל צריך לעקוב אחרי ההורה שלו, כמו אייקון בתוך כפתור. px לא עוקב אחרי גודל הגופן ברירת המחדל שהקורא הגדיר בדפדפן, אז הימנעו ממנו בטקסט רגיל.

למה גודל הגופן שלי ב-em כל הזמן גדל?

כי em יחסי לגודל הגופן של ההורה, ולכן אלמנטים מקוננים מוכפלים: 1.2em בתוך 1.2em הוא פי 1.44 מהבסיס. עברו ל-rem, שתמיד יחסי לאלמנט השורש.

איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל