איך text-shadow עובד
text-shadow מצייר עותק של הטקסט מאחוריו, מוזז ומטושטש. נותנים לו היסט אופקי, היסט אנכי, טשטוש אופציונלי וצבע.
3px 3px 0 #f59e0b פירושו 3px ימינה (פיזית, בכל כיוון כתיבה), 3px למטה, בלי טשטוש, ענברי. הצל השני מטשטש 6px ומשתמש בשחור שקוף למחצה, שזה המתכון הרגיל לאפקט עומק עדין.
התחביר
text-shadow: <offset-x> <offset-y> <blur-radius>? <color>?;
| ערך | חובה | משמעות |
|---|---|---|
| offset-x | כן | חיובי מזיז את הצל ימינה, שלילי מזיז אותו שמאלה |
| offset-y | כן | חיובי מזיז אותו למטה, שלילי מזיז אותו למעלה |
| blur-radius | לא (ברירת מחדל 0) | עד כמה הקצה רך; ערכים שליליים לא תקינים |
| color | לא (ברירת מחדל צבע הטקסט) | יכול לבוא ראשון או אחרון |
text-shadow: none מסיר צל שעבר בירושה. שנו את הערכים למטה כדי לראות את ההשפעה של כל אחד:
נסו -4px -4px 0 #16a34a, 0 0 10px red, ושני צללים שמופרדים בפסיק.
כמה צללים: זוהר, קו מתאר ותלת-ממד
פסיקים ערמים צללים; הראשון מצויר למעלה. שלושה אפקטים יוצאים מהכלל האחד הזה:
- זוהר: היסטים של אפס, טשטוש הולך וגדל, על רקע כהה.
- קו מתאר: ארבעה צללים חדים, אחד לכל אלכסון. זה עובד לקווי מתאר דקים; לקו מתאר עבה ואחיד יותר,
-webkit-text-stroke: 2px #111827(נתמך בכל הדפדפנים הנוכחיים למרות הקידומת) מצייר במקום זאת קו על קצוות האותיות. - תלת-ממד: סדרה של צללים חדים, כל אחד 1px רחוק יותר, כך שהאותיות נראות בולטות.
שמירה על טקסט קריא על רקע עמוס
טקסט לבן על תמונה או על דוגמה מאבד את הקצוות שלו במקומות שבהם הרקע בהיר. צל כהה ורך מחזיר אותם בלי קופסה גלויה:
צל עוזר, אבל הוא לא מבטיח ניגודיות. לטקסט ארוך מעל תמונה, הוסיפו גם שכבה אטומה או שכבת מעבר צבע מאחורי הטקסט.
text-shadow מול box-shadow
| text-shadow | box-shadow | |
|---|---|---|
| עוקב אחרי | צורות האותיות | הקופסה של האלמנט (ורדיוס הגבול שלה) |
| ערך spread | לא | כן |
inset | לא | כן |
| כמה צללים, מופרדים בפסיקים | כן | כן |
לצללים על כרטיסים וכפתורים, ראו box-shadow.
טעויות נפוצות
- צללים כבדים וכהים על טקסט רץ. הם מטשטשים את צורות האותיות. שמרו צללים לכותרות ולתוויות קצרות.
- לשכוח את ההיסט השני.
text-shadow: 2px #000לא תקין; שני ההיסטים חובה. - טשטוש שלילי. הוא לא תקין וכל ההצהרה נזנחת.
- לצפות שהצל יתפוס מקום. הוא רק מצויר; צללים גדולים יכולים לחפוף את השורה הבאה או להיחתך על ידי
overflow: hidden. - אפקטי זוהר על רקעים בהירים. זוהר בהיר על לבן לא נראה. זוהר צריך רקע כהה.
שאלות נפוצות
מה התחביר של text-shadow?
text-shadow: offset-x offset-y blur-radius color;, למשל text-shadow: 2px 2px 4px rgb(0 0 0 / 40%);. שני ההיסטים חובה; ברירת המחדל של הטשטוש היא 0 ושל הצבע היא צבע הטקסט.
איך מוסיפים יותר מצל טקסט אחד?
הפרידו בין הצללים בפסיקים: text-shadow: 0 0 4px #fff, 0 0 12px #2563eb;. הצל הראשון מצויר מעל אלה שאחריו.
איך יוצרים אפקט זוהר על טקסט?
השתמשו בצללים בלי היסט ועם טשטוש, לרוב כמה צללים עם טשטוש הולך וגדל: text-shadow: 0 0 4px #60a5fa, 0 0 12px #2563eb;. על רקע כהה זה נראה כמו זוהר ניאון.
האם ל-text-shadow יש ערך spread כמו ל-box-shadow?
לא. ל-text-shadow אין spread ואין מילת מפתח inset. כדי לעבות את הצל סביב האותיות, ערמו כמה צללים או השתמשו ב--webkit-text-stroke לקו מתאר.
האם text-shadow משפיע על הפריסה?
לא. הצל רק מצויר; הוא לא תופס מקום ולא מזיז את התוכן שמסביב, כך שצל גדול יכול לחפוף אלמנטים קרובים.