תיעוד ודוגמאות לשימוש ברכיבי הניווט הכלולים של Bootstrap.
ניווט בסיס
ניווט זמין ב-Bootstrap חולק סימון וסגנונות כלליים, .navממעמד הבסיס ועד למצבים פעילים ומושבתים. החלף מחלקות שינוי כדי לעבור בין כל סגנון.
רכיב הבסיס .navבנוי עם flexbox ומספק בסיס חזק לבניית כל סוגי רכיבי הניווט. הוא כולל כמה דחיפות סגנון (לעבודה עם רשימות), כמה ריפוד קישורים לאזורי פגיעה גדולים יותר וסגנון נכים בסיסי.
רכיב הבסיס .navאינו כולל שום .activeמדינה. הדוגמאות הבאות כוללות את המחלקה, בעיקר כדי להדגים שהמחלקה הספציפית הזו אינה מפעילה שום סטיילינג מיוחד.
השיעורים משמשים לאורך כל הדרך, כך שהסימון שלך יכול להיות גמיש במיוחד. השתמש ב- <ul>s כמו לעיל, <ol>אם סדר הפריטים שלך חשוב, או גלגל משלך עם <nav>אלמנט. בגלל .navהשימושים display: flex, קישורי הניווט מתנהגים כמו פריטי ניווט, אך ללא הסימון הנוסף.
סגנונות זמינים
שנה את הסגנון של .navרכיב s עם מתקנים וכלי עזר. מערבבים ומתאימים לפי הצורך, או בנה משלך.
יישור אופקי
שנה את היישור האופקי של הניווט שלך עם כלי עזר flexbox . כברירת מחדל, ניווטים מיושרים לשמאל, אך ניתן לשנות אותם בקלות למרכז או לימין.
ערמו את הניווט שלכם על ידי שינוי כיוון הפריט הגמיש עם .flex-columnכלי השירות. האם צריך לערום אותם בכמה נקודות מבט אבל לא באחרים? השתמש בגרסאות הרספונסיביות (למשל, .flex-sm-column).
לוקח את הניווט הבסיסי מלמעלה ומוסיף את .nav-tabsהמחלקה כדי ליצור ממשק עם כרטיסיות. השתמש בהם כדי ליצור אזורים הניתנים לכרטיסיות עם הפלאגין שלנו לכרטיסייה JavaScript .
הכריח את .navהתוכן שלך להרחיב את מלוא הרוחב הזמין באחת משתי מחלקות שינוי. כדי למלא באופן פרופורציונלי את כל השטח הפנוי ב- .nav-items שלך, השתמש ב- .nav-fill. שימו לב שכל השטח האופקי תפוס, אבל לא לכל פריט ניווט יש אותו רוחב.
בעת שימוש <nav>בניווט מבוסס-, הקפד לכלול .nav-itemעל העוגנים.
עבור אלמנטים ברוחב שווה, השתמש .nav-justified. כל המרחב האופקי יתפוס על ידי קישורי ניווט, אך בניגוד .nav-fillלאמור לעיל, כל פריט ניווט יהיה באותו רוחב.
בדומה .nav-fillלדוגמא באמצעות <nav>ניווט מבוסס-, הקפד לכלול .nav-itemעל העוגנים.
עבודה עם כלי עזר גמישים
אם אתה צריך וריאציות ניווט רספונסיביות, שקול להשתמש בסדרה של כלי שירות flexbox . אמנם יותר מילולי, אבל כלי עזר אלה מציעים התאמה אישית גדולה יותר על פני נקודות שבירה רספונסיביות. בדוגמה שלמטה, הניווט שלנו יערם על נקודת השבירה הנמוכה ביותר, ואז יתאימו לפריסה אופקית שתמלא את הרוחב הזמין החל מנקודת השבירה הקטנה.
לגבי נגישות
אם אתה משתמש ב-navs כדי לספק סרגל ניווט, הקפד להוסיף א role="navigation"למיכל האב ההגיוני ביותר של ה- <ul>, או לעטוף <nav>אלמנט סביב כל הניווט. אל תוסיף את התפקיד <ul>לעצמו, מכיוון שזה ימנע את הכרזתו כרשימה ממשית על ידי טכנולוגיות מסייעות.
שים לב שסרגלי ניווט, גם אם הם מעוצבים בצורה ויזואלית ככרטיסיות עם .nav-tabsהכיתה, אין לתת role="tablist", role="tab"או role="tabpanel"תכונות. אלה מתאימים רק לממשקי כרטיסיות דינמיים, כמתואר ב- WAI ARIA Authoring Practices . ראה התנהגות JavaScript עבור ממשקים דינמיים עם כרטיסיות בסעיף זה לדוגמא.
השתמש בתוסף ה-JavaScript הלשונית - כלול אותו בנפרד או דרך bootstrap.jsהקובץ המורכב - כדי להרחיב את כרטיסיות הניווט והגלולות שלנו ליצירת חלוניות ניתנות לכרטיסיות של תוכן מקומי, אפילו באמצעות תפריטים נפתחים.
אם אתה בונה את JavaScript שלנו מהמקור, זה דורשutil.js .
ממשקים דינמיים עם כרטיסיות, כמתואר ב- WAI ARIA Authoring Practices , דורשים role="tablist", role="tab", role="tabpanel", ותכונות נוספות aria-על מנת להעביר את המבנה, הפונקציונליות והמצב הנוכחי שלהם למשתמשים בטכנולוגיות מסייעות (כגון קוראי מסך).
שימו לב שממשקי כרטיסיות דינמיים לא צריכים להכיל תפריטים נפתחים, מכיוון שהדבר גורם לבעיות שימושיות וגם לבעיות נגישות. מנקודת מבט של שימושיות, העובדה שאלמנט ההדק של הכרטיסייה המוצגת כעת אינו גלוי מיד (כיוון שהוא נמצא בתוך התפריט הנפתח הסגור) עלולה לגרום לבלבול. מנקודת מבט של נגישות, אין כרגע דרך הגיונית למפות סוג זה של מבנה לדפוס WAI ARIA סטנדרטי, כלומר, לא ניתן להפוך אותו בקלות להבנה למשתמשים בטכנולוגיות מסייעות.
ג'ינס גולמי בטח לא שמעתם עליהם מכנסי ג'ינס אוסטין. Nesciunt tofu stumptown aliqua, רטרו סינת' מאסטר ניקוי. שפם קלישאה טמפור, וויליאמסבורג קרלס helvetica טבעונית. Reprehenderit בוצ'ר רטרו keffiyeh לוכד חלומות סינת'. סוודר קוסבי eu banh mi, qui irure טרי ריצ'רדסון לשעבר דיונון. Aliquip placeat salvia cillum אייפון. סייטן אליקוויפ quis קרדיגן ביגוד אמריקאי, בוצ'ר voluptate nisi qui.
Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.
Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.
כדי לעזור להתאים לצרכים שלך, זה עובד עם <ul>סימון מבוסס, כפי שמוצג לעיל, או עם כל סימון שרירותי של "גלגל משלך". שים לב שאם אתה משתמש ב- <nav>, אל תוסיף role="tablist"ישירות אליו, מכיוון שזה יעקוף את התפקיד המקורי של האלמנט כנקודת ציון לניווט. במקום זאת, עבור לאלמנט חלופי (בדוגמה למטה, פשוט <div>) ועטוף <nav>אותו.
Et et consectetur ipsum labore excepteur est proident excepteur ad velit occaecat qui minim occaecat veniam. Fugiat veniam incididunt anim aliqua enim pariatur veniam sunt est aute sit dolor anim. Velit non irure adipisicing aliqua ullamco irure incididunt irure non esse consectetur nostrud minim non minim occaecat. Amet duis do nisi duis veniam non est eiusmod tempor incididunt tempor dolor ipsum in qui sit. תרגיל מוליט לשבת culpa nisi culpa non adipisicing reprehenderit do dolore. Duis reprehenderit occaecat anim ullamco ad duis occaecat ex.
Nulla est ullamco ut irure incididunt nulla Lorem Lorem minim irure officia enim reprehenderit. Magna duis labore cillum sint adipisicing exercitation ipsum. Nostrud ut anim non exercitation velit laboris fugiat cupidatat. Commodo esse dolore fugiat sint velit ullamco magna consequat voluptate minim amet aliquip ipsum aute laboris nisi. Labore labore veniam irure irure ipsum pariatur mollit magna in cupidatat dolore magna irure esse tempor ad mollit. Dolore commodo nulla minim amet ipsum officia consectetur amet ullamco voluptate nisi commodo ea sit eu.
Sint sit mollit irure quis est nostrud cillum consequat Lorem esse do quis dolor esse fugiat sunt do. Eu ex commodo veniam Lorem aliquip laborum occaecat qui Lorem esse mollit dolore anim cupidatat. Deserunt officia id Lorem nostrud aute id commodo elit eiusmod enim irure amet eiusmod qui reprehenderit nostrud tempor. Fugiat ipsum excepteur in aliqua non et quis aliquip ad irure in labore cillum elit enim. Consequat aliquip incididunt ipsum et minim laborum laborum laborum et cillum labore. Deserunt adipisicing cillum id nulla minim nostrud labore eiusmod et amet. Laboris consequat consequat commodo non ut non aliquip reprehenderit nulla anim occaecat. Sunt sit ullamco reprehenderit irure ea ullamco Lorem aute nostrud magna.
Consequat occaecat ullamco amet non eiusmod nostrud dolore irure incididunt est duis anim sunt officia. Fugiat velit proident aliquip nisi incididunt nostrud תרגיל proident est nisi. Irure magna elit commodo anim ex veniam culpa eiusmod id nostrud sit cupidatat in veniam ad. Eiusmod consequat eu adipisicing minim anim aliquip cupidatat culpa excepteur quis. Occaecat sit eu exercitation irure Lorem incididunt nostrud.
Ad pariatur nostrud pariatur exercitation ipsum ipsum culpa mollit commodo mollit ex. Aute sunt incididunt amet commodo est sint nisi deserunt pariatur do. Aliquip ex eiusmod voluptate exercitation cillum id incididunt elit sunt. Qui minim sit magna Lorem id et dolore velit Lorem amet exercitation duis deserunt. Anim id labore elit adipisicing ut in id occaecat pariatur ut ullamco ea tempor duis.
Est quis nulla laborum officia ad nisi ex nostrud culpa Lorem excepteur aliquip dolor aliqua irure ex. Nulla ut duis ipsum nisi elit fugiat commodo sunt reprehenderit laborum veniam eu veniam. Eiusmod minim exercitation fugiat irure ex labore incididunt do fugiat commodo aliquip sit id deserunt reprehenderit aliquip nostrud. Amet ex cupidatat excepteur aute veniam incididunt mollit cupidatat esse irure officia elit do ipsum ullamco Lorem. Ullamco ut ad minim do mollit labore ipsum laboris ipsum commodo sunt tempor enim incididunt. Commodo quis sunt dolore aliquip aute tempor irure magna enim minim reprehenderit. Ullamco consectetur culpa veniam sint cillum aliqua incididunt velit ullamco sunt ullamco quis quis commodo voluptate. Mollit nulla nostrud adipisicing aliqua cupidatat aliqua pariatur mollit voluptate voluptate consequat non.
Cillum ad ut irure tempor velit nostrud occaecat ullamco aliqua anim Lorem sint. Veniam sint duis incididunt do esse magna mollit excepteur laborum qui. Id id reprehenderit sit est eu aliqua occaecat quis et velit excepteur laborum mollit dolore eiusmod. Ipsum dolor in occaecat commodo et voluptate minim reprehenderit mollit pariatur. Deserunt non laborum enim et cillum eu deserunt excepteur ea incididunt minim occaecat.
Culpa dolor voluptate do laboris laboris irure reprehenderit id incididunt duis pariatur mollit aute magna pariatur consectetur. Eu veniam duis non ut dolor deserunt commodo et minim in quis laboris ipsum velit id veniam. Quis ut consectetur adipisicing officia excepteur non sit. Ut et elit aliquip labore Lorem enim eu. Ullamco mollit occaecat dolore ipsum id officia mollit qui esse anim eiusmod do sint minim consectetur qui.
Fugiat id quis dolor culpa eiusmod anim velit excepteur proident dolor aute qui magna. Ad proident laboris ullamco esse anim Lorem Lorem veniam quis Lorem irure occaecat velit nostrud magna nulla. Velit et et proident Lorem do ea tempor officia dolor. Reprehenderit Lorem aliquip labore est magna commodo est ea veniam consectetur.
Eu dolore ea ullamco dolore Lorem id cupidatat excepteur reprehenderit consectetur elit id dolor proident in cupidatat officia. Voluptate excepteur commodo labore nisi cillum duis aliqua do. Aliqua amet qui mollit consectetur nulla mollit velit aliqua veniam nisi id do Lorem deserunt amet. Culpa ullamco sit adipisicing labore officia magna elit nisi in aute tempor commodo eiusmod.
שימוש בתכונות נתונים
אתה יכול להפעיל טאב או ניווט בגלולה מבלי לכתוב שום JavaScript על ידי ציון data-toggle="tab"או data-toggle="pill"על אלמנט. השתמש בתכונות הנתונים האלה ב- .nav-tabsאו .nav-pills.
דרך JavaScript
אפשר כרטיסיות הניתנות לכרטיסיות באמצעות JavaScript (יש להפעיל כל כרטיסייה בנפרד):
אתה יכול להפעיל כרטיסיות בודדות בכמה דרכים:
אפקט דהייה
כדי לגרום לכרטיסיות לדעוך, הוסף .fadeלכל .tab-pane. חלונית הכרטיסייה הראשונה חייבת גם .showלהפוך את התוכן הראשוני לגלוי.
שיטות
שיטות ומעברים אסינכרוניים
כל שיטות ה-API הן אסינכרוניות ומתחילות מעבר . הם חוזרים למתקשר ברגע שהמעבר מתחיל אבל לפני שהוא מסתיים . בנוסף, תתעלם מקריאת שיטה על רכיב מעבר .
מפעיל רכיב טאב ומכל תוכן. ל-Tab צריך להיות צומת מיקוד data-targetאו hrefמיקוד לצומת מכיל ב-DOM.
.tab('show')
בוחר את הכרטיסייה הנתונה ומציג את החלונית המשויכת לה. כל כרטיסייה אחרת שנבחרה בעבר תבוטל והחלונית המשויכת לה מוסתרת. חוזר אל המתקשר לפני שחלונית הכרטיסיות הוצגה בפועל (כלומר לפני shown.bs.tabהתרחשות האירוע).
.tab('dispose')
הורס לשונית של אלמנט.
אירועים
בעת הצגת כרטיסייה חדשה, האירועים יופעלו בסדר הבא:
hide.bs.tab(בלשונית הפעילה הנוכחית)
show.bs.tab(בלשונית להצגה)
hidden.bs.tab(בלשונית הפעילה הקודמת, זהה לזה של hide.bs.tabהאירוע)
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למקד ללשונית הפעילה הקודמת ולכרטיסייה הפעילה החדשה, בהתאמה.