איך מוסיפים קו תחתון לטקסט ב-HTML
יש שתי דרכים: התגית <u>, או מאפיין ה-CSS text-decoration: underline. שתיהן מציירות את אותו הקו:
הבעיה עם כל קו תחתון היא השורה השלישית: קוראים מצפים שטקסט עם קו תחתון יהיה קישור, ולוחצים עליו. הוסיפו קו תחתון לטקסט רגיל רק כשיש לכך סיבה ברורה.
מה התגית u אומרת
<u> היא לא כפתור "קו תחתון" כללי. ב-HTML של היום היא מציינת טקסט עם הערה לא מפורשת: סימון שאומר "יש כאן משהו מיוחד" בלי לומר מה. השימושים האמיתיים הנפוצים:
- סימון שגיאת כתיב (כמו שמעבד תמלילים עושה, לרוב עם קו אדום גלי),
- סימון שמות פרטיים בטקסט סיני, שזו מוסכמה טיפוגרפית שם.
להדגשה השתמשו ב-<em> או ב-<strong> (ראו טקסט מודגש), ולשמות של ספרים השתמשו ב-<cite>. אם אתם רוצים רק את המראה, השתמשו ב-CSS.
קו חוצה: s ו-del
ב-HTML יש שתי תגיות שמותחות קו דרך הטקסט, ויש להן משמעויות שונות:
| תגית | משמעות | שימוש טיפוסי |
|---|---|---|
<s> | כבר לא מדויק או רלוונטי, נשמר לצורך הקשר | מחיר ישן, סוג כרטיס שאזל |
<del> | הוסר מהמסמך | עריכות, יומני שינויים, משימות שבוצעו ברשימת מטלות |
סימון שינויים עם ins ו-del
<ins> היא בת הזוג של <del>: היא מסמנת טקסט שנוסף. דפדפנים מוסיפים לה קו תחתון כברירת מחדל. שתיהן מקבלות datetime (מתי השינוי קרה) ו-cite (כתובת URL שמסבירה אותו):
הסגנון האדום והירוק הזה הוא המראה המוכר של diff. text-decoration: none על ins מסיר את הקו התחתון של ברירת המחדל כדי שהטקסט לא ייראה כמו קישור.
קו תחתון וקו חוצה עם CSS
text-decoration מטפל בחלק הוויזואלי בכל אלמנט: הוא מקבל צבע וסגנון, ו-text-decoration-thickness קובע את העובי. לקווים דקורטיביים בלבד זה הכלי הנכון:
הסרת הקו התחתון מקישורים, המרחק של הקו מהטקסט ושאר הפרטים של text-decoration נמצאים בעמוד CSS underline.
נגישות
התמיכה של קוראי מסך ב-<s>, <del> ו-<ins> לא עקבית: חלקם מכריזים עליהן כטקסט שנמחק או שנוסף, ורבים מקריאים אותן כטקסט רגיל, כך שמאזין עלול לשמוע "מחיר 49 דולר 29 דולר" בלי שום רמז איזה מהם הנוכחי. כשההבדל חשוב, אמרו אותו גם במילים, למשל בטקסט שמוסתר ויזואלית אבל מוקרא בקול, או פשוט "היה 49 ".
טעויות נפוצות
- קו תחתון על טקסט שאינו קישור. קוראים ינסו ללחוץ עליו. כדי להבליט, השתמשו בהדגשה, בצבע או ברקע.
- שימוש ב-
<u>להדגשה. השתמשו ב-<em>או ב-<strong>. - שימוש ב-
<strike>. היא מיושנת. השתמשו ב-<s>, ב-<del>או ב-text-decoration: line-through. - שימוש ב-
<s>לתוכן שנמחק בהיסטוריה של מסמך. לזה נועדה<del>, שיכולה גם לתעד מתי זה קרה. - להסתמך רק על הקו כדי להעביר משמעות. קוראי מסך רבים לא מכריזים עליו.
שאלות נפוצות
איך מוסיפים קו תחתון לטקסט ב-HTML?
עטפו אותו ב-<u>, או החילו text-decoration: underline ב-CSS. השתמשו ב-<u> רק למשמעות הספציפית שלה (כמו סימון מילה עם שגיאת כתיב); לקו תחתון ויזואלי בלבד השתמשו ב-CSS על <span> או על האלמנט עצמו.
איך מוסיפים קו חוצה לטקסט ב-HTML?
השתמשו ב-<s> לטקסט שכבר אינו מדויק, כמו מחיר ישן, וב-<del> לטקסט שהוסר בעריכה. שתיהן מותחות קו דרך הטקסט. ב-CSS, text-decoration: line-through עושה את אותו הדבר ויזואלית.
האם התגית <u> הוצאה משימוש?
לא. <u> הוצאה משימוש ב-HTML 4 אבל חזרה ב-HTML5 עם משמעות חדשה: טקסט עם הערה שאינה טקסטואלית, כמו שגיאת כתיב או שם פרטי בטקסט סיני. היא תקינה, רק שלעיתים רחוקות היא הבחירה הנכונה.
מה קרה לתגית <strike>?
<strike> מיושנת. דפדפנים עדיין מציגים אותה עם קו חוצה, אבל היא לא HTML תקין. השתמשו ב-<s> או ב-<del> לפי המשמעות, או ב-text-decoration: line-through.
מה ההבדל בין <s> ל-<del>?
<s> מסמנת טקסט שכבר אינו רלוונטי או נכון אבל נשמר לצורך הקשר, כמו מחיר מחוק. <del> מסמנת טקסט שנמחק מהמסמך, לרוב ליד <ins> שמראה מה בא במקומו, ויכולה לקבל את המאפיינים datetime ו-cite.