Source

קבוצת רשימה

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

דוגמה בסיסית

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

  • Cras justo odio
  • Dapibus ac facilisis in
  • מורבי ליאו ריסוס
  • Porta ac consectetur ac
  • וסטיבולום בארוס
<ul class="list-group">
  <li class="list-group-item">Cras justo odio</li>
  <li class="list-group-item">Dapibus ac facilisis in</li>
  <li class="list-group-item">Morbi leo risus</li>
  <li class="list-group-item">Porta ac consectetur ac</li>
  <li class="list-group-item">Vestibulum at eros</li>
</ul>

פריטים פעילים

הוסף .activeל-a .list-group-itemכדי לציין את הבחירה הפעילה הנוכחית.

  • Cras justo odio
  • Dapibus ac facilisis in
  • מורבי ליאו ריסוס
  • Porta ac consectetur ac
  • וסטיבולום בארוס
<ul class="list-group">
  <li class="list-group-item active">Cras justo odio</li>
  <li class="list-group-item">Dapibus ac facilisis in</li>
  <li class="list-group-item">Morbi leo risus</li>
  <li class="list-group-item">Porta ac consectetur ac</li>
  <li class="list-group-item">Vestibulum at eros</li>
</ul>

פריטים מושבתים

הוסף .disabledל-a .list-group-itemכדי שזה ייראה מושבת. שים לב שחלק מהאלמנטים עם .disabledידרשו גם JavaScript מותאם אישית כדי להשבית לחלוטין את אירועי הקליקים שלהם (למשל, קישורים).

  • Cras justo odio
  • Dapibus ac facilisis in
  • מורבי ליאו ריסוס
  • Porta ac consectetur ac
  • וסטיבולום בארוס
<ul class="list-group">
  <li class="list-group-item disabled">Cras justo odio</li>
  <li class="list-group-item">Dapibus ac facilisis in</li>
  <li class="list-group-item">Morbi leo risus</li>
  <li class="list-group-item">Porta ac consectetur ac</li>
  <li class="list-group-item">Vestibulum at eros</li>
</ul>

השתמש ב- <a>s או <button>s כדי ליצור פריטי קבוצת רשימה הניתנים לפעולה עם מצבי ריחוף, מושבתים ופעילים על ידי הוספת .list-group-item-action. אנו מפרידים מחלקות פסאודו אלה כדי להבטיח שקבוצות רשימות המורכבות מאלמנטים לא אינטראקטיביים (כמו <li>s או <div>s) אינן מספקות קליק או הקשה.

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

<div class="list-group">
  <a href="#" class="list-group-item list-group-item-action active">
    Cras justo odio
  </a>
  <a href="#" class="list-group-item list-group-item-action">Dapibus ac facilisis in</a>
  <a href="#" class="list-group-item list-group-item-action">Morbi leo risus</a>
  <a href="#" class="list-group-item list-group-item-action">Porta ac consectetur ac</a>
  <a href="#" class="list-group-item list-group-item-action disabled">Vestibulum at eros</a>
</div>

עם <button>s, אתה יכול גם לעשות שימוש disabledבתכונה במקום .disabledבמחלקה. למרבה הצער, <a>לא תומכים בתכונה disabled.

<div class="list-group">
  <button type="button" class="list-group-item list-group-item-action active">
    Cras justo odio
  </button>
  <button type="button" class="list-group-item list-group-item-action">Dapibus ac facilisis in</button>
  <button type="button" class="list-group-item list-group-item-action">Morbi leo risus</button>
  <button type="button" class="list-group-item list-group-item-action">Porta ac consectetur ac</button>
  <button type="button" class="list-group-item list-group-item-action" disabled>Vestibulum at eros</button>
</div>

סומק

הוסף .list-group-flushכדי להסיר כמה גבולות ופינות מעוגלות כדי להציג פריטי קבוצת רשימה מקצה לקצה במיכל אב (למשל, כרטיסים).

  • Cras justo odio
  • Dapibus ac facilisis in
  • מורבי ליאו ריסוס
  • Porta ac consectetur ac
  • וסטיבולום בארוס
