მიგრაცია v4-ზე
Bootstrap 4 არის მთელი პროექტის მთავარი გადაწერა. ყველაზე შესამჩნევი ცვლილებები შეჯამებულია ქვემოთ, რასაც მოჰყვება უფრო კონკრეტული ცვლილებები შესაბამის კომპონენტებში.
სტაბილური ცვლილებები
Beta 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-მა დაინახა ჩვენი მნიშვნელოვანი ცვლილებები ბეტა ფაზაში, მაგრამ ჩვენ მაინც გვაქვს რამდენიმე, რომელთა მოგვარებაც საჭიროა Beta 3-ის გამოშვებაში. ეს ცვლილებები მოქმედებს, თუ თქვენ განაახლებთ Beta 3-ზე Beta 2-დან ან Bootstrap-ის რომელიმე ძველი ვერსიიდან.
სხვადასხვა
- ამოღებულია გამოუყენებელი
$thumbnail-transition
ცვლადი. ჩვენ არ ვცვლიდით არაფერს, ამიტომ ეს უბრალოდ დამატებითი კოდი იყო. - npm პაკეტი აღარ შეიცავს სხვა ფაილებს ჩვენი წყაროს და დისტანციური ფაილების გარდა; თუ თქვენ ეყრდნობოდით მათ და მართავდით ჩვენს სკრიპტებს
node_modules
საქაღალდის მეშვეობით, უნდა მოერგოთ თქვენი სამუშაო მიმდინარეობას.
ფორმები
-
ხელახლა ჩაწერა როგორც მორგებული, ისე ნაგულისხმევი ყუთები და რადიოები. ახლა, ორივეს აქვს შესატყვისი HTML სტრუქტურა (გარე
<div>
და ძმასთან<input>
და<label>
) და განლაგების იგივე სტილები (დაწყობილი ნაგულისხმევი, მოდიფიკატორის კლასში ჩასმული). ეს გვაძლევს საშუალებას შევქმნათ ლეიბლის სტილი შეყვანის მდგომარეობიდან გამომდინარე, გაამარტივებსdisabled
ატრიბუტის მხარდაჭერას (ადრე მოითხოვდა მშობლის კლასს) და უკეთ მხარს ვუჭერთ ჩვენი ფორმის ვალიდაციას.როგორც ნაწილი, ჩვენ შევცვალეთ CSS მრავალი
background-image
s-ის სამართავად მორგებული ფორმის ველებსა და რადიოებზე. ადრე, ახლა ამოღებულ.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
. თქვენ აშკარად უნდა გამოიყენოთ დანართი ან პრეპენდი ახლა, რაც ამარტივებს ჩვენი CSS-ის დიდ ნაწილს. დანართში ან წინდებულში, მოათავსეთ თქვენი ღილაკები ისე, როგორც ისინი არსებობდნენ სადმე სხვაგან, მაგრამ გადაიტანეთ ტექსტი.input-group-text
. -
ვალიდაციის სტილები ახლა მხარდაჭერილია, ისევე როგორც მრავალი შეყვანა (თუმცა ჯგუფში მხოლოდ ერთი შეყვანის დადასტურება შეგიძლიათ).
-
ზომის კლასები უნდა იყოს მშობელი
.input-group
და არა ცალკეული ფორმის ელემენტები.
ბეტა 2 ცვლილებები
ბეტაში ყოფნისას, ჩვენ მიზნად ისახავს არ გვქონდეს მნიშვნელოვანი ცვლილებები. თუმცა, ყველაფერი ყოველთვის ისე არ მიდის, როგორც დაგეგმილი იყო. ქვემოთ მოცემულია მნიშვნელოვანი ცვლილებები, რომლებიც უნდა გაითვალისწინოთ ბეტა 1-დან ბეტა 2-ზე გადასვლისას.
არღვევს
- ამოღებულია
$badge-color
ცვლადი და მისი გამოყენება.badge
. ჩვენ ვიყენებთ ფერის კონტრასტის ფუნქციას, რომ ავირჩიოთ ზეcolor
დაფუძნებულიbackground-color
, ამიტომ ცვლადი არასაჭიროა. grayscale()
ფუნქცია გადაერქვა ,gray()
რათა თავიდან აიცილოს კონფლიქტი CSS-ის მშობლიურgrayscale
ფილტრთან.- გადაერქვა
.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.
- დამატებულია ოფიციალური მხარდაჭერა Android v5.0 Lollipop-ის ბრაუზერისა და WebView-ისთვის. Android ბრაუზერის და WebView-ის ადრინდელი ვერსიები რჩება მხოლოდ არაოფიციალურად მხარდაჭერილი.
გლობალური ცვლილებები
- Flexbox ჩართულია ნაგულისხმევად. ზოგადად, ეს ნიშნავს მოძრავი და სხვა კომპონენტებისგან დაშორებას.
- გადაერთო Less- დან Sass- ზე ჩვენი წყარო CSS ფაილებისთვის.
- გადართულია
px
ჩვენსrem
ძირითად CSS ერთეულზე, თუმცა პიქსელები კვლავ გამოიყენება მედია მოთხოვნებისა და ბადის ქცევისთვის, რადგან მოწყობილობის ხედებზე გავლენას არ ახდენს ტიპის ზომა. - გლობალური შრიფტის ზომა გაიზარდა
14px
დან16px
. - განახლდა ქსელის იარუსები მეხუთე ვარიანტის დასამატებლად (მიმართვა პატარა მოწყობილობებზე
576px
ქვემოთ და ქვემოთ) და ამოიღო-xs
ინფიქსი ამ კლასებიდან. მაგალითი.col-6.col-sm-4.col-md-3
:. - ჩაანაცვლა ცალკეული არასავალდებულო თემა კონფიგურირებადი ოფციებით SCSS ცვლადების საშუალებით (მაგ.,
$enable-gradients: true
). - Build სისტემა კაპიტალურად გადაკეთდა, რათა გამოიყენოს npm სკრიპტების სერია Grunt-ის ნაცვლად. იხილეთ
package.json
ყველა სკრიპტი, ან ჩვენი პროექტის readme ადგილობრივი განვითარების საჭიროებებისთვის. - Bootstrap-ის უპასუხო გამოყენება აღარ არის მხარდაჭერილი.
- ჩამოაგდეს ონლაინ Customizer უფრო ვრცელი დაყენების დოკუმენტაციისა და მორგებული კონსტრუქციების სასარგებლოდ.
- დამატებულია ათობით ახალი კომუნალური კლასი საერთო CSS თვისება-მნიშვნელობის წყვილებისთვის და მინდვრის/დაფარვის ინტერვალის მალსახმობებისთვის.
ბადის სისტემა
- გადავიდა flexbox-ში.
- დაემატა flexbox-ის მხარდაჭერა ქსელის მიქსებსა და წინასწარ განსაზღვრულ კლასებში.
- როგორც 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) { ... }
) - თუ იყენებდით Affix-ს დამატებითი,
position
არასტილების გამოსაყენებლად, პოლიფილები შეიძლება არ იყოს მხარდაჭერილი თქვენი გამოყენების შემთხვევაში. ასეთი გამოყენების ერთ-ერთი ვარიანტია მესამე მხარის ScrollPos-Styler ბიბლიოთეკა.
- ჩვენ გირჩევთ გამოიყენოთ
- ჩამოაგდეს პეიჯერის კომპონენტი , რადგან ის არსებითად ოდნავ მორგებული ღილაკები იყო.
- რეფაქტორირებულია თითქმის ყველა კომპონენტი , რათა გამოიყენოს კლასების ზედმეტად სპეციფიური სელექტორების ნაცვლად უფრო მეტი არაბუდებული კლასების ამომრჩეველი.
კომპონენტის მიხედვით
ეს სია ხაზს უსვამს ძირითად ცვლილებებს კომპონენტის მიხედვით v3.xx-სა და v4.0.0-ს შორის.
გადატვირთვა
Bootstrap 4-ში ახალია Reboot , ახალი სტილის ფურცელი, რომელიც ეფუძნება ნორმალიზებას ჩვენი, გარკვეულწილად, შეხედულებისამებრ გადატვირთვის სტილებით. ამ ფაილში გამოჩენილი სელექტორები მხოლოდ ელემენტებს იყენებენ — აქ კლასები არ არის. ეს იზოლირებს ჩვენს გადატვირთვის სტილებს ჩვენი კომპონენტის სტილებისაგან უფრო მოდულური მიდგომისთვის. ზოგიერთი ყველაზე მნიშვნელოვანი გადატვირთვა, რომელიც მოიცავს, არის box-sizing: border-box
ცვლილება, ერთეულებზე em
გადასვლა rem
ბევრ ელემენტზე, ბმულის სტილი და მრავალი ფორმის ელემენტის გადატვირთვა.
ტიპოგრაფია
- გადაიტანეს ყველა
.text-
კომუნალური პროგრამა_utilities.scss
ფაილში. - დაეცა
.page-header
, რადგან მისი სტილის გამოყენება შესაძლებელია კომუნალური საშუალებების საშუალებით. .dl-horizontal
ჩამოაგდეს. ამის ნაცვლად, გამოიყენეთ.row
და<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.- jQuery მოდულის სახელმწიფო ღილაკის ფუნქცია გაუქმებულია.
button.js
ეს მოიცავს$().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}
მარტივი ბადის კლასებისთვის. - ჩამოაგდეს push and pull მოდიფიკატორის კლასები ახალი 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-ზე გადასვლის გათვალისწინებით, სათაურში გაუქმების ხატულების გასწორება სავარაუდოდ გატეხილია, რადგან ჩვენ აღარ ვიყენებთ float-ებს. Floated კონტენტი პირველ ადგილზეა, მაგრამ flexbox-ში ეს ასე აღარ არის. განაახლეთ თქვენი უარყოფის ხატები, რათა მოდალური სათაურები გამოსწორდეს.
- ოფცია (
remote
რომელიც შეიძლებოდა გამოეყენებინათ გარე შინაარსის ავტომატურად ჩასატვირთად და მოდალში ჩასართავად) და შესაბამისიloaded.bs.modal
მოვლენა წაიშალა. ამის ნაცვლად, გირჩევთ გამოიყენოთ კლიენტის მხარის შაბლონი ან მონაცემთა დამაკავშირებელი ჩარჩო, ან თავად დარეკოთ jQuery.load .
ნავები
- გადაწერილი კომპონენტი flexbox-ით.
- ჩამოაგდეს თითქმის ყველა
>
ამომრჩევი უფრო მარტივი სტილისთვის, არა ჩადგმული კლასების მეშვეობით. - HTML-სპეციფიკური სელექტორების ნაცვლად, როგორიცაა
.nav > li > a
, ჩვენ ვიყენებთ ცალკეულ კლასებს.nav
s,.nav-item
s და.nav-link
s-სთვის. ეს თქვენს HTML-ს უფრო მოქნილს ხდის, ხოლო გაფართოების გაზრდას.
ნავიბარი
Navbar მთლიანად გადაწერილია flexbox-ში გასწორების, რეაგირების და პერსონალიზაციის გაუმჯობესებული მხარდაჭერით.
- საპასუხო ნავიბარის ქცევები ახლა გამოიყენება
.navbar
კლასზე საჭიროების.navbar-expand-{breakpoint}
მეშვეობით, სადაც ირჩევთ, სად უნდა ჩაკეცოთ ნავიბარი. ადრე ეს იყო Less ცვლადის მოდიფიკაცია და საჭიროებდა ხელახლა კომპილაციას. .navbar-default
არის ახლა.navbar-light
, თუმცა.navbar-dark
იგივე რჩება. ერთი მათგანი საჭიროა თითოეულ ნავიგბარზე. თუმცა, ეს კლასები აღარ ადგენენbackground-color
ს; სამაგიეროდ ისინი არსებითად მხოლოდ გავლენას ახდენენcolor
.- Navbars ახლა მოითხოვს რაიმე სახის ფონის დეკლარაციას. აირჩიეთ ჩვენი ფონური პროგრამებიდან (
.bg-*
) ან დააყენეთ საკუთარი ზემოაღნიშნული მსუბუქი/შებრუნებული კლასებით შეშლილი პერსონალიზაციისთვის . - flexbox-ის სტილის გათვალისწინებით, navbar-ებს ახლა შეუძლიათ გამოიყენონ flexbox-ის კომუნალური პროგრამები მარტივი გასწორების ვარიანტებისთვის.
.navbar-toggle
არის ახლა.navbar-toggler
და აქვს სხვადასხვა სტილი და შიდა მარკირება (არაუმეტეს სამი<span>
წმ)..navbar-form
კლასი მთლიანად დატოვა . აღარ არის საჭირო; ამის ნაცვლად, უბრალოდ გამოიყენეთ.form-inline
და გამოიყენეთ მარჟის უტილიტები საჭიროებისამებრ.- Navbars აღარ შეიცავს
margin-bottom
ანborder-radius
ნაგულისხმევად. საჭიროების შემთხვევაში გამოიყენეთ კომუნალური საშუალებები. - ყველა მაგალითი, რომელშიც წარმოდგენილია ნავი ზოლები, განახლდა, რათა შეიცავდეს ახალ მარკირებას.
პაგირება
- გადაწერილი კომპონენტი flexbox-ით.
- ექსპლიციტური კლასები (
.page-item
,.page-link
) ახლა საჭიროა.pagination
s- ის შთამომავლებზე - კომპონენტი მთლიანად ჩამოაგდეს,
.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
are now.carousel-control-next
and.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}
კლასები პასუხისმგებელი float-ებისთვის და წაშლილია.pull-left
და.pull-right
რადგან ისინი ზედმეტია.float-left
და.float-right
.
- ჩვენების უტილიტები რეაგირებენ (მაგ.
- ტიპი:
- დაემატა საპასუხო ვარიაციები ჩვენს ტექსტის გასწორების კლასებს
.text-{sm,md,lg,xl}-{left,center,right}
.
- დაემატა საპასუხო ვარიაციები ჩვენს ტექსტის გასწორების კლასებს
- გასწორება და დაშორება:
- დამატებულია ახალი საპასუხო მარჟა და შიგთავსი ყველა მხარისთვის, პლუს ვერტიკალური და ჰორიზონტალური სტენოგრამები.
- დამატებულია flexbox-ის კომუნალური საშუალებების ნავი .
- დაეცა
.center-block
ახალი.mx-auto
კლასისთვის.
- Clearfix განახლებულია ბრაუზერის ძველი ვერსიების მხარდაჭერის შესამცირებლად.
გამყიდველის პრეფიქსის მიქსები
Bootstrap 3-ის გამყიდველი პრეფიქსის მიქსები, რომლებიც მოძველებული იყო v3.2.0-ში, ამოღებულია Bootstrap 4-ში. ვინაიდან ჩვენ ვიყენებთ Autoprefixer-ს , ისინი აღარ არის საჭირო.
ამოღებულია შემდეგი მიქსინები : 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
დოკუმენტაცია
ჩვენმა დოკუმენტაციამ ასევე მიიღო განახლება მთელს დაფაზე. აი დაბალი ქვემოთ:
- ჩვენ ჯერ კიდევ ვიყენებთ Jekyll-ს, მაგრამ ჩვენ გვაქვს დანამატები:
bugify.rb
გამოიყენება ჩვენი ბრაუზერის შეცდომების გვერდზე ჩანაწერების ეფექტურად ჩამოსათვლელად.example.rb
არის ნაგულისხმევიhighlight.rb
დანამატის მორგებული ჩანგალი, რომელიც საშუალებას იძლევა უფრო მარტივი მაგალითის კოდის დამუშავება.callout.rb
არის ამის მსგავსი საბაჟო ჩანგალი, მაგრამ შექმნილია ჩვენი სპეციალური დოკუმენტებისთვის.- jekyll-toc გამოიყენება ჩვენი სარჩევის შესაქმნელად.
- ყველა დოკუმენტის შინაარსი გადაწერილია Markdown-ში (HTML-ის ნაცვლად) უფრო ადვილი რედაქტირებისთვის.
- გვერდების რეორგანიზაცია მოხდა უფრო მარტივი შინაარსისა და უფრო ხელმისაწვდომი იერარქიისთვის.
- ჩვენ გადავედით ჩვეულებრივი CSS-დან SCSS-ზე, რათა სრულად გამოგვეყენებინა Bootstrap-ის ცვლადები, მიქსინები და სხვა.
საპასუხო კომუნალური საშუალებები
ყველა @screen-
ცვლადი წაშლილია v4.0.0-ში. გამოიყენეთ media-breakpoint-up()
, media-breakpoint-down()
, ან media-breakpoint-only()
Sass მიქსები ან $grid-breakpoints
Sass რუკა.
ჩვენი საპასუხო კომუნალური კლასები ძირითადად ამოღებულია აშკარა display
კომუნალური პროგრამების სასარგებლოდ.
- და კლასები წაიშალა, რადგან ისინი ეწინააღმდეგებოდა jQuery-ს და
.hidden
მეთოდებს . ამის ნაცვლად, სცადეთ ატრიბუტის გადართვა ან გამოიყენეთ შიდა სტილები, როგორიცაა და ..show
$(...).hide()
$(...).show()
[hidden]
style="display: none;"
style="display: block;"
- ყველა
.hidden-
კლასი წაშლილია, გარდა ბეჭდვის უტილიტებისა, რომლებსაც სახელი გადაერქვათ.- წაშლილია 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
- ამოღებულია v4 ალფაებიდან:
.hidden-xs-up
.hidden-xs-down
.hidden-sm-up
.hidden-sm-down
.hidden-md-up
.hidden-md-down
.hidden-lg-up
.hidden-lg-down
- წაშლილია v3-დან:
- ბეჭდვის კომუნალური პროგრამები აღარ იწყება
.hidden-
ან.visible-
, არამედ.d-print-
.- ძველი სახელები:
.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
- ძველი სახელები:
იმის ნაცვლად, რომ გამოიყენოთ აშკარა .visible-*
კლასები, თქვენ ელემენტს ხილულს აქცევთ, უბრალოდ არ მალავთ მას ამ ეკრანის ზომაზე. თქვენ შეგიძლიათ დააკავშიროთ ერთი .d-*-none
კლასი ერთ .d-*-block
კლასთან, რათა აჩვენოთ ელემენტი მხოლოდ ეკრანის ზომის მოცემულ ინტერვალზე (მაგ .d-none.d-md-block.d-xl-none
. აჩვენებს ელემენტს მხოლოდ საშუალო და დიდ მოწყობილობებზე).
გაითვალისწინეთ, რომ v4-ში ბადის წყვეტის წერტილების ცვლილებები ნიშნავს, რომ ერთი და იგივე შედეგის მისაღწევად დაგჭირდებათ ერთი წყვეტის წერტილის გაზრდა. ახალი საპასუხო უტილიტა კლასები არ ცდილობენ დაიცვან ნაკლებად გავრცელებული შემთხვევები, როდესაც ელემენტის ხილვადობა არ შეიძლება იყოს გამოხატული, როგორც ხედის ზომის ერთი მიმდებარე დიაპაზონი; ამის ნაცვლად, თქვენ დაგჭირდებათ პერსონალური CSS-ის გამოყენება ასეთ შემთხვევებში.