הפודקאסט בשירות CSS – 008: יחידות מידה למידות
האינטרנט הוא אמצעי הגעה לאתר, אבל לפעמים רוצים לשלוט במידות שלו כדי לשפר את האיכות הכוללת של הממשק. דוגמה טובה לכך היא הגבלת אורכי השורות כדי לשפר את הקריאוּת. איך היית עושה זאת באמצעי תקשורת גמיש כמו האינטרנט?
במקרה כזה, אפשר להשתמש ביחידת ch
, ששווה לרוחב של התו '0' בגופן שעבר רינדור בגודל המחושב שלו.
יחידה זו מאפשרת להגביל את רוחב הטקסט באמצעות יחידה שתוכננה לגודל טקסט.
שבתורו,
מאפשרת שליטה צפויה בלי קשר לגודל הטקסט.
היחידות מסוג ch
הן אחת מתוך כמה יחידות שמועילות בהקשרים ספציפיים, כמו בדוגמה הזו.
iWork Numbers
מספרים משמשים להגדרת opacity
, line-height
ואפילו לערכים של ערוצי צבע ב-rgb
.
המספרים הם מספרים שלמים ללא יחידה (1, 2, 3, 100) ושברים עשרוניים (.1, .2, .3).
המספרים מקבלים משמעות בהתאם להקשר שלהם.
לדוגמה, כשמגדירים את line-height
, מספר מייצג יחס אם מגדירים אותו ללא יחידה תומכת:
p {
font-size: 24px;
line-height: 1.5;
}
בדוגמה הזו, הערך של 1.5
שווה ל-150% מגודל הגופן המחושב בפיקסלים של רכיב p
.
כלומר, אם ל-p
יש font-size
של 24px
, גובה השורה יחושב כ-36px
.
אפשר להשתמש במספרים גם במקומות הבאים:
- כשמגדירים ערכים למסננים:
filter: sepia(0.5)
מחילה מסנן חום-ספיה50%
על הרכיב. - כשמגדירים את השקיפות:
opacity: 0.5
מחילה שקיפות של50%
. - בערוצי צבע:
rgb(50, 50, 50)
, שבהן מותר להשתמש בערכים 0-255 כדי להגדיר ערך צבע. לשיעור בנושא צבעים - כדי לבצע טרנספורמציה של רכיב:
transform: scale(1.2)
משנה את קנה המידה של הרכיב ב-120% מהגודל הראשוני שלו.
אחוזים
כשאתם משתמשים באחוז ב-CSS, אתם צריכים לדעת איך הוא מחושב.
לדוגמה,הערך width
מחושב כאחוז מהרוחב הזמין ברכיב ההורה.
div {
width: 300px;
height: 100px;
}
div p {
width: 50%;
}
בדוגמה שלמעלה, הרוחב של div p
הוא 150px
, בהנחה שהפריסה משתמשת בברירת המחדל box-sizing: content-box
.
אם מגדירים את margin
או את padding
כאחוז, הם יהיו חלק מרוחב הרכיב ההורה, ללא קשר לכיוון.
div {
width: 300px;
height: 100px;
}
div p {
margin-top: 50%; /* calculated: 150px */
padding-left: 50%; /* calculated: 150px */
}
בקטע הקוד שלמעלה, הערכים של margin-top
ו-padding-left
יחושבו ל-150px
.
div {
width: 300px;
height: 100px;
}
div p {
width: 50%; /* calculated: 150px */
transform: translateX(10%); /* calculated: 15px */
}
אם מגדירים ערך של transform
כאחוז,
היא מבוססת על הרכיב עם קבוצת הטרנספורמציה.
בדוגמה זו, p
כולל את translateX
הערך 10%
ואת width
של 50%
.
קודם מחשבים מה יהיה הרוחב: 150px
כי הוא 50% מהרוחב של ההורה שלו.
לאחר מכן, מחלקים את 10%
ב-150px
, והתוצאה היא 15px
.
מידות ואורכים
אם מצרפים יחידה למספר מסוים, היא הופכת למאפיין.
לדוגמה, 1rem
הוא מאפיין.
בהקשר הזה, היחידה שמצורפת למספר נקראת במפרטים אסימון מאפיין.
אורכים הם מימדים שמתייחסים למרחק, והם יכולים להיות מוחלטים או יחסיים.
אורכים מוחלטים
כל האורך המוחלט מוגדר ביחס לאותה בסיס, כך שהם צפויים בכל מקום שבו הם משמשים ב-CSS.
לדוגמה, אם משתמשים ב-cm
כדי לשנות את גודל הרכיב ואז מדפיסים,
הוא אמור להיות מדויק אם משווים אותו לסרגל.
div {
width: 10cm;
height: 5cm;
background: black;
}
אם הדפסת את הדף הזה, ה-div
יודפס כמלבן שחור בגודל 10x5 ס"מ.
חשוב לזכור ש-CSS משמש לא רק לתוכן דיגיטלי, אלא גם לסגנון של תוכן מודפס.
אורכים מוחלטים יכולים להיות שימושיים מאוד כשמתכננים להדפסה.
אורכים יחסיים
אורך יחסי מחושב לפי ערך בסיס, בדומה לאחוז.
ההבדל בין הערכים האלה לבין אחוזים הוא שאפשר לשנות את הגודל של רכיבים בהתאם להקשר.
המשמעות היא של-CSS יש יחידות כמו ch
שמשתמשות בגודל הטקסט כבסיס, ו-vw
שמבוסס על רוחב אזור התצוגה (חלון הדפדפן).
אורך יחסי שימושי במיוחד באינטרנט בגלל האופי הרספונסיבי שלו.
יחידות יחסיות של גודל גופן
ב-CSS יש יחידות מועילות שיחסיות לגודל הרכיבים של הגופן שעבר רינדור, כמו גודל הטקסט עצמו (יחידות em
) או רוחב התווים של גופנים (יחידות ch
).
יחידה | ביחס ל: |
---|---|
em | ביחס לגודל הגופן, כלומר 1.5em יהיה גדול ב-50% מגודל הגופן המחושב הבסיסי של האב שלו. (בעבר, הגובה של האות הגדולה 'M'). |
לדוגמה | היוריסטיקה כדי לקבוע אם להשתמש בגובה ה-x, אות 'x' או '.5em' בגודל הגופן המחושב הנוכחי של הרכיב. |
cap | גובה האותיות רישיות בגודל הגופן המחושב הנוכחי של הרכיב. |
ch | ההתקדמות הממוצעת של התו של גליף צר בגופן של האלמנט (המיוצג על ידי הגליף '0'). |
ic | ההתקדמות הממוצעת של התו של גליף ברוחב מלא בגופן של הרכיב, כפי שהוא מיוצג על ידי הגליף 水 (סמל מים ב-CJK, U+6C34). |
rem | גודל הגופן של רכיב הבסיס (ברירת המחדל היא 16px). |
ח | גובה השורה של הרכיב. |
rlh | גובה השורה של רכיב הבסיס. |
יחידות יחסיות של נקודת מבט
אפשר להשתמש במימדים של אזור התצוגה (חלון הדפדפן) בתור בסיס יחסי. היחידות האלה מהוות את השטח הזמין של אזור התצוגה.
יחידה | ביחס ל- |
---|---|
vw | 1% מרוחב אזור התצוגה. אנשים משתמשים ביחידה הזו כדי לעשות טריקים מגניבים של גופנים כמו שינוי הגודל של גופן הכותרת בהתאם לרוחב הדף כך שגודל המשתמש משתנה גם גודל הגופן ישתנה. |
vh | 1% מגובה אזור התצוגה. אפשר להשתמש בזה כדי לסדר פריטים בממשק המשתמש, למשל אם יש לכם סרגל כלים בכותרת התחתונה. |
vi | 1% מגודל אזור התצוגה בציר inline של רכיב הבסיס. ציר מתייחס למצבי כתיבה. במצבי כתיבה אופקית כמו אנגלית, הציר המוטבע הוא אופקי. במצבי כתיבה אנכית, כמו גופנים ביפנית, הציר המוטבע רץ מלמעלה למטה. |
vb | 1% מגודל אזור התצוגה בציר הבלוק של רכיב הבסיס. בצייר, זהו כיוון השפה. בשפות שכתוב בהן משמאל לימין, כמו אנגלית, יש ציר אנכי של בלוקים, כי קוראי אנגלית מנתחים את הדף מלמעלה למטה. במצב כתיבה אנכי יש ציר של בלוקים אופקיים. |
vmin | 1% מהמידה הקטנה יותר של אזור התצוגה. |
vmax | 1% מהממד הגדול של אזור התצוגה. |
div {
width: 10vw;
}
p {
max-width: 60ch;
}
בדוגמה הזו, הערך של div
יהיה 10% מהרוחב של אזור התצוגה, כי הערך של 1vw
הוא 1% מהרוחב של אזור התצוגה.
לאלמנט p
יש max-width
של 60ch
, כלומר הוא לא יכול לחרוג מהרוחב של 60 תווים '0' בגופן ובגודל המחושבים.
יחידות שונות
יש יחידות נוספות שצוינו כדי לטפל בסוגי ערכים מסוימים.
יחידות זוויות
במודול הצבע,
בדקנו יחידות זווית,
שעוזרים להגדרת ערכים של מעלות,
כמו הגוון בhsl
.
הם שימושיים גם לביצוע רוטציה של רכיבים בתוך פונקציות טרנספורמציה.
div {
width: 150px;
height: 150px;
transform: rotate(60deg);
}
באמצעות יחידת הזווית של deg
, אפשר לסובב div
ב-90° על הציר המרכזי שלו.
div {
background-image: url('a-low-resolution-image.jpg');
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
div {
background-image: url('a-high-resolution-image.jpg');
}
}
יחידות רזולוציה
בדוגמה הקודמת, הערך של min-resolution
הוא 192dpi
.
היחידה dpi
מייצגת נקודות לאינץ'.
הקשר שימושי לכך הוא זיהוי מסכים ברזולוציה גבוהה מאוד,
כמו צג Retina בשאילתת מדיה והצגת תמונה ברזולוציה גבוהה יותר.
בדיקת ההבנה
בדיקת הידע שלכם בנושאי התאמה
אילו מהמאפיינים הבאים הם מאפיינים תקינים?
מה ההבדל בין יחידות מוחלטות לבין יחידות יחסיות?
יחידות של אזור התצוגה הן מוחלצות.