<ul class="list-group list-group-flush">
  <li class="list-group-item">Cras justo odio</li>
  <li class="list-group-item">Dapibus ac facilisis in</li>
  <li class="list-group-item">Morbi leo risus</li>
  <li class="list-group-item">Porta ac consectetur ac</li>
  <li class="list-group-item">Vestibulum at eros</li>
</ul>

שיעורים קונטקסטואליים

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

  • Dapibus ac facilisis in
  • זהו פריט קבוצתי ראשי ברשימה
  • זהו פריט קבוצתי משני ברשימה
  • זהו פריט קבוצתי ברשימת הצלחה
  • זהו פריט קבוצתי ברשימת סכנות
  • זהו פריט קבוצתי ברשימת אזהרה
  • זהו פריט קבוצתי ברשימת מידע
  • זהו פריט קבוצתי ברשימה קלה
  • זהו פריט קבוצתי ברשימה חשוכה
<ul class="list-group">
  <li class="list-group-item">Dapibus ac facilisis in</li>


  <li class="list-group-item list-group-item-primary">This is a primary list group item</li>
  <li class="list-group-item list-group-item-secondary">This is a secondary list group item</li>
  <li class="list-group-item list-group-item-success">This is a success list group item</li>
  <li class="list-group-item list-group-item-danger">This is a danger list group item</li>
  <li class="list-group-item list-group-item-warning">This is a warning list group item</li>
  <li class="list-group-item list-group-item-info">This is a info list group item</li>
  <li class="list-group-item list-group-item-light">This is a light list group item</li>
  <li class="list-group-item list-group-item-dark">This is a dark list group item</li>
</ul>

שיעורי הקשר עובדים גם עם .list-group-item-action. שימו לב לתוספת של סגנונות הרחף כאן שאינם קיימים בדוגמה הקודמת. כמו כן נתמכת .activeהמדינה; החל אותו כדי לציין בחירה פעילה בפריט קבוצתי ברשימה הקשרית.

<div class="list-group">
  <a href="#" class="list-group-item list-group-item-action">Dapibus ac facilisis in</a>


  <a href="#" class="list-group-item list-group-item-action list-group-item-primary">This is a primary list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-secondary">This is a secondary list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-success">This is a success list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-danger">This is a danger list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-warning">This is a warning list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-info">This is a info list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-light">This is a light list group item</a>
  <a href="#" class="list-group-item list-group-item-action list-group-item-dark">This is a dark list group item</a>
</div>
העברת משמעות לטכנולוגיות מסייעות

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

עם תגים

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

  • Cras justo odio14
  • Dapibus ac facilisis in2
  • מורבי ליאו ריסוס1
<ul class="list-group">
  <li class="list-group-item d-flex justify-content-between align-items-center">
    Cras justo odio
    <span class="badge badge-primary badge-pill">14</span>
  </li>
  <li class="list-group-item d-flex justify-content-between align-items-center">
    Dapibus ac facilisis in
    <span class="badge badge-primary badge-pill">2</span>
  </li>
  <li class="list-group-item d-flex justify-content-between align-items-center">
    Morbi leo risus
    <span class="badge badge-primary badge-pill">1</span>
  </li>
</ul>

תוכן מותאם אישית

הוסף כמעט כל HTML בתוכו, אפילו עבור קבוצות רשימות מקושרות כמו זו שלמטה, בעזרת כלי השירות של flexbox .

<div class="list-group">
  <a href="#" class="list-group-item list-group-item-action flex-column align-items-start active">
    <div class="d-flex w-100 justify-content-between">
      <h5 class="mb-1">List group item heading</h5>
      <small>3 days ago</small>
    </div>
    <p class="mb-1">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
    <small>Donec id elit non mi porta.</small>
  </a>
  <a href="#" class="list-group-item list-group-item-action flex-column align-items-start">
    <div class="d-flex w-100 justify-content-between">
      <h5 class="mb-1">List group item heading</h5>
      <small class="text-muted">3 days ago</small>
    </div>
    <p class="mb-1">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
    <small class="text-muted">Donec id elit non mi porta.</small>
  </a>
  <a href="#" class="list-group-item list-group-item-action flex-column align-items-start">
    <div class="d-flex w-100 justify-content-between">
      <h5 class="mb-1">List group item heading</h5>
      <small class="text-muted">3 days ago</small>
    </div>
    <p class="mb-1">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
    <small class="text-muted">Donec id elit non mi porta.</small>
  </a>
