עובר ל-v4
Bootstrap 4 הוא שכתוב משמעותי של הפרויקט כולו. השינויים הבולטים ביותר מסוכמים להלן, ולאחר מכן שינויים ספציפיים יותר לרכיבים הרלוונטיים.
שינויים יציבים
מעבר מבטא 3 למהדורת v4.x היציבה שלנו, אין שינויים פורצים, אבל יש כמה שינויים בולטים.
הַדפָּסָה
-
תיקנו כלי עזר להדפסה שבורים. בעבר, שימוש
.d-print-*
במחלקה היה מבטל באופן בלתי צפוי כל.d-*
מחלקה אחרת. כעת, הם תואמים את כלי העזר האחרים שלנו לתצוגה וחלים רק על המדיה הזו (@media print
). -
כלי עזר זמינים לתצוגת הדפסה מורחבים כדי להתאים לכלי עזר אחרים. בטא 3 ומעלה היו רק
block
,inline-block
,inline
וnone
. יציב v4 נוסףflex
,inline-flex
,table
,table-row
וtable-cell
. -
תיקנו עיבוד תצוגה מקדימה של הדפסה בדפדפנים עם סגנונות הדפסה חדשים המציינים
@page
size
.
שינויים בבטא 3
אמנם בטא 2 ראתה את עיקר השינויים השבירים שלנו במהלך שלב הבטא, אבל עדיין יש לנו כמה שצריך לטפל בהם במהדורת בטא 3. שינויים אלה חלים אם אתה מעדכן לבטא 3 מ-Beta 2 או כל גרסה ישנה יותר של Bootstrap.
שונות
- הסר את
$thumbnail-transition
המשתנה שאינו בשימוש. לא העברנו שום דבר, אז זה היה רק קוד נוסף. - חבילת npm אינה כוללת עוד קבצים אחרים מלבד קבצי המקור וה-dist שלנו; אם הסתמכת עליהם והרצת את הסקריפטים שלנו דרך
node_modules
התיקיה, עליך להתאים את זרימת העבודה שלך.
טפסים
-
כתב מחדש הן תיבות סימון ומכשירי רדיו מותאמים אישית והן ברירת מחדל. כעת, לשניהם יש מבנה HTML תואם (חיצוני
<div>
עם אח<input>
ו-<label>
) ואותם סגנונות פריסה (ברירת מחדל מוערמת, בשורה עם מחלקה משנה). זה מאפשר לנו לעצב את התווית בהתבסס על מצב הקלט, לפשט את התמיכהdisabled
בתכונה (בעבר דרשה מחלקה אב) ולתמוך טוב יותר באימות הטופס שלנו.כחלק מכך, שינינו את ה-CSS לניהול מספר
background-image
ים בתיבות סימון ומכשירי רדיו מותאמים אישית. בעבר,.custom-control-indicator
לרכיב שהוסר כעת היה צבע הרקע, השיפוע וסמל ה-SVG. התאמה אישית של שיפוע הרקע פירושה החלפת כל אלה בכל פעם שאתה צריך לשנות רק אחד. כעת, יש לנו.custom-control-label::before
עבור המילוי והשיפוע.custom-control-label::after
ומטפל בסמל.כדי לבצע בדיקה מותאמת אישית, הוסף
.custom-control-inline
. -
בורר מעודכן עבור קבוצות לחצנים מבוססות קלט. במקום
[data-toggle="buttons"] { }
עבור סגנון והתנהגות, אנו משתמשיםdata
בתכונה רק עבור התנהגויות JS ומסתמכים על.btn-group-toggle
מחלקה חדשה לסטיילינג. -
הוסר
.col-form-legend
לטובת משופר מעט.col-form-label
. בדרך זו.col-form-label-sm
וניתן.col-form-label-lg
להשתמש בו על<legend>
אלמנטים בקלות. -
קלט קבצים מותאמים אישית קיבלו שינוי
$custom-file-text
במשתנה Sass שלהם. זה כבר לא מפת Sass מקוננת וכעת מפעיל רק מחרוזת אחת -Browse
הכפתור מכיוון שהוא כעת האלמנט הפסאודו היחיד שנוצר מה-Sass שלנו. הטקסטChoose file
מגיע כעת מה-.custom-file-label
.
קבוצות קלט
-
תוספים של קבוצת קלט הם כעת ספציפיים למיקום שלהם ביחס לקלט. ירדנו
.input-group-addon
ועבור.input-group-btn
שני שיעורים חדשים,.input-group-prepend
ו.input-group-append
. עליך להשתמש במפורש ב-append או prepend כעת, מה שמפשט הרבה מה-CSS שלנו. בתוך תוספת או תוספת, מקם את הכפתורים שלך כפי שהיו קיימים בכל מקום אחר, אך עטוף טקסט ב-.input-group-text
. -
סגנונות אימות נתמכים כעת, וכך גם מספר קלטים (אם כי ניתן לאמת רק קלט אחד לכל קבוצה).
-
שיעורי גודל חייבים להיות על האב
.input-group
ולא על רכיבי הטופס הבודדים.
שינויים בבטא 2
בזמן בטא, אנו שואפים שלא יהיו שינויים פורצים. עם זאת, דברים לא תמיד הולכים כמתוכנן. להלן השינויים השבירה שיש לזכור בעת מעבר מבטא 1 לבטא 2.
שְׁבִירָה
- המשתנה הוסר
$badge-color
והשימוש בו ב-.badge
. אנו משתמשים בפונקציית ניגודיות צבע כדי לבחורcolor
בהתבסס עלbackground-color
, כך שהמשתנה מיותר. - שונה שם
grayscale()
הפונקציה לgray()
כדי למנוע התנגשות עםgrayscale
המסנן המקורי של CSS. - שונה שמות
.table-inverse
,.thead-inverse
, ו-.thead-default
ו.*-dark
,.*-light
התואמים את ערכות הצבעים שלנו בשימוש במקומות אחרים. - טבלאות רספונסיביות מייצרות כעת מחלקות עבור כל נקודת שבירה של רשת. זה נפרד מבטא 1 בכך
.table-responsive
שהשתמשת בו דומה יותר ל-.table-responsive-md
. כעת תוכל להשתמש.table-responsive
או.table-responsive-{sm,md,lg,xl}
לפי הצורך. - התמיכה ב-Bower הופסקה מכיוון שמנהל החבילות הוצאה משימוש עבור חלופות (למשל, Yarn או npm). לפרטים, ראה bower/bower#2298 .
- Bootstrap עדיין דורש jQuery 1.9.1 ומעלה, אבל מומלץ להשתמש בגרסה 3.x מכיוון שהדפדפנים הנתמכים של v3.x הם אלה שה-Bootstrap תומך בתוספת ל-v3.x יש כמה תיקוני אבטחה.
- הסירו את
.form-control-label
המחלקה שאינה בשימוש. אם אכן השתמשת במחלקה זו, זה היה כפיל של.col-form-label
המחלקה שמרכזה את ה-A אנכית<label>
עם הקלט המשויך לה בפריסות טופס אופקיות. - שינה את ה-
color-yiq
mixin שכלל אתcolor
המאפיין לפונקציה שמחזירה ערך, ומאפשרת לך להשתמש בו עבור כל מאפיין CSS. לדוגמה, במקוםcolor-yiq(#000)
, היית כותבcolor: color-yiq(#000);
.
עיקרי הדברים
- הציג
pointer-events
שימוש חדש במודלים. החיצוני.modal-dialog
עובר דרך אירועים עםpointer-events: none
טיפול בקליקים מותאם אישית (מה שמאפשר פשוט להאזין בלחיצה.modal-backdrop
כלשהי), ולאחר מכן מנטרל את זה.modal-content
עםpointer-events: auto
.
סיכום
להלן פריטי הכרטיסים הגדולים שתרצה להיות מודע אליהם בעת המעבר מ-v3 ל-v4.
תמיכה בדפדפן
- התמיכה ב-IE8, IE9 ו- iOS 6 הופסקה. v4 הוא כעת רק IE10+ ו- iOS 7+. עבור אתרים הזקוקים לאחד מאלה, השתמש ב-v3.
- נוספה תמיכה רשמית לדפדפן ו-WebView של Android v5.0 Lollipop. גרסאות קודמות של דפדפן אנדרואיד ושל WebView נותרו נתמכות באופן לא רשמי בלבד.
שינויים גלובליים
- Flexbox מופעל כברירת מחדל. באופן כללי זה אומר התרחקות מצפים ועוד על פני הרכיבים שלנו.
- עבר מפחות ל- Sass עבור קובצי ה-CSS המקור שלנו.
- עברה מ-
px
לrem
כיחידת ה-CSS הראשית שלנו, אם כי עדיין נעשה שימוש בפיקסלים עבור שאילתות מדיה והתנהגות רשת מכיוון שיציאות התצוגה של המכשיר אינן מושפעות מגודל הסוג. - גודל הגופן הגלובלי גדל מ-
14px
ל16px
. - שינו את שכבות הרשת כדי להוסיף אפשרות חמישית (התייחסות למכשירים קטנים יותר בתחתית
576px
ומתחת) והסירו את-xs
התיקונים ממחלקות אלו. דוגמה:.col-6.col-sm-4.col-md-3
. - החליף את ערכת הנושא האופציונלית הנפרדת באפשרויות הניתנות להגדרה באמצעות משתני SCSS (למשל,
$enable-gradients: true
). - בניית מערכת שעברה שיפוץ לשימוש בסדרה של סקריפטים npm במקום Grunt. ראה
package.json
עבור כל התסריטים, או הפרויקט שלנו Readme לצרכי פיתוח מקומיים. - שימוש לא מגיב ב-Bootstrap אינו נתמך עוד.
- הפסיק את ה-Customizer המקוון לטובת תיעוד הגדרה נרחב יותר ובנייה מותאמות אישית.
- נוספו עשרות מחלקות שירות חדשות עבור זוגות נפוצים של ערך נכסי CSS וקיצורי דרך למרווחי שוליים/ריפוד.
מערכת רשת
- הועבר ל-flexbox.
- נוספה תמיכה עבור flexbox ב-grid mixins ומחלקות מוגדרות מראש.
- כחלק מ-flexbox, כללה תמיכה במחלקות יישור אנכי ואופקי.
- שמות מחלקות רשת מעודכנים ושכבת רשת חדשה.
- נוספה
sm
שכבת רשת חדשה למטה768px
לשליטה פרטנית יותר. כעת יש לנוxs
,sm
,md
,lg
וxl
. זה גם אומר שכל שכבה עלתה רמה אחת (אז.col-md-6
ב-v3 הוא כעת.col-lg-6
ב-v4). xs
מחלקות רשת שונו כך שלא יחייבו את האינפקס כדי לייצג בצורה מדויקת יותר שהם מתחילים להחיל סגנונותmin-width: 0
בערך פיקסל מוגדר ולא. במקום.col-xs-6
, זה עכשיו.col-6
. כל שאר שכבות הרשת דורשות את התיקון (למשל,sm
).
- נוספה
- גדלי רשת, שילובים ומשתנים מעודכנים.
- למרזבי רשת יש כעת מפת Sass כך שתוכל לציין רוחב מרזב ספציפי בכל נקודת שבירה.
- תערובות רשת מעודכנות כדי להשתמש
make-col-ready
במיקסין הכנה ו-make-col
כדי להגדיר אתflex
ועבורmax-width
גודל עמודה בודדת. - שינו את נקודות השבירה של המדיה של מערכת הרשת ואת רוחבי המכולה כדי לקחת בחשבון את שכבת הרשת החדשה ולהבטיח שהעמודות מתחלקות באופן שווה
12
ברוחב המקסימלי שלהן. - נקודות עצירה של רשת ורוחב מיכל מטופלים כעת באמצעות מפות Sass (
$grid-breakpoints
ו$container-max-widths
) במקום קומץ משתנים נפרדים. אלה מחליפים את@screen-*
המשתנים לחלוטין ומאפשרים לך להתאים אישית את שכבות הרשת. - גם שאילתות המדיה השתנו. במקום לחזור על הצהרות שאילתות המדיה שלנו באותו ערך בכל פעם, כעת יש לנו
@include media-breakpoint-up/down/only
. עכשיו, במקום לכתוב@media (min-width: @screen-sm-min) { ... }
, אתה יכול לכתוב@include media-breakpoint-up(sm) { ... }
.
רכיבים
- נפלו לוחות, תמונות ממוזערות ובארות עבור רכיב חדש הכולל הכל, קלפים .
- הפיל את גופן הסמל של Glyphicons. אם אתה צריך סמלים, כמה אפשרויות הן:
- הגרסה במעלה הזרם של Glyphicons
- אוקטיקונים
- פונט מדהים
- עיין בדף הרחבה לקבלת רשימה של חלופות. יש לכם הצעות נוספות? אנא פתח נושא או יחסי ציבור.
- הורד את התוסף Affix jQuery.
- אנו ממליצים להשתמש
position: sticky
במקום זאת. עיין בערך HTML5 בבקשה לפרטים והמלצות ספציפיות לפולימילוי. הצעה אחת היא להשתמש@supports
בכלל ליישומו (למשל,@supports (position: sticky) { ... }
) - אם השתמשת ב-Afix כדי להחיל סגנונות נוספים שאינם
position
סגנונות, ייתכן שהפוליפילים לא יתמכו במקרה השימוש שלך. אפשרות אחת לשימושים כאלה היא ספריית הצד השלישי ScrollPos-Styler .
- אנו ממליצים להשתמש
- הורד את רכיב הביפר מכיוון שהוא בעצם היה כפתורים מותאמים מעט.
- שינתה כמעט את כל הרכיבים לשימוש יותר בבוררי כיתות לא מקוננים במקום בבוררי ילדים ספציפיים מדי.
לפי רכיב
רשימה זו מדגישה שינויים מרכזיים לפי רכיבים בין v3.xx ל-v4.0.0.
לְאַתחֵל
חדש ב-Bootstrap 4 הוא ה- Reboot , גיליון סגנונות חדש שמתבסס על Normalize עם סגנונות האיפוס הדעתניים שלנו. בוררים המופיעים בקובץ זה משתמשים רק באלמנטים - אין כאן מחלקות. זה מבודד את סגנונות האיפוס שלנו מסגנונות הרכיבים שלנו לגישה מודולרית יותר. כמה מהאיפוסים החשובים ביותר שזה כולל הם box-sizing: border-box
השינוי, מעבר מיחידות em
ליחידות rem
באלמנטים רבים, סגנונות קישור ואיפוסים רבים של רכיבי טופס.
טיפוגרפיה
- העביר את כל
.text-
כלי השירות_utilities.scss
לקובץ. - ירד
.page-header
מכיוון שניתן ליישם את הסגנונות שלו באמצעות כלי עזר. .dl-horizontal
הושמט. במקום זאת, השתמש.row
ב-On<dl>
והשתמש במחלקות עמודות רשת (או מיקסינס) על שלה<dt>
ועל<dd>
הילדים.- ציטוטים מעוצבים מחדש, מעבירים את הסגנונות שלהם
<blockquote>
מהאלמנט למחלקה אחת,.blockquote
. הורד את.blockquote-reverse
השינוי עבור כלי עזר לטקסט. .list-inline
.list-inline-item
כעת דורש שהכיתה החדשה יחולו על פריטי רשימת הילדים שלה .
תמונות
- שונה שם
.img-responsive
ל.img-fluid
. - שונה שם
.img-rounded
ל.rounded
- שונה שם
.img-circle
ל.rounded-circle
טבלאות
- כמעט כל המופעים של
>
הבורר הוסרו, כלומר טבלאות מקוננות יירשו סגנונות אוטומטית מהוריהם. זה מפשט מאוד את הבוררים וההתאמות האישיות הפוטנציאליות שלנו. - השם שונה
.table-condensed
לעבור.table-sm
עקביות. - נוספה
.table-inverse
אפשרות חדשה. - נוספו משנה כותרות טבלה:
.thead-default
ו.thead-inverse
. - שמם של מחלקות קונטקסטואליות שינו
.table-
קידומת -. מכאן.active
,.success
,.warning
,.danger
ואל , , ו ..info
_ _.table-active
.table-success
.table-warning
.table-danger
.table-info
טפסים
- הרכיב שהועבר מתאפס
_reboot.scss
לקובץ. - שונה שם
.control-label
ל.col-form-label
. - שונה שם
.input-lg
ול-.input-sm
ו.form-control-lg
,.form-control-sm
בהתאמה. - ירד
.form-group-*
שיעורים לשם הפשטות. השתמש.form-control-*
בשיעורים במקום זאת כעת. - הורד
.help-block
והחליף אותו.form-text
בטקסט עזרה ברמת הבלוק. לטקסט עזרה מוטבע ואפשרויות גמישות אחרות, השתמש במחלקות שירות כמו.text-muted
. - ירד
.radio-inline
ו.checkbox-inline
. - מאוחדים לתוך המעמדות
.checkbox
השונים ..radio
.form-check
.form-check-*
- טפסים אופקיים שעברו שיפוץ:
- הפיל את
.form-horizontal
דרישת הכיתה. .form-group
כבר לא מחיל סגנונות מה-.row
via mixin, ולכן.row
נדרש כעת עבור פריסות רשת אופקיות (למשל,<div class="form-group row">
).- נוספה
.col-form-label
מחלקה חדשה למרכז אנכי של תוויות עם.form-control
s. - התווסף חדש
.form-row
עבור פריסות טפסים קומפקטיות עם מחלקות הרשת (החלף את שלך.row
עבור a.form-row
ועבור).
- הפיל את
- נוספה תמיכה בטפסים מותאמים אישית (עבור תיבות סימון, מכשירי רדיו, בחירות וקלט קבצים).
- הוחלפו
.has-error
,.has-warning
ומחלקות.has-success
באימות טופס HTML5 באמצעות CSS:invalid
ו:valid
-פסאודו-מחלקות. - שונה שם
.form-control-static
ל.form-control-plaintext
.
כפתורים
- שונה שם
.btn-default
ל.btn-secondary
. - הורד את
.btn-xs
המחלקה לחלוטין מכיוון.btn-sm
שהוא יחסית קטן בהרבה משל v3. - תכונת הלחצן הסטטוסית של
button.js
התוסף jQuery בוטלה. זה כולל את השיטות$().button(string)
ו .$().button('reset')
אנו ממליצים להשתמש במעט JavaScript מותאם אישית במקום זאת, שתהיה לך יתרון להתנהג בדיוק כמו שאתה רוצה.- שים לב שהתכונות האחרות של התוסף (תיבות סימון לחצנים, מכשירי רדיו לחצנים, לחצני החלפה בודדת) נשמרו ב-v4.
- שנה את הלחצנים '
[disabled]
לכאשר:disabled
IE9+ תומך:disabled
. עם זאתfieldset[disabled]
הוא עדיין הכרחי מכיוון שערכות שדות מושבתות מקוריות עדיין עומסות ב-IE11 .
קבוצת כפתורים
- שכתב רכיב עם flexbox.
- הוסר
.btn-group-justified
. כתחליף אתה יכול להשתמש<div class="btn-group d-flex" role="group"></div>
בתור עטיפה סביב אלמנטים עם.w-100
. - הורד את
.btn-group-xs
הכיתה לגמרי בגלל הסרה של.btn-xs
. - הוסר מרווח מפורש בין קבוצות לחצנים בסרגלי כלים של כפתורים; השתמש בכלי עזר לשוליים כעת.
- תיעוד משופר לשימוש עם רכיבים אחרים.
תפריטים נפתחים
- עבר מבוררי הורים למחלקות יחיד עבור כל הרכיבים, השינויים וכו'.
- סגנונות נפתחים פשוטים כדי לא לשלוח יותר עם חיצים הפונה כלפי מעלה או מטה המצורפים לתפריט הנפתח.
- ניתן לבנות אפשרויות נפתחות עם
<div>
s או<ul>
s עכשיו. - סגנונות נפתחים וסימון שנבנו מחדש כדי לספק תמיכה קלה
<a>
ומובנית<button>
לפריטים נפתחים ומבוססים. - שונה שם
.divider
ל.dropdown-divider
. - פריטים נפתחים דורשים כעת
.dropdown-item
. - בוררים נפתחים אינם דורשים עוד מפורש
<span class="caret"></span>
; זה מסופק כעת באופן אוטומטי באמצעות CSS::after
ב-.dropdown-toggle
.
מערכת רשת
- נוספה
576px
נקודת עצירה חדשה לרשת כ-sm
, כלומר יש כעת חמש שכבות בסך הכל (xs
,sm
,md
,lg
ו-xl
). - שונה שם של מחלקות שינוי הרשת הרספונסיביות מ-
.col-{breakpoint}-{modifier}-{size}
ל.{modifier}-{breakpoint}-{size}
עבור מחלקות רשת פשוטות יותר. - ירד שיעורי שינוי דחיפה ומשיכה עבור המחלקות החדשות המופעלות על ידי flexbox
order
. לדוגמה, במקום.col-8.push-4
ו.col-4.pull-8
, תשתמש ב-.col-8.order-2
ו.col-4.order-1
. - נוספו מחלקות שירות flexbox עבור מערכת ורכיבים ברשת.
רשימת קבוצות
- שכתב רכיב עם flexbox.
- הוחלף
a.list-group-item
במחלקה מפורשת,.list-group-item-action
, לעיצוב גירסאות קישור וכפתורים של פריטי קבוצת רשימה. - נוספה
.list-group-flush
שיעור לשימוש עם כרטיסים.
מוֹדָלִי
- שכתב רכיב עם flexbox.
- בהתחשב במעבר ל-flexbox, סביר להניח שהיישור של אייקוני הסרה בכותרת נשבר מכיוון שאיננו משתמשים יותר ב-floats. תוכן צף בא קודם, אבל עם flexbox זה כבר לא המקרה. עדכן את אייקוני הדחייה שלך כדי לתקן את הכותרות המודוליות.
- האפשרות
remote
(שיכולה לשמש לטעינה אוטומטית ולהחדרת תוכן חיצוני למודאל)loaded.bs.modal
והאירוע המתאים הוסרו. אנו ממליצים במקום זאת להשתמש בתבניות בצד הלקוח או במסגרת מחייבת נתונים, או להתקשר ל-jQuery.load בעצמך.
Navs
- שכתב רכיב עם flexbox.
- הפיל כמעט את כל
>
הבוררים לעיצוב פשוט יותר באמצעות שיעורים לא מקוננים. - במקום בוררים ספציפיים ל-HTML כמו
.nav > li > a
, אנו משתמשים במחלקות נפרדות עבור.nav
s,.nav-item
s ו-.nav-link
s. זה הופך את ה-HTML שלך לגמיש יותר תוך כדי הרחבה מוגברת.
Navbar
ה-navbar שוכתב לחלוטין ב-flexbox עם תמיכה משופרת ליישור, היענות והתאמה אישית.
- התנהגויות של סרגל ניווט רספונסיבי מוחלות כעת על
.navbar
הכיתה באמצעות ההגדרה הנדרשת.navbar-expand-{breakpoint}
שבה אתה בוחר היכן לכווץ את סרגל הניווט. בעבר זה היה שינוי של פחות משתנה ודרש הידור מחדש. .navbar-default
הוא עכשיו.navbar-light
, אם כי.navbar-dark
נשאר אותו הדבר. אחד מאלה נדרש בכל סרגל ניווט. עם זאת, מחלקות אלה כבר לא קובעותbackground-color
s; במקום זאת הם בעצם משפיעים רק עלcolor
.- סרגלי Navbar דורשים כעת הצהרת רקע מסוג כלשהו. בחר מכלי השירות הרקע שלנו (
.bg-*
) או הגדר משלך עם מחלקות האור/הפוכות למעלה להתאמה אישית מטורפת . - בהינתן סגנונות flexbox, סרגלי ניווט יכולים כעת להשתמש בכלי עזר flexbox לאפשרויות יישור קלות.
.navbar-toggle
הוא עכשיו.navbar-toggler
ויש לו סגנונות שונים וסימון פנימי (לא יותר שלוש<span>
שניות).- הוריד את
.navbar-form
הכיתה לגמרי. זה כבר לא הכרחי; במקום זאת, פשוט השתמש.form-inline
והחל בכלי עזר שוליים לפי הצורך. - סרגלי הניווט אינם כוללים עוד
margin-bottom
אוborder-radius
כברירת מחדל. השתמש בכלי עזר לפי הצורך. - כל הדוגמאות הכוללות סרגלי ניווט עודכנו כך שיכללו סימון חדש.
דִפּוּף
- שכתב רכיב עם flexbox.
- כעת נדרשים שיעורים מפורשים (
.page-item
, ) על צאצאיו של ס '.page-link
.pagination
- הורד את
.pager
הרכיב לחלוטין מכיוון שהוא היה מעט יותר מכפתורי מתאר מותאמים אישית.
פרורי לחם
.breadcrumb-item
כעת נדרש שיעור מפורש, , על צאצאיו של.breadcrumb
ס '
תוויות ותגים
- איחוד
.label
ובצע.badge
משמעויות<label>
מהאלמנט ולפשט רכיבים קשורים. - נוסף
.badge-pill
כמשנה למראה "גלולה" מעוגל. - תגים כבר לא מוצפים אוטומטית בקבוצות רשימה ורכיבים אחרים. כעת נדרשים כיתות שירות לשם כך.
.badge-default
בוטלה.badge-secondary
ונוספה כדי להתאים למחלקות שינוי רכיבים בשימוש במקומות אחרים.
לוחות, תמונות ממוזערות ובארות
ירד לחלוטין עבור רכיב הכרטיס החדש.
פאנלים
.panel
to.card
, נבנה כעת עם flexbox..panel-default
הוסר ואין החלפה..panel-group
הוסר ואין החלפה..card-group
זה לא תחליף, זה שונה..panel-heading
ל.card-header
.panel-title
ל.card-title
. בהתאם למראה הרצוי, ייתכן שתרצה להשתמש גם ברכיבי כותרת או מחלקות (למשל<h3>
,.h3
) או אלמנטים או מחלקות מודגשות (למשל<strong>
,<b>
,.font-weight-bold
). שים לב.card-title
שאמנם שם דומה, מייצר מראה שונה מאשר.panel-title
..panel-body
ל.card-body
.panel-footer
ל.card-footer
.panel-primary
,.panel-success
,.panel-info
,.panel-warning
,.panel-danger
והושמטו עבור.bg-
,.text-
, וכלי.border
עזר שנוצרו$theme-colors
ממפת Sass שלנו.
התקדמות
.progress-bar-*
החליף מחלקות קונטקסטואליות עם.bg-*
כלי עזר. לדוגמה,class="progress-bar progress-bar-danger"
הופך לclass="progress-bar bg-danger"
.- הוחלף
.active
עבור פסי התקדמות מונפשים עם.progress-bar-animated
.
קרוסלה
- שיפץ את כל הרכיב כדי לפשט את העיצוב והסטיילינג. יש לנו פחות סגנונות לעקוף, אינדיקטורים חדשים וסמלים חדשים.
- כל ה-CSS בוטל ושם שונה, מה שמבטיח שכל מחלקה מקבלת את הקדמת
.carousel-
.- עבור פריטי קרוסלה,
.next
,.prev
,.left
,.right
והם עכשיו.carousel-item-next
,.carousel-item-prev
,.carousel-item-left
ו.carousel-item-right
. .item
הוא גם עכשיו.carousel-item
.- עבור פקדים קודמים/הבאים,
.carousel-control.right
והם.carousel-control.left
עכשיו.carousel-control-next
ו.carousel-control-prev
, כלומר הם כבר לא דורשים מחלקה בסיסית ספציפית.
- עבור פריטי קרוסלה,
- הסר את כל הסגנון המגיב, תוך דחיית כלי עזר (למשל, הצגת כיתובים בנקודות מבט מסוימות) וסגנונות מותאמים אישית לפי הצורך.
- עקיפות תמונה שהוסרו עבור תמונות בפריטי קרוסלה, תוך דחיית כלי עזר.
- שיפר את דוגמה הקרוסלה כדי לכלול את הסימון והסגנונות החדשים.
טבלאות
- הוסרה תמיכה בטבלאות מקוננות בסגנון. כל סגנונות הטבלה עוברים כעת בירושה ב-v4 עבור בוררים פשוטים יותר.
- נוספה וריאנט טבלה הפוך.
כלי עזר
- תצוגה, מוסתר ועוד:
- עשה את כלי העזר לתצוגה רספונסיביים (למשל,
.d-none
וd-{sm,md,lg,xl}-none
). - הורד את עיקר
.hidden-*
כלי השירות עבור כלי עזר חדשים לתצוגה . לדוגמה, במקום.hidden-sm-up
, השתמש ב.d-sm-none
. שינה את.hidden-print
שמות השירותים לשימוש בסכימת השמות של כלי השירות לתצוגה. מידע נוסף תחת קטע כלי עזר רספונסיביים בדף זה. - נוספו
.float-{sm,md,lg,xl}-{left,right,none}
מחלקות עבור צפים רספונסיביים והוסרו.pull-left
ומכיוון.pull-right
שהם מיותרים ל-.float-left
ו.float-right
.
- עשה את כלי העזר לתצוגה רספונסיביים (למשל,
- סוּג:
- הוסיפו וריאציות רספונסיביות למחלקות יישור הטקסט שלנו
.text-{sm,md,lg,xl}-{left,center,right}
.
- הוסיפו וריאציות רספונסיביות למחלקות יישור הטקסט שלנו
- יישור ומרווח:
- נוספו כלי עזר חדשים לשוליים מגיבים וריפוד לכל הצדדים, בתוספת קיצורים אנכיים ואופקיים.
- נוסף מטען של כלי עזר ל-flexbox .
- ירד לכיתה
.center-block
החדשה ..mx-auto
- Clearfix updated to drop support for older browser versions.
Vendor prefix mixins
Bootstrap 3’s vendor prefix mixins, which were deprecated in v3.2.0, have been removed in Bootstrap 4. Since we use Autoprefixer, they’re no longer necessary.
Removed the following mixins: animation
, animation-delay
, animation-direction
, animation-duration
, animation-fill-mode
, animation-iteration-count
, animation-name
, animation-timing-function
, backface-visibility
, box-sizing
, content-columns
, hyphens
, opacity
, perspective
, perspective-origin
, rotate
, rotateX
, rotateY
, scale
, scaleX
, scaleY
, skew
, transform-origin
, transition-delay
, transition-duration
, transition-property
, transition-timing-function
, transition-transform
, translate
, translate3d
, user-select
Documentation
Our documentation received an upgrade across the board as well. Here’s the low down:
- We’re still using Jekyll, but we have plugins in the mix:
bugify.rb
is used to efficiently list out the entries on our browser bugs page.example.rb
is a custom fork of the defaulthighlight.rb
plugin, allowing for easier example-code handling.callout.rb
is a similar custom fork of that, but designed for our special docs callouts.- jekyll-toc is used to generate our table of contents.
- All docs content has been rewritten in Markdown (instead of HTML) for easier editing.
- Pages have been reorganized for simpler content and a more approachable hierarchy.
- We moved from regular CSS to SCSS to take full advantage of Bootstrap’s variables, mixins, and more.
Responsive utilities
All @screen-
variables have been removed in v4.0.0. Use the media-breakpoint-up()
, media-breakpoint-down()
, or media-breakpoint-only()
Sass mixins or the $grid-breakpoints
Sass map instead.
Our responsive utility classes have largely been removed in favor of explicit display
utilities.
- The
.hidden
and.show
classes have been removed because they conflicted with jQuery’s$(...).hide()
and$(...).show()
methods. Instead, try toggling the[hidden]
attribute or use inline styles likestyle="display: none;"
andstyle="display: block;"
. - All
.hidden-
classes have been removed, save for the print utilities which have been renamed.- Removed from v3:
.hidden-xs
.hidden-sm
.hidden-md
.hidden-lg
.visible-xs-block
.visible-xs-inline
.visible-xs-inline-block
.visible-sm-block
.visible-sm-inline
.visible-sm-inline-block
.visible-md-block
.visible-md-inline
.visible-md-inline-block
.visible-lg-block
.visible-lg-inline
.visible-lg-inline-block
- Removed from v4 alphas:
.hidden-xs-up
.hidden-xs-down
.hidden-sm-up
.hidden-sm-down
.hidden-md-up
.hidden-md-down
.hidden-lg-up
.hidden-lg-down
- Removed from v3:
- Print utilities no longer start with
.hidden-
or.visible-
, but with.d-print-
.- Old names:
.visible-print-block
,.visible-print-inline
,.visible-print-inline-block
,.hidden-print
- שיעורים חדשים:
.d-print-block
,.d-print-inline
,.d-print-inline-block
,.d-print-none
- Old names:
במקום להשתמש במחלקות מפורשות .visible-*
, אתה הופך אלמנט לגלוי פשוט על ידי אי הסתרתו בגודל המסך הזה. אתה יכול לשלב .d-*-none
מחלקה אחת עם מחלקה אחת .d-*-block
כדי להציג אלמנט רק במרווח נתון של גדלי מסך (למשל .d-none.d-md-block.d-xl-none
מציג את האלמנט רק במכשירים בינוניים וגדולים).
שים לב שהשינויים בנקודות השבירה של הרשת ב-v4 פירושם שתצטרך להגדיל נקודת שבירה אחת כדי להשיג את אותן תוצאות. מחלקות השירות הרספונסיביות החדשות אינן מנסות להכיל מקרים פחות נפוצים שבהם לא ניתן לבטא את הנראות של אלמנט כטווח רציף אחד של גדלי יציאות תצוגה; במקום זאת תצטרך להשתמש ב-CSS מותאם אישית במקרים כאלה.