איך משנים צבע טקסט ב-HTML
השתמשו במאפיין color של CSS. הוא קובע את צבע הטקסט של אלמנט, וכל אלמנט שבתוכו יורש את אותו צבע, אלא אם הוא מגדיר צבע משלו.
שם המאפיין הוא color, לא font-color או text-color. השמות האלה לא קיימים ב-CSS ונזנחים בשקט.
למה לא התגית font
מדריכים ישנים מראים <font color="red">. התגית הזאת הוסרה מ-HTML לפני שנים: בודקי תקינות מסמנים אותה כשגיאה, והיא מערבבת עיצוב בתוך הסימון, כך ששינוי צבע פירושו לערוך כל תגית ידנית. הדפדפנים עדיין מציירים אותה לצורך תאימות, וזו הסיבה היחידה שהיא נראית כאילו היא עובדת.
<!-- obsolete -->
<font color="red">Warning</font>
<!-- use this -->
<span style="color: red;">Warning</span>
<!-- or better, a class you can change in one place -->
<span class="warning">Warning</span>
דרכים לכתוב את הצבע
color מקבל כל פורמט צבע של CSS. ארבעת הנפוצים ביותר:
| פורמט | דוגמה | הערות |
|---|---|---|
| שם | color: tomato; | 148 צבעים עם שם, נוחים לבדיקות מהירות |
| Hex | color: #2563eb; | הנפוץ ביותר בקובצי עיצוב |
| rgb() | color: rgb(37 99 235); | אדום, ירוק וכחול מ-0 עד 255 |
| hsl() | color: hsl(221 83% 53%); | גוון, רוויה, בהירות: קל להבהיר או להכהות |
Hex, rgb() ו-hsl() יכולים לקבל ערוץ אלפא לטקסט שקוף למחצה, כמו #2563eb80 או rgb(37 99 235 / 50%). הדף על צבעים ב-CSS מסביר כל פורמט.
צביעה של דף שלם, כותרת או מקטע
הגדירו את הצבע פעם אחת על body ותנו לירושה לעשות את השאר, ואז דרסו איפה שצריך:
שחור רך כמו #111827 או #374151 על לבן נוח יותר לעיניים מ-#000000 טהור, ועדיין נקרא כשחור.
צבעי קישורים
קישורים הם היוצא מן הכלל בירושה: הדפדפן נותן להם כחול משלהם (וסגול אחרי ביקור), ולכן צבע על ההורה לא מגיע אליהם. הגדירו אותו על הקישור, או אמרו לקישור לרשת:
:hover, :visited ו-:focus-visible מאפשרים לשנות את הצבע לפי מצב; הדף על hover מסביר אותם. כשקישור באותו צבע כמו הטקסט שסביבו, השאירו לו את הקו התחתון כדי שעדיין יהיה אפשר לזהות אותו כקישור.
הפכו את הטקסט לקריא: ניגודיות
צבע הטקסט הוא רק חצי מהזוג; הרקע הוא החצי השני. WCAG דורש יחס ניגודיות של לפחות 4.5:1 לטקסט רגיל ו-3:1 לטקסט גדול (בערך 24px, או 19px מודגש).
טקסט אפור בהיר בסגנון placeholder הוא הכישלון הנפוץ ביותר. כלי המפתחים של Chrome ו-Firefox מציגים את יחס הניגודיות כשבודקים צבע טקסט.
currentColor: שימוש חוזר בצבע הטקסט
currentColor היא מילת מפתח ששווה ל-color של האלמנט. גבולות, קווי מתאר ואייקוני SVG מוטבעים יכולים להשתמש בה, כך ששינוי אחד של color צובע מחדש את הטקסט ואת הקישוט שלו יחד:
טעויות נפוצות
- לכתוב
font-colorאוtext-color. המאפיין הואcolor. - שימוש בתגית
<font>. היא מיושנת; השתמשו ב-CSS. - לצפות שקישורים ירשו. הגדירו
a { color: ... }אוcolor: inherit. - צבע כסימן היחיד. "שדות באדום הם חובה" לא עובד לקוראים שלא מבחינים באדום. הוסיפו טקסט או אייקון.
- טקסט אפור בניגודיות נמוכה. בדקו את היחס: 4.5:1 או יותר לטקסט רץ.
- שימוש ב-
opacityכדי להבהיר טקסט. הוא מדהה את כל האלמנט, כולל הרקע והילדים. השתמשו במקום זאת בצבע בהיר יותר או בצבע עם אלפא.
שאלות נפוצות
איך משנים את צבע הגופן ב-HTML?
השתמשו במאפיין color של CSS, בגיליון סגנונות או במאפיין style: <p style="color: #2563eb;">Blue text</p>. התגית הישנה <font color> מיושנת.
האם התגית <font> עדיין נתמכת?
הדפדפנים עדיין מציירים אותה כדי שדפים ישנים מאוד ימשיכו לעבוד, אבל היא מיושנת ב-HTML ובודקי תקינות מדווחים עליה כשגיאה. השתמשו במקום זאת ב-color של CSS.
איך משנים את הצבע של מילה אחת?
עטפו את המילה ב-<span> ותנו לה צבע: This is <span style="color: #dc2626;">red</span>. השתמשו ב-<strong> או ב-<em> במקום <span> אם המילה גם חשובה או מודגשת.
למה הקישור שלי לא משנה צבע כשאני מגדיר color על ההורה?
לקישורים יש צבע משלהם מגיליון הסגנונות של הדפדפן, ולכן הם לא יורשים את הצבע של ההורה. הגדירו אותו על הקישור עצמו (a { color: #2563eb; }) או השתמשו ב-a { color: inherit; } כדי לעקוב אחרי ההורה.
האם כותבים font-color או color ב-CSS?
כותבים color. אין מאפיין font-color או text-color; הדפדפן מתעלם מהם.