</div>

התנהגות JavaScript

השתמש בתוסף הכרטיסייה JavaScript - כלול אותו בנפרד או דרך bootstrap.jsהקובץ המהודר - כדי להרחיב את קבוצת הרשימות שלנו ליצירת חלוניות ניתנות לכרטיסיות של תוכן מקומי.

<div class="row">
  <div class="col-4">
    <div class="list-group" id="list-tab" role="tablist">
      <a class="list-group-item list-group-item-action active" id="list-home-list" data-toggle="list" href="#list-home" role="tab" aria-controls="home">Home</a>
      <a class="list-group-item list-group-item-action" id="list-profile-list" data-toggle="list" href="#list-profile" role="tab" aria-controls="profile">Profile</a>
      <a class="list-group-item list-group-item-action" id="list-messages-list" data-toggle="list" href="#list-messages" role="tab" aria-controls="messages">Messages</a>
      <a class="list-group-item list-group-item-action" id="list-settings-list" data-toggle="list" href="#list-settings" role="tab" aria-controls="settings">Settings</a>
    </div>
  </div>
  <div class="col-8">
    <div class="tab-content" id="nav-tabContent">
      <div class="tab-pane fade show active" id="list-home" role="tabpanel" aria-labelledby="list-home-list">...</div>
      <div class="tab-pane fade" id="list-profile" role="tabpanel" aria-labelledby="list-profile-list">...</div>
      <div class="tab-pane fade" id="list-messages" role="tabpanel" aria-labelledby="list-messages-list">...</div>
      <div class="tab-pane fade" id="list-settings" role="tabpanel" aria-labelledby="list-settings-list">...</div>
    </div>
  </div>
</div>

שימוש בתכונות נתונים

אתה יכול להפעיל ניווט בקבוצת רשימה מבלי לכתוב שום JavaScript על ידי ציון data-toggle="list"או על אלמנט. השתמש בתכונות הנתונים האלה ב- .list-group-item.

<!-- List group -->
<div class="list-group" id="myList" role="tablist">
  <a class="list-group-item list-group-item-action active" data-toggle="list" href="#home" role="tab">Home</a>
  <a class="list-group-item list-group-item-action" data-toggle="list" href="#profile" role="tab">Profile</a>
  <a class="list-group-item list-group-item-action" data-toggle="list" href="#messages" role="tab">Messages</a>
  <a class="list-group-item list-group-item-action" data-toggle="list" href="#settings" role="tab">Settings</a>
</div>

<!-- Tab panes -->
<div class="tab-content">
  <div class="tab-pane active" id="home" role="tabpanel">...</div>
  <div class="tab-pane" id="profile" role="tabpanel">...</div>
  <div class="tab-pane" id="messages" role="tabpanel">...</div>
  <div class="tab-pane" id="settings" role="tabpanel">...</div>
</div>

דרך JavaScript

אפשר פריט רשימה שניתן לכרטיסיות באמצעות JavaScript (יש להפעיל כל פריט רשימה בנפרד):

$('#myList a').on('click', function (e) {
  e.preventDefault()
  $(this).tab('show')
})

אתה יכול להפעיל פריט רשימה בודד בכמה דרכים:

$('#myList a[href="#profile"]').tab('show') // Select tab by name
$('#myList a:first-child').tab('show') // Select first tab
$('#myList a:last-child').tab('show') // Select last tab
$('#myList a:nth-child(3)').tab('show') // Select third tab

אפקט דהייה

כדי לגרום לחלונית הכרטיסיות להתפוגג, הוסף .fadeלכל .tab-pane. חלונית הכרטיסייה הראשונה חייבת גם .showלהפוך את התוכן הראשוני לגלוי.

