PracticU

CSS - הורשה

בלי כתוביותעם כתוביות
PracticU › קורס יסודות HTML - בניית אתר אינטרנט פשוט › CSS - הורשה
מילון מושגים:
CSS - שפת עיצוב שקובעת את המראה של דפי אינטרנט: צבעים, גופנים, מיקום וסידור הרכיבים.
מאפיין - תכונה שמצמידים לרכיב ומתארת אותו או את התנהגותו, למשל מאפיין של תגית HTML או שדה באובייקט.
תגית - סימון בקוד, למשל ב-HTML, שתוחם רכיב ומגדיר את תפקידו או תכונותיו. גם תווית לסימון וקיטלוג פריטים.
דפדפן - תוכנה שמציגה דפי אינטרנט ומריצה את הקוד שבהם, ומאפשרת לגלוש בין אתרים, למשל Chrome או Firefox.
סלקטור - ביטוי, בעיקר ב-CSS, שבוחר אילו רכיבים בדף יושפעו מכלל עיצוב או פעולה.
פיקסל - נקודת הצבע הקטנה ביותר שמרכיבה תמונה או תצוגה על המסך.

CSS - הורשה
השיעור מציג את הערך inherit ב-CSS, שמאפשר לאלמנט לקבל את הערך של מאפיין מהתגית שעוטפת אותו.
איך זה עובד
1. הבעיה: הלינק נשאר כחול עם קו תחתון, כי כך הדפדפן מגדיר לינקים כברירת מחדל. המטרה היא שהלינק ייקח את הצבע של הפסקה שעוטפת אותו.
2. מציאת הצבע: בכלי הפיתוח של הדפדפן (F12) בודקים את ה-color של התגית ומעתיקים את הערך המדויק.
3. color: inherit: בסלקטור a מגדירים צבע בירושה, והלינק מקבל את הצבע של הפסקה.
4. text-decoration: inherit: מסירים את הקו התחתון, והוא מופיע רק במצב ריחוף. לשם כך מגדירים ב-a:hover את הערך underline.
5. רשימה לא מסודרת: לתגית ul נתנו גבול של פיקסל אחד בצבע ירוק. התגית li לא קיבלה את הגבול, כי גבול לא עובר אוטומטית לתגיות שבתוכה.
6. border: inherit ל-li: מגדירים לכל פריט ברשימה לרשת את הגבול מה-ul.
7. מה יורש אוטומטית: צבע יורש כברירת מחדל, ולכן שינוי ה-color של body משפיע על כל הפסקאות והרשימות. גבול לא יורש אוטומטית, כי לא הגיוני שכל פריט ברשימה יקבל מסגרת.
פקודות והגדרות
a { color: inherit; text-decoration: inherit; }
a:hover { text-decoration: underline; }
li { border: inherit; }
שימו לב
לא כל מאפיין יורש אוטומטית, ולכן כשרוצים ערך מהאב כותבים inherit במפורש.
בזכות inherit אפשר להעביר מאפיין מתגית עוטפת לתגית שבתוכה, בלי לחזור על אותו כלל.
השיעור הבא בקורס: CSS - עיצוב מדורג - Cascading
מילון מושגים:
קוד מקור - הקוד שמפתחים כותבים בשפת תכנות, לפני הידור, המגדיר את פעולת התוכנה.
HTML - שפת הסימון שבה בונים את מבנה ותוכן דפי האינטרנט, באמצעות תגיות שמגדירות כותרות, פסקאות, קישורים ועוד.

להורדת קוד מקור של כל הדוגמאות בקורס HTML - לחץ כאן (להורדה ממחשב רגיל ולא מאובטח)

פרקי ההרצאה: CSS - הורשה

  1. 00:00

    הורשה ב-CSS ואתר Zen Garden

  2. 04:00

    חקירת צבע עם Developer Tools

  3. 06:35

    שימוש ב-color inherit ללינק

  4. 07:38

    הורשת text-decoration

  5. 09:00

    קו תחתון בריחוף עם a:hover

  6. 09:55

    דוגמת רשימה לא מסודרת

  7. 12:40

    הורשת BORDER ל-list item

  8. 13:25

    תכונות שעוברות בהורשה כברירת מחדל

תמלול ההרצאה: CSS - הורשה

