תחי ישראל - אין לנו ארץ אחרת

תחי ישראל -אין לנו ארץ אחרת

מדריך CSS מספר 11 - עיצוב רשימות

מחבר:
בתאריך:

 

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

עיצוב רשימות לא מסודרות

נתחיל מהעתקת הקוד הבא לרשימה לא-מסודרת לקובץ ה-html:

<html>
<head>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
  <ul class="circle">
    <li>CSS</li>
    <li>HTML</li>
    <li>JavaScript</li>
  </ul>
  <ul class="disc">
    <li>CSS</li>
    <li>HTML</li>
    <li>JavaScript</li>
  </ul>
  <ul class="square">
    <li>CSS</li>
    <li>HTML</li>
    <li>JavaScript</li>
  </ul>
</body>
</html>

 

 

קוד HTML זה יוצר שלוש רשימות לא מסודרות, כשכל רשימה שייכת למחלקה (class) נפרדת.

כדי לשנות את הצורה שלפני רשימה לא מסודרת משתמשים בתכונה list-style-type, שיכולה לקבל את הערכים:

  • list-style-type:circle לעיגול ללא מילוי,
  • list-style-type:disc לעיגול עם מילוי,
  • list-style-type:square לריבוע.

נכתוב את הקוד הבא לקובץ style.css (קובץ ה-CSS החיצוני) בלי רווח בין המחלקה ובין הסלקטור. כל שורה בקוד מתייחסת ל-Class אחר של רשימה מקוד ה-HTML. 

ul.circle {
  list-style-type:circle;
}

ul.disc {
  list-style-type:disc;
}

ul.square {
  list-style-type:square;
}

נריץ את קובץ ה-html על הדפדפן, והתוצאה המתקבלת היא התוצאה הבאה:

שינוי העיצוב של רשימות לא מסודרות באמצעות CSS

אפשרות נוספת היא לשתול תמונה קטנה במקום הצורות הגאומטריות שמשמשות את הרשימות הלא מסודרות. כדי להגיע לתוצאה משתמשים בתכונה ( )list-style-image:url, כשבתוך הסוגריים שמים את שמו של הקובץ שרוצים לשבץ במקום הצורות הגאומטריות.  סביב שמו של הקובץ מוסיפים גרשיים ('  ') קובץ זה צריך להימצא בתוך תיקיית השורש ביחד עם קובץ ה-HTML וקובץ ה-CSS. גודלה של התמונה צריך להיות בערך 20px X 20px. נדביק את הקוד הבא לקובץ ה-html:

<html>
<head>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
  <ul class="drupalicon">
    <li>CSS</li>
    <li>HTML</li>
    <li>JavaScript</li>
  </ul>
</body>
</html>

נכתוב את הקוד הבא לקובץ ה-css (קישור להורדת התמונה):

ul.drupalicon {
  list-style-image:url('drupalicon.jpg');
}

נשים לב שאחרי ה-url בתוך הסוגריים העגולים מופיע שם התמונה בין גרשיים. נריץ את קובץ ה-html על הדפדפן, ונצפה בתוצאה:

שינוי התמונה שלפני רשימות לא מסודרות באמצעות CSS

 

עיצוב רשימות מסודרות

באופן דומה נשנה את המספור האופייני לרשימות מסודרות. נתחיל מהעתקת הקוד הבא לקובץ ה-html:

<html>
<head>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
  <ol>
    <li>צבא</li>
    <li>לימודים</li>
    <li>חתונה</li>
  </ol>
    <ol dir="rtl">
    <li>צבא</li>
    <li>לימודים</li>
    <li>חתונה</li>
  </ol>
  <ol class="hebrew"  dir="rtl">
    <li>צבא
    <li>לימודים
    <li>חתונה
  </ol>
</body>
</html>

קוד HTML זה יוצר שלוש רשימות מסודרות, כשכל רשימה שייכת למחלקה נפרדת.

כדי לשנות את הספרות לאותיות נשתמש בתכונה list-style-type:hebrew. נכתוב את הקוד הבא לקובץ ה-css החיצוני:

ol.hebrew {
  list-style-type:hebrew;
}

נריץ את קובץ ה-html על הדפדפן, וזו התוצאה:

עיצוב רשימות ב-CSS

רוצים מספרים במקום אותיות? אין בעיה. השתמשו בקוד הבא:

ol{list-style-type: decimal}

 

סלקטורים של צאצאים ישירים ולא ישירים

כשאנחנו מעצבים את הילדים של ul כדאי שנשים לב להבחנה בין ילדים (צאצאים ישירים) ובין צאצאים שאינם ישירים (דוגמת נכדים). כדי להדגים נקודה זו נסתכל על דוגמת הקוד הבאה:

<ul class="father">
  <li>CSS</li>
  <li>HTML</li>
  <ul class="child">
    <li>jQuery</li>
    <li>dojo</li>
  </ul>
</ul>

אנחנו רואים שבתוך ה-class ששמו father, ישנו class ילד ששמו child, ולו עצמו יש ילדים. אם אנחנו רוצים שלכל הצאצאים (ילדים, נכדים וכיו"ב) יהיה אותו עיצוב, אז נשתמש באלמנטים מקוננים באופן הבא:

ul.father li {
  color: red;
}

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

ul.father > li {
  color: red;
}

הסלקטור אומר לדפדפן, לבחור רק בילדים.

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

ul.father li {
  color: black;
}

ul.father > li {
  color: red;
}

 

שליטה במיקום הסימנים

התכונה list-style-position קובעת האם הסימונים יופיעו בתוך השורה או מחוץ לשורה.

ul {
    list-style-position: inside;
}

הערך ברירת המחדל הוא שהסימונים יופיעו מחוץ לשורה

ul {
    list-style-position: outside;
}
  • CSS
  • HTML
  • JavaScript

ואם רוצים שהסימן יופיע בתוך הרשימה

ul {
    list-style-position: inside;
}
  • CSS
  • HTML
  • JavaScript

 

 

אהבתם? לא אהבתם? דרגו!

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

 

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

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

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

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

השימוש שלך באתר מהווה ראייה להסכמתך עם הכללים והתקנות שנוסחו בהסכם תנאי השימוש.

הוסף תגובה חדשה

 

 

ענה על השאלה הפשוטה הבאה כתנאי להוספת תגובה:

איך אומרים בעברית אינטרנט?

 

תמונת המגיב

שרה בתאריך: 29.08.2017

בבחירת האופציה לשתול תמונה קטנה במקום הצורות הגאומטריות שמשמשות את הרשימות הלא מסודרות. אם שמרתי את התמונה בתוך תיקיית \"IMAGE\" האם צריך להשתמש ב - URL או ב- LINK?

תמונת המגיב

נעמי בתאריך: 28.06.2021

שלום, רציתי לשאול
בספירה מקוננת- איך אני עושה שהמספור יהיה בצורה כזו 1.1, 1.2, 1.1.1 וכו'.....??
תודה רבה ואשמח למענה מהיר!!!