Migrimi në v4
Bootstrap 4 është një rishkrim i madh i të gjithë projektit. Ndryshimet më të dukshme janë përmbledhur më poshtë, të ndjekura nga ndryshime më specifike në komponentët përkatës.
Ndryshime të qëndrueshme
Duke kaluar nga Beta 3 në versionin tonë të qëndrueshëm v4.x, nuk ka ndryshime të thyera, por ka disa ndryshime të dukshme.
Shtypje
-
Rregulloi shërbimet e printimit të prishur. Më parë, përdorimi i një
.d-print-*
klase do të anulonte papritur çdo.d-*
klasë tjetër. Tani, ato përputhen me shërbimet tona të tjera të ekranit dhe zbatohen vetëm për atë media (@media print
). -
Zgjeroi shërbimet e disponueshme të ekranit të printimit për t'iu përshtatur shërbimeve të tjera. Beta 3 dhe më të vjetër kishte vetëm
block
,inline-block
,inline
, dhenone
. V4 i qëndrueshëm u shtuaflex
,inline-flex
,table
,table-row
dhetable-cell
. -
Rregulloi paraqitjen e pamjes paraprake të printimit nëpër shfletues me stile të reja printimi që specifikojnë
@page
size
.
Ndryshimet Beta 3
Ndërsa Beta 2 pa pjesën më të madhe të ndryshimeve tona kryesore gjatë fazës beta, por ne ende kemi disa që duheshin adresuar në versionin Beta 3. Këto ndryshime zbatohen nëse po përditësoni në Beta 3 nga Beta 2 ose ndonjë version më i vjetër i Bootstrap.
Të ndryshme
$thumbnail-transition
U hoq ndryshorja e papërdorur . Ne nuk po kalonim asgjë, kështu që ishte thjesht kod shtesë.- Paketa npm nuk përfshin më skedarë përveç skedarëve tanë burimor dhe dist; nëse jeni mbështetur në to dhe po ekzekutoni skriptet tona përmes
node_modules
dosjes, duhet të përshtatni rrjedhën tuaj të punës.
Formularët
-
Rishkruan kutitë e kontrollit të personalizuar dhe të paracaktuar dhe radiot. Tani, të dyja kanë strukturë të përputhshme HTML (e jashtme
<div>
me vëllanë ose vëllanë<input>
dhe<label>
) dhe të njëjtat stile paraqitjeje (parazgjedhje e grumbulluar, në linjë me klasën e modifikuesit). Kjo na lejon të stilojmë etiketën bazuar në gjendjen e hyrjes, duke thjeshtuar mbështetjen përdisabled
atributin (që më parë kërkonte një klasë prind) dhe duke mbështetur më mirë vërtetimin e formularit tonë.Si pjesë e kësaj, ne kemi ndryshuar CSS për menaxhimin e shumëfishta
background-image
në kutitë e kontrollit të formularit të personalizuar dhe radiot. Më parë, elementi i hequr tani.custom-control-indicator
kishte ngjyrën e sfondit, gradientin dhe ikonën SVG. Përshtatja e gradientit të sfondit nënkuptonte zëvendësimin e të gjithë atyre sa herë që duhej të ndryshonit vetëm një. Tani, ne kemi.custom-control-label::before
për mbushjen dhe gradientin dhe.custom-control-label::after
trajton ikonën.Për të bërë një kontroll të personalizuar në linjë, shtoni
.custom-control-inline
. -
Zgjedhësi i përditësuar për grupet e butonave të bazuar në hyrje. Në vend të
[data-toggle="buttons"] { }
stilit dhe sjelljes, ne përdorimdata
atributin vetëm për sjelljet JS dhe mbështetemi në një.btn-group-toggle
klasë të re për stilimin. -
U hoq
.col-form-legend
në favor të një përmirësimi pak.col-form-label
. Në këtë mënyrë.col-form-label-sm
dhe.col-form-label-lg
mund të përdoret në<legend>
elemente me lehtësi. -
Inputet e skedarëve të personalizuar morën një ndryshim në
$custom-file-text
variablin e tyre Sass. Nuk është më një hartë e mbivendosur Sass dhe tani fuqizon vetëm një varg -Browse
butoni pasi ai tani është i vetmi pseudoelement i krijuar nga Sass-i ynë. TekstiChoose file
tani vjen nga.custom-file-label
.
Grupet hyrëse
-
Shtesat e grupit të hyrjes tani janë specifike për vendosjen e tyre në lidhje me një hyrje. Ne kemi lënë
.input-group-addon
dhe.input-group-btn
për dy klasa të reja,.input-group-prepend
dhe.input-group-append
. Ju duhet të përdorni në mënyrë eksplicite një shtojcë ose një prepend tani, duke thjeshtuar pjesën më të madhe të CSS-së tonë. Brenda një shtojce ose prependi, vendosni butonat tuaj siç do të ekzistonin diku tjetër, por mbështillni tekstin në.input-group-text
. -
Stilet e vlefshmërisë tani mbështeten, siç janë të dhëna të shumta (megjithëse mund të vërtetoni vetëm një hyrje për grup).
-
Klasat e përmasave duhet të jenë në
.input-group
elementet e formës mëmë dhe jo individuale.
Ndryshimet Beta 2
Ndërsa në beta, ne synojmë të mos kemi ndryshime të thyera. Megjithatë, gjërat nuk shkojnë gjithmonë siç është planifikuar. Më poshtë janë ndryshimet kryesore që duhen mbajtur parasysh kur lëvizni nga Beta 1 në Beta 2.
Thyerje
- U hoq
$badge-color
ndryshorja dhe përdorimi i saj në.badge
. Ne përdorim një funksion kontrasti ngjyrash për të zgjedhur njëcolor
bazuar nëbackground-color
, kështu që ndryshorja është e panevojshme. grayscale()
Funksioni u riemërua nëgray()
për të shmangur prishjen e konfliktit megrayscale
filtrin vendas CSS.- Riemërtuar
.table-inverse
,.thead-inverse
, dhe.thead-default
në.*-dark
dhe.*-light
, duke u përshtatur me skemat tona të ngjyrave të përdorura diku tjetër. - Tabelat e përgjegjshme tani gjenerojnë klasa për çdo pikë ndërprerjeje të rrjetit. Kjo shkëputet nga Beta 1 në atë që
.table-responsive
ju keni përdorur është më shumë si.table-responsive-md
. Tani mund të përdorni.table-responsive
ose.table-responsive-{sm,md,lg,xl}
sipas nevojës. - Mbështetja e Bower u hoq pasi menaxheri i paketave është zhvlerësuar për alternativa (p.sh., Yarn ose npm). Shih bower/bower#2298 për detaje.
- Bootstrap kërkon ende jQuery 1.9.1 ose më të lartë, por ju këshillojmë të përdorni versionin 3.x pasi shfletuesit e mbështetur të v3.x janë ata që mbështet Bootstrap plus v3.x ka disa rregullime sigurie.
.form-control-label
U hoq klasa e papërdorur . Nëse e keni përdorur këtë klasë, ajo ishte dublikatë e.col-form-label
klasës që përqendronte vertikalisht a<label>
-në me hyrjen e lidhur me të në paraqitjet e formës horizontale.- Ndryshoi
color-yiq
nga një mixin që përfshin veçorinëcolor
në një funksion që kthen një vlerë, duke ju lejuar ta përdorni atë për çdo pronë CSS. Për shembull, në vend tëcolor-yiq(#000)
, ju do të shkruanicolor: color-yiq(#000);
.
Pikat kryesore
- Prezantoi
pointer-events
përdorim të ri në modalet. Pjesa e jashtme.modal-dialog
kalon nëpër ngjarje mepointer-events: none
përpunimin e klikimeve të personalizuara (duke bërë të mundur që thjesht të dëgjohet.modal-backdrop
për çdo klikim), dhe më pas e kundërvepron atë për atë aktuale.modal-content
mepointer-events: auto
.
Përmbledhje
Këtu janë artikujt e mëdhenj të biletave që do të dëshironi të keni parasysh kur kaloni nga v3 në v4.
Mbështetja e shfletuesit
- U hoq mbështetja për IE8, IE9 dhe iOS 6. V4 tani është vetëm IE10+ dhe iOS 7+. Për faqet që kanë nevojë për njërën prej tyre, përdorni v3.
- U shtua mbështetje zyrtare për shfletuesin dhe WebView të Android v5.0 Lollipop. Versionet e mëparshme të shfletuesit Android dhe WebView mbeten të mbështetura jozyrtarisht.
Ndryshimet globale
- Flexbox është aktivizuar si parazgjedhje. Në përgjithësi, kjo do të thotë një largim nga floats dhe më shumë nëpër komponentët tanë.
- Kaloi nga Less në Sass për skedarët tanë burim CSS.
- Kaloi nga
px
nërem
si njësia jonë kryesore CSS, megjithëse pikselët përdoren ende për pyetjet e medias dhe sjelljen e rrjetit pasi portat e pamjes së pajisjes nuk ndikohen nga madhësia e llojit. - Madhësia globale e shkronjave u rrit nga
14px
në16px
. - Rinovoi nivelet e rrjetit për të shtuar një opsion të pestë (duke adresuar pajisjet më të vogla në
576px
dhe poshtë) dhe hoqi-xs
infiksin nga ato klasa. Shembull:.col-6.col-sm-4.col-md-3
. - Zëvendësoi temën e veçantë opsionale me opsione të konfigurueshme nëpërmjet variablave SCSS (p.sh.,
$enable-gradients: true
). - Ndërtimi i sistemit është riparuar për të përdorur një seri skriptesh npm në vend të Grunt. Shihni
package.json
për të gjitha skriptet, ose projektin tonë readme për nevojat e zhvillimit lokal. - Përdorimi jo reagues i Bootstrap nuk mbështetet më.
- Ka hequr dorë nga Customizer online në favor të dokumentacionit më të gjerë të konfigurimit dhe ndërtimeve të personalizuara.
- U shtuan dhjetëra klasa të reja të shërbimeve për çiftet e zakonshme të vlerës së pronës CSS dhe shkurtoret e ndarjes margjinale/mbushëse.
Sistemi i rrjetit
- U zhvendos në flexbox.
- Mbështetje e shtuar për flexbox në përzierjet e rrjetit dhe klasat e paracaktuara.
- Si pjesë e flexbox, përfshin mbështetje për klasat e shtrirjes vertikale dhe horizontale.
- Emrat e klasave të rrjetit të përditësuar dhe një nivel i ri i rrjetit.
- Shtuar një
sm
nivel të ri të rrjetit më poshtë768px
për kontroll më të grimcuar. Tani kemixs
,sm
,md
,lg
, dhexl
. Kjo do të thotë gjithashtu se çdo nivel është ngritur në një nivel (kështu që.col-md-6
në v3 tani është.col-lg-6
në v4). xs
Klasat e rrjetit janë modifikuar për të mos kërkuar që infiksi të përfaqësojë më saktë se ato fillojnë të aplikojnë stile nëmin-width: 0
dhe jo një vlerë të caktuar pixel. Në vend të.col-xs-6
, është tani.col-6
. Të gjitha nivelet e tjera të rrjetit kërkojnë infiksin (p.sh.,sm
).
- Shtuar një
- Madhësitë e rrjetit, përzierjet dhe variablat e përditësuara.
- Ulluqet e rrjetës tani kanë një hartë Sass, në mënyrë që të mund të specifikoni gjerësi specifike të ulluqeve në çdo pikë ndërprerjeje.
- Përzierjet e rrjetit të përditësuar për të përdorur një përzierje
make-col-ready
përgatitore dhe amake-col
për të vendosur madhësinë e kolonësflex
dhe për madhësinë individuale.max-width
- Ndryshoi pikat e ndërprerjes së pyetjeve të mediave të sistemit të rrjetit dhe gjerësinë e kontejnerëve për të llogaritur nivelin e ri të rrjetit dhe për të siguruar që kolonat të jenë të ndarë në mënyrë të barabartë me
12
gjerësinë e tyre maksimale. - Pikat e ndërprerjes së rrjetit dhe gjerësia e kontejnerëve tani trajtohen nëpërmjet hartave Sass (
$grid-breakpoints
dhe$container-max-widths
) në vend të një numri të vogël variablash të veçantë. Këto zëvendësojnë@screen-*
plotësisht variablat dhe ju lejojnë të personalizoni plotësisht nivelet e rrjetit. - Pyetjet në media kanë ndryshuar gjithashtu. Në vend që të përsërisim deklaratat tona të pyetjeve në media me të njëjtën vlerë çdo herë, tani kemi
@include media-breakpoint-up/down/only
. Tani, në vend që të shkruani@media (min-width: @screen-sm-min) { ... }
, mund të shkruani@include media-breakpoint-up(sm) { ... }
.
Komponentët
- Panelet, miniaturat dhe puset e hedhura për një komponent të ri gjithëpërfshirës, kartat .
- U hoq fonti i ikonës Glyphicons. Nëse keni nevojë për ikona, disa opsione janë:
- versioni në rrjedhën e sipërme të Glyphicons
- Oktikonet
- Fonti i mrekullueshëm
- Shikoni faqen Zgjero për një listë alternativash. Keni sugjerime shtesë? Ju lutemi hapni një çështje ose PR.
- U hoq shtojca Affix jQuery.
- Ne rekomandojmë përdorimin
position: sticky
në vend të tyre. Shikoni hyrjen HTML5 Ju lutemi për detaje dhe rekomandime specifike të polifillimit. Një sugjerim është përdorimi i një@supports
rregulli për zbatimin e tij (p.sh.,@supports (position: sticky) { ... }
) - Nëse po përdorni Affix për të aplikuar stile shtesë, jo-
position
stile, polifillet mund të mos mbështesin rastin tuaj të përdorimit. Një opsion për përdorime të tilla është biblioteka e palës së tretë ScrollPos-Styler .
- Ne rekomandojmë përdorimin
- U hoq komponenti pager pasi në thelb ishin butona paksa të personalizuar.
- Rifaktoroi pothuajse të gjithë komponentët për të përdorur më shumë përzgjedhës të klasave të pavendosura në vend të përzgjedhësve tepër specifikë për fëmijë.
Sipas komponentit
Kjo listë thekson ndryshimet kryesore sipas komponentëve midis v3.xx dhe v4.0.0.
Rindizni
E re për Bootstrap 4 është Reboot , një fletë stili e re që bazohet në Normalize me stilet tona të rivendosjes disi të mendimit. Përzgjedhësit që shfaqen në këtë skedar përdorin vetëm elementë - këtu nuk ka klasa. Kjo izolon stilet tona të rivendosjes nga stilet tona përbërëse për një qasje më modulare. Disa nga rivendosjet më të rëndësishme që përfshin ky janë box-sizing: border-box
ndryshimi, kalimi nga em
në rem
njësi në shumë elementë, stilet e lidhjeve dhe shumë rivendosje të elementeve të formës.
Tipografia
- Zhvendosën të gjitha
.text-
shërbimet në_utilities.scss
skedar. - U hoq
.page-header
pasi stilet e tij mund të aplikohen nëpërmjet shërbimeve. .dl-horizontal
është rrëzuar..row
Në vend të kësaj, përdorni<dl>
dhe përdorni klasat e kolonave të rrjetit (ose miksat) në saj<dt>
dhe<dd>
fëmijët.- Blloqe të ridizajnuara, duke lëvizur stilet e tyre nga
<blockquote>
elementi në një klasë të vetme,.blockquote
. U hoq.blockquote-reverse
modifikuesi për shërbimet e tekstit. .list-inline
tani kërkon që artikujt e listës së fëmijëve të tij të kenë.list-inline-item
klasën e re të aplikuar për ta.
Imazhet
- Riemërtuar
.img-responsive
në.img-fluid
. - Riemërtuar
.img-rounded
në.rounded
- Riemërtuar
.img-circle
në.rounded-circle
Tabelat
- Pothuajse të gjitha rastet e
>
përzgjedhësit janë hequr, që do të thotë se tabelat e mbivendosura tani do të trashëgojnë automatikisht stilet nga prindërit e tyre. Kjo thjeshton shumë përzgjedhësit tanë dhe personalizimet e mundshme. - Riemëruar
.table-condensed
në.table-sm
për qëndrueshmëri. - U shtua një
.table-inverse
opsion i ri. - U shtuan modifikuesit e kokës së tabelës:
.thead-default
dhe.thead-inverse
. - Klasat kontekstuale u riemëruan për të pasur një
.table-
parashtesë -. Prandaj.active
,.success
,.warning
,.danger
dhe.info
për.table-active
,.table-success
,.table-warning
,.table-danger
dhe.table-info
.
Formularët
- Elementi i zhvendosur rivendoset në
_reboot.scss
skedar. - Riemërtuar
.control-label
në.col-form-label
. - Riemëruar
.input-lg
dhe.input-sm
për.form-control-lg
dhe.form-control-sm
, respektivisht. - I hoqi
.form-group-*
orët mësimore për hir të thjeshtësisë. Përdorni.form-control-*
klasat në vend të kësaj tani. - U hoq
.help-block
dhe u zëvendësua me.form-text
tekstin e ndihmës në nivel blloku. Për tekstin e ndihmës në linjë dhe opsione të tjera fleksibël, përdorni klasat e shërbimeve si.text-muted
. - U rrëzua
.radio-inline
dhe.checkbox-inline
. - Të konsoliduara
.checkbox
dhe.radio
në klasa.form-check
të ndryshme ..form-check-*
- Format horizontale të rishikuara:
- U hoq nga
.form-horizontal
kërkesa e klasës. .form-group
nuk aplikon më stile nga.row
via mixin, kështu.row
që tani kërkohet për paraqitjet horizontale të rrjetës (p.sh.,<div class="form-group row">
).- U shtua një
.col-form-label
klasë e re në etiketat në qendër vertikalisht me.form-control
s. - U shtua e re
.form-row
për paraqitjet kompakte të formave me klasat e rrjetit (ndërroni.row
me një.form-row
dhe shkoni).
- U hoq nga
- Mbështetje e shtuar e formularëve të personalizuar (për kutitë e kontrollit, radiot, përzgjedhjet dhe hyrjet e skedarëve).
- Zëvendësuar
.has-error
,.has-warning
, dhe.has-success
klasa me vërtetimin e formularit HTML5 nëpërmjet CSS:invalid
dhe:valid
pseudo-klasave. - Riemërtuar
.form-control-static
në.form-control-plaintext
.
Butonat
- Riemërtuar
.btn-default
në.btn-secondary
. - E hoqi
.btn-xs
plotësisht klasën pasi.btn-sm
është proporcionalisht shumë më e vogël se ajo e v3. - Funksioni i butonit të gjendjes së
button.js
shtojcës jQuery është hequr. Kjo përfshin$().button(string)
dhe$().button('reset')
metodat. Ne ju këshillojmë të përdorni një pjesë të vogël JavaScript të personalizuar në vend të kësaj, e cila do të ketë përfitimin e sjelljes pikërisht ashtu siç dëshironi.- Vini re se veçoritë e tjera të shtojcës (kutitë e kontrollit të butonave, radiot e butonave, butonat me një ndryshim) janë ruajtur në v4.
- Ndrysho butonat
[disabled]
në:disabled
siç mbështet IE9+:disabled
. Megjithatëfieldset[disabled]
, është ende e nevojshme sepse grupet e fushave me aftësi të kufizuara vendase janë ende me probleme në IE11 .
Grupi i butonave
- Rishkrua komponentin me flexbox.
- U hoq
.btn-group-justified
. Si zëvendësim mund të përdorni<div class="btn-group d-flex" role="group"></div>
si mbështjellës rreth elementeve me.w-100
. - U hoq nga
.btn-group-xs
klasa tërësisht duke pasur parasysh heqjen e.btn-xs
. - U hoq hapësira e qartë midis grupeve të butonave në shiritat e veglave të butonave; përdorni shërbimet e marzhit tani.
- Dokumentacion i përmirësuar për përdorim me komponentë të tjerë.
Dropdowns
- Kaloi nga përzgjedhësit prindër në klasat singulare për të gjithë komponentët, modifikuesit, etj.
- Stilet e thjeshtuara me zbritje për të mos transportuar më me shigjeta me drejtim lart ose poshtë të bashkangjitur në menynë rënëse.
- Dropdowns mund të ndërtohen me
<div>
s ose<ul>
s tani. - Stilet dhe shënimi i rindërtuar me zbritje për të ofruar mbështetje të thjeshtë dhe të integruar për artikujt me listë të bazuar
<a>
dhe të<button>
bazuar. - Riemërtuar
.divider
në.dropdown-divider
. - Artikujt në dropdown tani kërkojnë
.dropdown-item
. - Ndryshimet në dropdown nuk kërkojnë më një të qartë
<span class="caret"></span>
; kjo tani ofrohet automatikisht nëpërmjet CSS-ve::after
në.dropdown-toggle
.
Sistemi i rrjetit
- U shtua një pikë e re
576px
e ndarjes së rrjetit sism
, që do të thotë se tani ka pesë nivele gjithsej (xs
,sm
,md
,lg
, dhexl
). - Riemërtoi klasat e modifikuesve të rrjetit të përgjegjshëm nga
.col-{breakpoint}-{modifier}-{size}
në.{modifier}-{breakpoint}-{size}
për klasa më të thjeshta të rrjetit. - Klasat e modifikuesve të shtytjes dhe tërheqjes u hodhën për klasat e reja me fuqi flexbox
order
. Për shembull, në vend të.col-8.push-4
dhe.col-4.pull-8
, do të përdorni.col-8.order-2
dhe.col-4.order-1
. - U shtuan klasat e shërbimeve flexbox për sistemin dhe komponentët e rrjetit.
Listoni grupet
- Rishkrua komponentin me flexbox.
- Zëvendësuar
a.list-group-item
me një klasë eksplicite,.list-group-item-action
, për versionet e stilimit të lidhjeve dhe butonave të artikujve të grupit të listës. - Klasa e shtuar
.list-group-flush
për përdorim me karta.
Modal
- Rishkrua komponentin me flexbox.
- Duke pasur parasysh lëvizjen në flexbox, rreshtimi i ikonave të heqjes dorë në kokë ka të ngjarë të prishet pasi nuk po përdorim më float. Përmbajtja e lëvizshme vjen e para, por me flexbox nuk është më rasti. Përditësoni ikonat tuaja të heqjes që do të vijnë pas titujve modalë për t'u rregulluar.
- Opsioni
remote
(i cili mund të përdoret për të ngarkuar dhe injektuar automatikisht përmbajtje të jashtme në një modal) dheloaded.bs.modal
ngjarja përkatëse u hoqën. Në vend të kësaj, ne rekomandojmë përdorimin e shabllonit nga ana e klientit ose një kornizë të lidhjes së të dhënave, ose të telefononi vetë jQuery.load .
Navs
- Rishkrua komponentin me flexbox.
- U hodhën pothuajse të gjithë
>
përzgjedhësit për stilim më të thjeshtë nëpërmjet klasave të pavendosura. - Në vend të përzgjedhësve specifikë HTML si
.nav > li > a
, ne përdorim klasa të veçanta për.nav
s,.nav-item
s dhe.nav-link
s. Kjo e bën HTML-në tuaj më fleksibël, ndërkohë që sjell zgjerim të shtuar.
Navbar
Shiriti i navigimit është rishkruar tërësisht në flexbox me mbështetje të përmirësuar për shtrirjen, reagimin dhe personalizimin.
- Sjelljet e përgjegjshme të shiritit të navigimit aplikohen tani në
.navbar
klasë nëpërmjet të kërkuarit.navbar-expand-{breakpoint}
, ku ju zgjidhni se ku të palosni shiritin e navigimit. Më parë ky ishte një modifikim i më pak ndryshore dhe kërkonte ripërpilim. .navbar-default
është tani.navbar-light
, megjithëse.navbar-dark
mbetet i njëjtë. Një nga këto kërkohet në çdo shirit navigimi. Megjithatë, këto klasa nuk vendosin mëbackground-color
s; në vend të kësaj ato në thelb vetëm ndikojnëcolor
.- Shiritat e navigimit tani kërkojnë një lloj deklarate të sfondit. Zgjidhni nga shërbimet tona të sfondit (
.bg-*
) ose caktoni tuajin me klasat e lehta/të kundërta të mësipërme për personalizim të çmendur . - Duke pasur parasysh stilet flexbox, shiritat e navigimit tani mund të përdorin shërbimet e flexbox për opsione të thjeshta të shtrirjes.
.navbar-toggle
është tani.navbar-toggler
dhe ka stile të ndryshme dhe shënim të brendshëm (jo më shumë tre<span>
s).- E hoqi
.navbar-form
fare klase. Nuk është më e nevojshme; në vend të kësaj, thjesht përdorni.form-inline
dhe aplikoni shërbimet e marzhit sipas nevojës. - Shiritat e navigimit nuk përfshijnë më
margin-bottom
oseborder-radius
si parazgjedhje. Përdorni shërbimet komunale sipas nevojës. - Të gjithë shembujt që paraqesin shirita navigimi janë përditësuar për të përfshirë shënimin e ri.
Faqezim
- Rishkrua komponentin me flexbox.
- Klasat eksplicite (
.page-item
,.page-link
) tani kërkohen për pasardhësit e.pagination
s - Komponenti u hoq
.pager
tërësisht pasi ishte pak më shumë se butonat e konturit të personalizuar.
Therrime buke
.breadcrumb-item
Tani kërkohet një klasë eksplicite, , për pasardhësit e.breadcrumb
s
Etiketat dhe distinktivët
- Konsoliduar
.label
dhe.badge
për të zbërthyer nga<label>
elementi dhe për të thjeshtuar komponentët e lidhur. - Shtuar
.badge-pill
si modifikues për pamjen e rrumbullakosur të "pilulës". - Distinktivët nuk qarkullojnë më automatikisht në grupet e listave dhe komponentët e tjerë. Tani kërkohen klasa të shërbimeve për këtë.
.badge-default
është hequr dhe.badge-secondary
shtuar për të përputhur klasat e modifikuesve të komponentëve të përdorura diku tjetër.
Panele, miniaturë dhe puse
U hoq tërësisht për komponentin e ri të kartës.
Panele
.panel
në.card
, tani e ndërtuar me flexbox..panel-default
hequr dhe pa zëvendësim..panel-group
hequr dhe pa zëvendësim..card-group
nuk eshte zevendesim, eshte ndryshe..panel-heading
te.card-header
.panel-title
te.card-title
. Në varësi të pamjes së dëshiruar, mund të dëshironi të përdorni edhe elementë ose klasa të titullit (p.sh.<h3>
,.h3
) ose elementë ose klasa të theksuara (p.sh.<strong>
,<b>
,.font-weight-bold
). Vini re se.card-title
, ndërsa emërtohet në mënyrë të ngjashme, prodhon një pamje të ndryshme nga.panel-title
..panel-body
te.card-body
.panel-footer
te.card-footer
.panel-primary
,.panel-success
,.panel-info
,.panel-warning
, dhe.panel-danger
janë hequr për.bg-
,.text-
, dhe.border
shërbimet e krijuara nga$theme-colors
harta jonë Sass.
Përparim
.progress-bar-*
Zëvendësoi klasat kontekstuale me.bg-*
shërbimet komunale. Për shembull,class="progress-bar progress-bar-danger"
bëhetclass="progress-bar bg-danger"
.- Zëvendësuar
.active
për shiritat e progresit të animuar me.progress-bar-animated
.
Karuseli
- Riparoi të gjithë komponentin për të thjeshtuar dizajnin dhe stilin. Ne kemi më pak stile për të anashkaluar, tregues të rinj dhe ikona të reja.
- E gjithë CSS është e pavendosur dhe riemëruar, duke siguruar që secila klasë të jetë e prefiksuar me
.carousel-
.- Për artikujt karusel,
.next
,.prev
,.left
, dhe.right
janë tani.carousel-item-next
,.carousel-item-prev
,.carousel-item-left
, dhe.carousel-item-right
. .item
është gjithashtu tani.carousel-item
.- Për kontrollet e mëparshme/të ardhshme,
.carousel-control.right
dhe.carousel-control.left
janë tani.carousel-control-next
dhe.carousel-control-prev
, që do të thotë se nuk kërkojnë më një klasë bazë specifike.
- Për artikujt karusel,
- U hoqën të gjitha stilet reaguese, duke iu shtyrë programeve (p.sh. shfaqja e titrave në porta të caktuara të shikimit) dhe stilet e personalizuara sipas nevojës.
- Shfuqizimi i imazhit të hequr për imazhet në artikujt e karuselit, duke u shtyrë te shërbimet.
- Përshtati shembullin Carousel për të përfshirë shënimin dhe stilet e reja.
Tabelat
- U hoq mbështetja për tabelat e vendosura me stil. Të gjitha stilet e tabelave tani janë trashëguar në v4 për përzgjedhës më të thjeshtë.
- Varianti i tabelës së kundërt u shtua.
Shërbimet komunale
- Shfaq, të fshehura dhe më shumë:
- Shërbimet e ekranit i bënë të përgjegjshme (p.sh.,
.d-none
dhed-{sm,md,lg,xl}-none
). - U hoqi pjesa më e madhe e
.hidden-*
shërbimeve për shërbimet e reja të ekranit . Për shembull, në vend të.hidden-sm-up
, përdorni.d-sm-none
. U riemërtoi.hidden-print
shërbimet për të përdorur skemën e emërtimit të programit të ekranit. Më shumë informacion nën seksionin e shërbimeve të përgjegjshme të kësaj faqeje. - Klasa të shtuara
.float-{sm,md,lg,xl}-{left,right,none}
për notat reaguese dhe të hequra.pull-left
dhe.pull-right
meqenëse ato janë të tepërta për.float-left
dhe.float-right
.
- Shërbimet e ekranit i bënë të përgjegjshme (p.sh.,
- Lloji:
- Shtuar variacione të përgjegjshme në klasat tona të shtrirjes së tekstit
.text-{sm,md,lg,xl}-{left,center,right}
.
- Shtuar variacione të përgjegjshme në klasat tona të shtrirjes së tekstit
- Shtrirja dhe hapësira:
- U shtuan programe të reja reaguese për margjina dhe mbushje për të gjitha anët, plus stenografi vertikale dhe horizontale.
- U shtua ngarkesa me varkë e shërbimeve të flexbox .
- U largua
.center-block
për.mx-auto
klasën e re.
- Clearfix u përditësua për të hequr mbështetjen për versionet më të vjetra të shfletuesit.
Përzierjet e prefiksit të shitësit
Përzierjet e prefiksave të shitësit të Bootstrap 3 , të cilat u zhvlerësuan në v3.2.0, janë hequr në Bootstrap 4. Meqenëse përdorim Autoprefixer , ato nuk janë më të nevojshme.
U hoqën përzierjet e mëposhtme : 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
Dokumentacioni
Dokumentacioni ynë mori një përmirësim në të gjithë bordin gjithashtu. Këtu është niveli i ulët:
- Ne jemi ende duke përdorur Jekyll, por kemi shtojca në përzierje:
bugify.rb
përdoret për të renditur në mënyrë efikase hyrjet në faqen tonë të gabimeve të shfletuesit .example.rb
është një fork i personalizuar ihighlight.rb
shtojcës së paracaktuar, duke lejuar trajtimin më të lehtë të kodit të shembullit.callout.rb
është një pirun i ngjashëm i personalizuar i kësaj, por i krijuar për thirrjet tona speciale të dokumenteve.- jekyll-toc përdoret për të gjeneruar tabelën tonë të përmbajtjes.
- E gjithë përmbajtja e dokumenteve është rishkruar në Markdown (në vend të HTML) për modifikim më të lehtë.
- Faqet janë riorganizuar për përmbajtje më të thjeshtë dhe një hierarki më të arritshme.
- Ne kaluam nga CSS e rregullt në SCSS për të përfituar plotësisht nga variablat, miksat dhe më shumë të Bootstrap.
Shërbimet e përgjegjshme
Të gjitha @screen-
variablat janë hequr në v4.0.0. Përdorni përzierjet media-breakpoint-up()
, media-breakpoint-down()
, ose media-breakpoint-only()
Sass ose $grid-breakpoints
hartën Sass.
Klasat tona të përgjegjshme të shërbimeve janë hequr kryesisht në favor të display
shërbimeve të qarta.
- Klasat
.hidden
dhe.show
janë hequr sepse bien ndesh me jQuery$(...).hide()
dhe$(...).show()
metodat. Në vend të kësaj, provoni të ndryshoni[hidden]
atributin ose përdorni stile inline sistyle="display: none;"
dhestyle="display: block;"
. - Të gjitha
.hidden-
klasat janë hequr, me përjashtim të shërbimeve të printimit që janë riemërtuar.- Hequr nga 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
- U hoq nga alfat 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
- Hequr nga v3:
- Shërbimet e printimit nuk fillojnë më me
.hidden-
ose.visible-
, por me.d-print-
.- Emrat e vjetër:
.visible-print-block
,.visible-print-inline
,.visible-print-inline-block
,.hidden-print
- Klasat e reja:
.d-print-block
,.d-print-inline
,.d-print-inline-block
,.d-print-none
- Emrat e vjetër:
Në vend që të përdorni klasa të qarta .visible-*
, ju e bëni një element të dukshëm thjesht duke mos e fshehur atë në atë madhësi ekrani. Ju mund të kombinoni një .d-*-none
klasë me një .d-*-block
klasë për të shfaqur një element vetëm në një interval të caktuar të madhësive të ekranit (p.sh. .d-none.d-md-block.d-xl-none
tregon elementin vetëm në pajisje të mesme dhe të mëdha).
Vini re se ndryshimet në pikat e ndërprerjes së rrjetit në v4 do të thotë që do t'ju duhet të shkoni një pikë më të madhe për të arritur të njëjtat rezultate. Klasat e reja të shërbimeve reaguese nuk përpiqen të akomodojnë raste më pak të zakonshme ku dukshmëria e një elementi nuk mund të shprehet si një gamë e vetme e afërt e madhësive të portave të pamjes; në vend të kësaj do t'ju duhet të përdorni CSS të personalizuar në raste të tilla.