חזרה למאמרים

Web Design

הסוף ל-Margin מינוס: איך text-box-trim פותר את בעיית הפונטים בעברית

מדריך מעשי לשימוש בתכונת ה-CSS החדשה text-box-trim. למדו איך להעלים שוליים נסתרים בפונטים בעברית וליישר כותרות וכפתורים בצורה מדויקת ללא האקים.

3 דקות קריאהCSS · Typography · Hebrew Fonts · Web Development · UI Design

TL;DR

תכונת ה-CSS החדשה text-box-trim פותרת סופית את הרווח הנסתר מעל ומתחת למילים. במקום לרדוף אחרי פונטים בעברית עם האקים של margin-top שלילי, אפשר לגרום לטקסט להיצמד במדויק לקופסה שלו בצירוף שורת קוד אחת.

מעצבים מגישים פיגמה מושלמת.

הטקסט יושב בדיוק בגובה 16 פיקסלים מאייקון ה-Checkmark.

ואז אתם פותחים את המחשב, כותבים את ה-HTML, טוענים פונט עברי כמו "רוביק" או "אלף", ופתאום מגלים רווח נסתר של 8 פיקסלים מעל הכותרת.

התגובה הטיפוסית? margin-top: -6px.

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

המצב "לפני": האקים, המספרים הקסומים והחוב הטכנולוגי

כל פונט שמורידים מכיל מטריקות פנימיות (Font Metrics). הגופן לא מתחיל בראש האות אלא בקו דמיוני רחוק יותר, המיועד למנוע מאותיות בשורות שונות להיצמד זו לזו.

הגדרה · text-box-trim

מאפיין CSS שמנקה את ה-Line-height הריק שנוצר מעל ה-Cap Height ומתחת ל-Baseline, כך שגבול האלמנט נוגע ישירות בקצוות האותיות.

כשבונים ממשק בעברית, הבעיה חמורה פי כמה. מעצבי גופנים עבריים מוסיפים שוליים נדיבים למעלה כדי להשאיר מקום לניקוד. התוצאה בממשק יומי:

  • כפתורים שבהם הטקסט נראה ירוד מדי למטה
  • כותרות H1 שנראות רחוקות מהפאנל שמעליהן
  • רשת כרטיסיות (Cards) עם גבהים לא אחידים
  • כתיבת האקים מבוססי padding-top: 3px בתוך @media queries ספציפיות
/* הקוד הישן והחלוד שכולנו כתבנו */
.card-title {
  font-family: 'Rubik', sans-serif;
  font-size: 24px;
  margin-top: -5px; /* קוד קסם שנשבר במסכים שונים */
}

המצב "אחרי": יישור פיקסל-פרפקט ללא מאמץ

במקום לנחש כמה פיקסלים מפרידים בין גג האות אלף לבין קצה הקופסה, אנחנו אומרים לדפדפן בצורה מפורשת: "גזור את הריווח הנסתר".

100%

מהרווחים הנסתרים בפונטים נעלמים בלחיצת כפתור

מקור: W3C CSS Inline Layout Module Level 3

כך נראה הקוד המודרני כיום ב-2026:

.card-title {
  font-family: 'Rubik', sans-serif;
  font-size: 24px;
  text-box-trim: both;
  text-box-edge: cap alphabetic;
}

פתאום הכותרת נצמדת במדויק לקו ה-Padding העליון של הכרטיס. בלי חישובים. בלי מינוסים.

איך להשתמש ב-text-box-trim בפרויקטים שלכם?

המפתח להבנת המאפיין הוא השילוב בין שתי תכונות CSS:

  1. text-box-trim: מגדיר איפה לגזור את השוליים (start, end, או both).
  2. text-box-edge: מגדיר עד איזה קו לגזור (cap לפיסגת אותיות גדולה, ex לפיסגת אותיות קטנות, alphabetic לקו הבסיס).

הנה השוואה קצרה בין הגישות:

פרמטרהשיטה הישנה (Magic Margin)השיטה החדשה (text-box-trim)
תחזוקהשבירות רבות בכל שינוי פונטאפס תחזוקה, מותאם אוטומטית
דיוקהערכה גסה בפיקסליםיישור מתמטי לפי מפתח הפונט
תמיכה בריבוי שפותנשברת ברגע שהטקסט מתחלף לאנגליתעובדת זהה על עברית, ערבית ואנגלית
קריאות הקודמעמיסה האקים ב-CSSנקייה, הצהרתית ומובנת

לפונטים בעברית, השילוב המומלץ ביותר הוא text-box-edge: cap alphabetic; יחד עם text-box-trim: both;. ה-Cap Height מתאים בדיוק לגובה האותיות העבריות הטיפוסיות (כמו ר', ד' או ב').

יישום פרקטי: כפתור עם יישור אנכי מושלם

אחד הכאבים הכי גדולים בבניית אתרים הוא ליישר טקסט עברי בתוך כפתור בצורה ממורכזת אנכית.

בעבר, display: flex; align-items: center; לא באמת מירכז את האותיות, כי הפונט הביא איתו נפח ריק נסתר מלמעלה. האותיות העבריות נראו תמיד נוטות למטה.

כעת, נטפל בזה בשלוש שורות:

.primary-button {
  display: inline-flex;
  align-items: center;
  padding: 12px 24px;
  
  /* ביטול השוליים הנסתרים */
  text-box-trim: both;
  text-box-edge: cap alphabetic;
}

התוצאה? הכפתור נראה ממורכז על הפיקסל, בכל גודל מסך ובכל פונט שתבחרו.

💡

עבודה עם Margin מינוס בשביל ליישר טקסט היא חוב טכנולוגי שנשבר ברגע שמשנים פונט או גודל מסך. text-box-trim הוא הפתרון הסטנדרטי והנקי.

סיכום

הגענו לשלב שבו אנחנו לא צריכים להילחם בדיזיין סיסטם. ב-2026 אין שום סיבה להמשיך לדחוף margin-top: -4px לכל כותרת עברית שפוגשים. תשתמשו ב-text-box-trim, תיהנו מקוד נקי, ותנו לדפדפן לעשות את העבודה עבורכם.

שאלות נפוצות

כל מה שעוד רצית לדעת

מה זה text-box-trim ולמה צריכים את זה?
זו תכונת CSS שמקצצת את הרווח הנסתר (leading) מעל ומתחת לטקסט, המוגדר בתוך הקובץ של הפונט עצמו.
האם text-box-trim עובד טוב עם פונטים בעברית?
כן, הוא מתמודד מעולה עם גופנים עבריים שסובלים לרוב מרווח עליון מוגזם עקב התאמות לניקוד ולפונטים לטיניים.
מה עושים עם דפדפנים ישנים שלא תומכים בתכונה?
משתמשים בה כ-Progressive Enhancement עם query של supports. דפדפנים תומכים יקבלו יישור מושלם, והשאר יראו את התנהגות הדיפולט.
איך שולטים רק בחלק העליון או התחתון של הטקסט?
משתמשים בערכים ספציפיים כמו text-box-trim: trim-start עבור החלק העליון או trim-end עבור החלק התחתון.
AB

כתב

אדיר בן יעקב · Adir Ben Yaakov

מקים JustBetterSite, סוכנות בניית אתרים ושיווק דיגיטלי בתל אביב. מתמחה ב-GEO (Generative Engine Optimization) — בנייה של אתרים שמופיעים בתשובות של ChatGPT, Claude, Perplexity ו-Gemini, לא רק בגוגל.

עוד עליי →

להמשך הקריאה

מאמרים קשורים