הטקסט המלא של הדקות הראשונות בהרצאה «CSS - הורשה» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

    מה שאנחנו הולכים לראות עכשיו זה שימוש במאפיין של CSS שנקרא Inherit. בואו נראה מה זה אומר. ראשית, בואו ניכנס לאיזשהו אתר מאוד ידוע בעולם בנוגע ל-CSS, והאתר הזה נקרא CSS ZenGarden.

  2. 00:18

    האתר הזה מכיל HTML אחד ויחיד, ומעצבים מכל העולם עיצבו אותו בעברת כל מיני קבצי CSS שונים, ולאחר מכן העלו אותו לאתר. וניתן לראות באתר הזה שיש כל מיני עיצובים שונים לאותו קובץ CSS שניתן להורדה מהלינק הזה לדוגמה.

  3. 00:37

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

  4. 01:11

    אוקיי, בואו נחזור רגע לעיצוב הראשוני. יש כאן בצד לינקים. אנחנו יודעים שלינק כברירת מחדל הוא בצבע כחול. במובן שיכלו לשנות לו את הצבע בעזרת css ולתת לו איזשהו צבע אחר.

  5. 01:29

    אבל אנחנו הולכים לראות איך ניתן להשיג את העיצוב הזה שהלינק לא בצבע כחול בעזרת שימוש בתכונה inherit. אז בואו נבנה לנו איזשהו דף html ודף css ונראה איך להשתמש בזה.

  6. 01:52

    אז נפתח דף html חדש, נשמור אותו ונצרף דף css כך שה html יפנה אליו.

  7. 02:45

    בואו נשמור גם את ה-CSS ונציג את שניהם בוויז'ל סטודיו אחד ליד השני על ידי מכה שימני על כותרת הדף view vertical tab group new vertical tab group ושניהם מוצגים אחד ליד השני כך יותר נוח לעבוד עם זה.

  8. 03:13

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

  9. 04:22

    באינטרנט אקספלורר ניתן ללכת לטולס, ויש לי פה Developer Tool או לחיצה על F12, ויש לי פה מעין חלונית שמראה לי נתונים לגבי דף ה-HTML הנוכחי. אני יכול ללחוץ על סמן העכבר פה מצד שמאל, ואז לגשת לדף ולבחור את התגית הרצויה, בואו נגיד את התגית הזאת.

  10. 04:50

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

  11. 05:04

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

  12. 05:37

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

  13. 06:11

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

  14. 06:24

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

  15. 06:41

    איך עושים את זה? נחזור ל-CSS ונגדיר צוב עבור לינקים. עבור A-לינק, כלומר הערך בת מחדל של לינק, אנחנו רוצים לתת color inherit. אפשר לראות את זה כערך ראשוני פה בחלון ההצעות.

  16. 07:11

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

  17. 07:32

    איך אני מעלים את הקו התחתון בדיוק כמו שיש לנו באתר CSS and Garden? אנחנו רואים שהלינקים כברת מחדל לא מכילים קו תחתון אלא רק שעולים עליהם. בואו נחזור ל-HTML ול-CSS ונגדיר עבור לינק טקסט דקוריישן, גם הוא אינהריט.

  18. 08:02

    טקסט דקוריישן מגדיר לי איפה יש קו מבחינת הטקסט. underline, overline, line-through וכו'. קו מתחת, קו מעל, קו באמצע. כאשר אני אומר לו שהוא inherit זה אומר שהוא יורש את התכונה מהתגית שעוטפת אותו.

  19. 08:21

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

  20. 08:47

    עכשיו, בכדי שכאשר אני אעלה עליו אני כן רוצה לראות קו, אני צריך להחזיר אותו במצב ריחוף מעל הלינק. בואו נחזור ב-CSS ונגדיר עוד עיצוב עבור A-Hover.

  21. 09:08

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

  22. 09:33

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

  23. 09:49

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

  24. 10:19

    את הסדרה של קורסים אנחנו מסדרים בתוך רשימה לא מסודרת, כלומר Unordered List. יש לנו html, יש לנו css, יש לנו את csharp ויש לנו את vb.net.

  25. 10:46

    עכשיו בואו נניח שאני רוצה לתת עיצוב עבור ה-unordered list. העיצוב שאני רוצה לתת זה רוחב 2 פיקסלים ואני רוצה איזשהו בורדר שעוטף את הכל.

  26. 11:05

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

  27. 11:41

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

  28. 12:00

    את ההוראה הזאת נתתי ל-unordered list ולכן אני רואה שה-unordered list קיבלה בעצם את הבורדר הזה אבל אם נסתכל נראה שהאייטמים בתוך הליסט לא קיבלו את הבורדר למרות שלist item זה תגית שנמצאת בתוך ה-unordered list.

  29. 12:24

    במקרה של color, color כן הגיע אוטומטי לנתונים שנמצאים בתוך פרגרף. במקרה של unordered list זה לא מגיע אוטומטי.

  30. 12:38

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

  31. 12:54

    אני מגדיר תגית list-item ומגדיר לה שהבורדר שלה הוא Inherit. בואו נשמור, נחזור לדפדפן, נרפרש, וכעת כל list-item גם הוא קיבל את הבורדר אוטומטית מה-unordered list שעוטפת אותו.

  32. 13:26

    עכשיו חשוב להבין שכל תכונת CSS היא או אוטומטית Inherit או שהיא אוטומטית לא אינהריט. בורדר לא היה אינהריט אוטומטית, מפני שזה לא הגיוני שאם אני רוצה לעטוף בגבול את כל הרשימה, אני גם ארצה לעטוף בגבול את כל הפריטים של הרשימה.

  33. 13:44

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

  34. 14:04

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

  35. 14:30

    אם לדוגמה הייתי הולך ומגדיר במקום paragraph body אז הייתי יכול לראות שנתתי בעצם את הצבע הזה לכל ה-body. אבל מה זה אומר לבאדי? בגלל שColor זה תכונה שהיא by default Inherit, אז גם הפסקאות שנמצאות בתוך הבאדי וגם ה-Unordered List וה-List Item שנמצאים בתוך הבאדי היו מקבלים את התכונת Color כי היא by default

לקורס המלא: קורס HTML ו‑CSS אונליין

ההרצאה הקודמת: Formating - CSS

ההרצאה הבאה: CSS - עיצוב מדורג - Cascading

הרצאות קשורות מקורסים אחרים

  • הורשה ב-NodeJS
  • הורשה ב-TypeScript
  • הורשה - Inheritance
  • הורשה בג'אווה - inheritance

קורסים נוספים במסלול

  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React
  • קורס NodeJS