<div class="tab-content">
  <div class="tab-pane fade show active" id="home" role="tabpanel">...</div>
  <div class="tab-pane fade" id="profile" role="tabpanel">...</div>
  <div class="tab-pane fade" id="messages" role="tabpanel">...</div>
  <div class="tab-pane fade" id="settings" role="tabpanel">...</div>
</div>

שיטות

$().tab

מפעיל רכיב פריט רשימה ומכל תוכן. ל-Tab צריך להיות צומת מיקוד data-targetאו hrefמיקוד לצומת מכיל ב-DOM.

<div class="list-group" id="myList" role="tablist">
  <a class="list-group-item list-group-item-action active" data-toggle="list" href="#home" role="tab">Home</a>
  <a class="list-group-item list-group-item-action" data-toggle="list" href="#profile" role="tab">Profile</a>
  <a class="list-group-item list-group-item-action" data-toggle="list" href="#messages" role="tab">Messages</a>
  <a class="list-group-item list-group-item-action" data-toggle="list" href="#settings" role="tab">Settings</a>
</div>

<div class="tab-content">
  <div class="tab-pane active" id="home" role="tabpanel">...</div>
  <div class="tab-pane" id="profile" role="tabpanel">...</div>
  <div class="tab-pane" id="messages" role="tabpanel">...</div>
  <div class="tab-pane" id="settings" role="tabpanel">...</div>
</div>

<script>
  $(function () {
    $('#myList a:last-child').tab('show')
  })
</script>

.tab('show')

בוחר את פריט הרשימה הנתון ומציג את החלונית המשויכת לו. כל פריט אחר ברשימה שנבחר בעבר יבוטל והחלונית המשויכת לו מוסתרת. חוזר למתקשר לפני שחלונית הכרטיסיות הוצגה בפועל (לדוגמה, לפני shown.bs.tabשהאירוע מתרחש).

$('#someListItem').tab('show')

אירועים

בעת הצגת כרטיסייה חדשה, האירועים יופעלו בסדר הבא:

  1. hide.bs.tab(בלשונית הפעילה הנוכחית)
  2. show.bs.tab(בלשונית להצגה)
  3. hidden.bs.tab(בלשונית הפעילה הקודמת, זהה לזה של hide.bs.tabהאירוע)
  4. shown.bs.tab(בלשונית הפעילה שזה עתה הוצגה, זהה לזו של show.bs.tabהאירוע)

אם שום כרטיסייה כבר לא הייתה פעילה, האירועים hide.bs.tabו- hidden.bs.tabלא יופעלו.

סוג אירוע תיאור
show.bs.tab אירוע זה מופעל בהצגת כרטיסיות, אך לפני שהכרטיסייה החדשה הוצגה. השתמש event.targetובכדי event.relatedTargetלמקד ללשונית הפעילה ולכרטיסייה הפעילה הקודמת (אם זמינה) בהתאמה.
הכרטיסייה.bs.showed אירוע זה מופעל בהצגת כרטיסיות לאחר הצגת כרטיסייה. השתמש event.targetובכדי event.relatedTargetלמקד ללשונית הפעילה ולכרטיסייה הפעילה הקודמת (אם זמינה) בהתאמה.
hide.bs.tab אירוע זה מופעל כאשר יש להציג כרטיסייה חדשה (ולכן יש להסתיר את הכרטיסייה הפעילה הקודמת). השתמש event.targetובכדי event.relatedTargetלמקד לכרטיסייה הפעילה הנוכחית ולכרטיסייה החדשה שתהיה פעילה בקרוב, בהתאמה.
hidden.bs.tab אירוע זה מופעל לאחר הצגת כרטיסייה חדשה (ולכן הכרטיסייה הפעילה הקודמת מוסתרת). השתמש event.targetובכדי event.relatedTargetלמקד ללשונית הפעילה הקודמת ולכרטיסייה הפעילה החדשה, בהתאמה.
$('a[data-toggle="list"]').on('shown.bs.tab', function (e) {
  e.target // newly activated tab
  e.relatedTarget // previous active tab
})