Migreren naar v4
Bootstrap 4 is een belangrijke herschrijving van het hele project. De meest opvallende wijzigingen worden hieronder samengevat, gevolgd door meer specifieke wijzigingen in relevante onderdelen.
Stabiele veranderingen
Bij de overgang van Beta 3 naar onze stabiele v4.x-release, zijn er geen belangrijke wijzigingen, maar er zijn enkele opmerkelijke wijzigingen.
Afdrukken
-
Vaste kapotte afdrukhulpprogramma's. Voorheen zou het gebruik van een
.d-print-*
klasse onverwacht elke andere.d-*
klasse overrulen. Nu komen ze overeen met onze andere weergavehulpprogramma's en zijn ze alleen van toepassing op die media (@media print
). -
Uitgebreide beschikbare hulpprogramma's voor afdrukweergave zodat ze overeenkomen met andere hulpprogramma's. Beta 3 en ouder hadden alleen
block
,inline-block
,inline
, ennone
. Stabiele v4 toegevoegdflex
,inline-flex
,table
,table-row
, entable-cell
. -
Vaste weergave van afdrukvoorbeelden in browsers met nieuwe afdrukstijlen die specificeren
@page
size
.
Bèta 3 wijzigingen
Hoewel Beta 2 het grootste deel van onze belangrijkste veranderingen zag tijdens de bètafase, hebben we er nog een paar die moeten worden aangepakt in de Beta 3-release. Deze wijzigingen zijn van toepassing als u bijwerkt naar bèta 3 van bèta 2 of een oudere versie van Bootstrap.
Diversen
- De ongebruikte
$thumbnail-transition
variabele verwijderd. We waren niets aan het overzetten, dus het was gewoon extra code. - Het npm-pakket bevat geen andere bestanden dan onze bron- en dist-bestanden; als u erop vertrouwde en onze scripts via de
node_modules
map uitvoerde, moet u uw workflow aanpassen.
Formulieren
-
Herschreef zowel aangepaste als standaard selectievakjes en radio's. Nu hebben beide een overeenkomende HTML-structuur (buiten
<div>
met broer of zus<input>
en<label>
) en dezelfde lay-outstijlen (standaard gestapeld, inline met modificatieklasse). Hierdoor kunnen we het label opmaken op basis van de status van de invoer, waardoor de ondersteuning voor hetdisabled
attribuut wordt vereenvoudigd (waarvoor voorheen een bovenliggende klasse nodig was) en onze formuliervalidatie beter wordt ondersteund.Als onderdeel hiervan hebben we de CSS gewijzigd voor het beheren van meerdere programma
background-image
's op aangepaste formulierselectievakjes en radio's. Voorheen had het nu verwijderde.custom-control-indicator
element de achtergrondkleur, het verloop en het SVG-pictogram. Het aanpassen van het achtergrondverloop betekende dat je ze allemaal moest vervangen telkens als je er maar één moest veranderen. Nu hebben we.custom-control-label::before
voor de vulling en het verloop en.custom-control-label::after
het pictogram.Voeg toe om een aangepaste controle inline uit te voeren
.custom-control-inline
. -
Bijgewerkte selector voor op invoer gebaseerde knopgroepen. In plaats van
[data-toggle="buttons"] { }
voor stijl en gedrag gebruiken we hetdata
attribuut alleen voor JS-gedrag en vertrouwen we op een nieuwe.btn-group-toggle
klasse voor styling. -
Verwijderd
.col-form-legend
ten gunste van een licht verbeterde.col-form-label
. Op deze manier.col-form-label-sm
en.col-form-label-lg
gemakkelijk op<legend>
elementen te gebruiken. -
Aangepaste bestandsinvoer heeft een wijziging in hun
$custom-file-text
Sass-variabele ontvangen. Het is niet langer een geneste Sass-kaart en voedt nu slechts één string - deBrowse
knop, want dat is nu het enige pseudo-element dat door onze Sass wordt gegenereerd. DeChoose file
tekst komt nu uit de.custom-file-label
.
Invoergroepen
-
Add-ons voor invoergroepen zijn nu specifiek voor hun plaatsing ten opzichte van een invoer. We hebben
.input-group-addon
en.input-group-btn
voor twee nieuwe klassen laten vallen,.input-group-prepend
en.input-group-append
. Je moet nu expliciet een append of prepend gebruiken, wat veel van onze CSS vereenvoudigt. Plaats binnen een append of prepend uw knoppen zoals ze ergens anders zouden bestaan, maar laat de tekst in.input-group-text
. -
Validatiestijlen worden nu ondersteund, evenals meerdere invoer (hoewel u slechts één invoer per groep kunt valideren).
-
Grootteklassen moeten op het bovenliggende
.input-group
element staan en niet op de afzonderlijke formulierelementen.
Bèta 2 wijzigingen
Terwijl we in bèta zijn, streven we ernaar om geen belangrijke wijzigingen door te voeren. Echter, dingen gaan niet altijd zoals gepland. Hieronder staan de belangrijkste wijzigingen waarmee u rekening moet houden bij het overstappen van bèta 1 naar bèta 2.
Breken
- Variabele
$badge-color
en het gebruik ervan op.badge
. We gebruiken een kleurcontrastfunctie om a te kiezen opcolor
basis van debackground-color
, dus de variabele is niet nodig. - Functie hernoemd
grayscale()
naar omgray()
te voorkomen dat conflicten met het oorspronkelijke CSSgrayscale
-filter worden verbroken. - Hernoemd
.table-inverse
,.thead-inverse
, en.thead-default
naar.*-dark
en.*-light
, passend bij onze kleurenschema's die elders worden gebruikt. - Responsieve tabellen genereren nu klassen voor elk rasteronderbrekingspunt. Dit wijkt af van Beta 1 in die zin dat de versie die
.table-responsive
je hebt gebruikt meer lijkt op.table-responsive-md
. U kunt nu.table-responsive
of.table-responsive-{sm,md,lg,xl}
naar behoefte gebruiken. - Bower-ondersteuning is weggevallen omdat de pakketbeheerder is beëindigd voor alternatieven (bijv. Garen of npm). Zie prieel/prieel#2298 voor details.
- Bootstrap vereist nog steeds jQuery 1.9.1 of hoger, maar u wordt aangeraden versie 3.x te gebruiken aangezien de ondersteunde browsers van v3.x degene zijn die Bootstrap ondersteunt en v3.x heeft enkele beveiligingsoplossingen.
- De ongebruikte
.form-control-label
klasse verwijderd. Als je gebruik hebt gemaakt van deze klasse, was het een duplicaat van de.col-form-label
klasse die a verticaal centreerde<label>
met de bijbehorende invoer in horizontale formulierlay-outs. - Veranderde de
color-yiq
van een mixin die decolor
eigenschap bevatte in een functie die een waarde retourneert, zodat u deze voor elke CSS-eigenschap kunt gebruiken. In plaats vancolor-yiq(#000)
zou je bijvoorbeeld schrijvencolor: color-yiq(#000);
.
Hoogtepunten
- Geïntroduceerd nieuw
pointer-events
gebruik op modals. De buitenste.modal-dialog
passeert gebeurtenissen metpointer-events: none
voor aangepaste klikverwerking (waardoor het mogelijk is om gewoon naar.modal-backdrop
klikken te luisteren) en gaat het vervolgens tegen voor de werkelijke.modal-content
metpointer-events: auto
.
Overzicht
Dit zijn de grote ticketitems waar u op moet letten bij het overstappen van v3 naar v4.
Browserondersteuning
- Ondersteuning voor IE8, IE9 en iOS 6 is weggevallen. v4 is nu alleen nog IE10+ en iOS 7+. Voor sites die een van beide nodig hebben, gebruikt u v3.
- Officiële ondersteuning toegevoegd voor Android v5.0 Lollipop's Browser en WebView. Eerdere versies van de Android Browser en WebView blijven alleen onofficieel ondersteund.
Globale veranderingen
- Flexbox is standaard ingeschakeld. In het algemeen betekent dit een verschuiving weg van drijvers en meer over onze componenten.
- Overgeschakeld van Less naar Sass voor onze bron-CSS-bestanden.
- Overgeschakeld van
px
naarrem
als onze primaire CSS-eenheid, hoewel pixels nog steeds worden gebruikt voor mediaquery's en rastergedrag, aangezien apparaatviewports niet worden beïnvloed door de typegrootte. - Globale lettergrootte verhoogd van
14px
naar16px
. - Vernieuwde rasterlagen om een vijfde optie toe te voegen (voor kleinere apparaten op
576px
en onder) en de-xs
infix uit die klassen verwijderd. Voorbeeld:.col-6.col-sm-4.col-md-3
. - Het afzonderlijke optionele thema vervangen door configureerbare opties via SCSS-variabelen (bijv.
$enable-gradients: true
). - Bouwsysteem gereviseerd om een reeks npm-scripts te gebruiken in plaats van Grunt. Zie
package.json
voor alle scripts, of ons project readme voor lokale ontwikkelingsbehoeften. - Niet-reagerend gebruik van Bootstrap wordt niet langer ondersteund.
- De online Customizer laten vallen ten gunste van uitgebreidere installatiedocumentatie en aangepaste builds.
- Tientallen nieuwe hulpprogramma-klassen toegevoegd voor veelvoorkomende CSS-eigenschap-waardeparen en sneltoetsen voor marge/opvulafstand.
Grid-systeem
- Verplaatst naar flexbox.
- Ondersteuning toegevoegd voor flexbox in de rastermixins en vooraf gedefinieerde klassen.
- Als onderdeel van flexbox, inclusief ondersteuning voor verticale en horizontale uitlijningsklassen.
- Bijgewerkte namen van rasterklassen en een nieuwe rasterlaag.
- Hieronder een nieuwe
sm
rasterlaag toegevoegd768px
voor meer gedetailleerde controle. We hebben nuxs
,sm
,md
,lg
enxl
. Dit betekent ook dat elke laag een niveau omhoog is gegaan (dus.col-md-6
in v3 is nu.col-lg-6
in v4). xs
rasterklassen zijn aangepast zodat het tussenvoegsel niet meer nodig is om nauwkeuriger weer te geven dat ze stijlen gaan toepassen opmin-width: 0
en niet op een ingestelde pixelwaarde. In plaats van.col-xs-6
, is het nu.col-6
. Alle andere rasterlagen vereisen het tussenvoegsel (bijv.sm
).
- Hieronder een nieuwe
- Bijgewerkte rastergroottes, mixins en variabelen.
- Rastergoten hebben nu een Sass-kaart, zodat u bij elk breekpunt specifieke gootbreedten kunt opgeven.
- Bijgewerkte rastermixins om een
make-col-ready
prep-mixin te gebruiken en eenmake-col
om deflex
enmax-width
voor individuele kolomafmetingen in te stellen. - Gewijzigde mediaquery-onderbrekingspunten van het rastersysteem en containerbreedten om rekening te houden met de nieuwe rasterlaag en ervoor te zorgen dat kolommen gelijkelijk deelbaar zijn door
12
hun maximale breedte. - Rasteronderbrekingspunten en containerbreedten worden nu afgehandeld via Sass-kaarten (
$grid-breakpoints
en$container-max-widths
) in plaats van een handvol afzonderlijke variabelen. Deze vervangen de@screen-*
variabelen volledig en stellen u in staat de rasterlagen volledig aan te passen. - Mediaquery's zijn ook veranderd. In plaats van onze mediaquerydeclaraties elke keer met dezelfde waarde te herhalen, hebben we nu
@include media-breakpoint-up/down/only
. Nu, in plaats van te schrijven@media (min-width: @screen-sm-min) { ... }
, kun je schrijven@include media-breakpoint-up(sm) { ... }
.
Componenten
- Panelen, miniaturen en putten voor een nieuwe allesomvattende component, kaarten .
- Het lettertype van het Glyphicons-pictogram is verwijderd. Als u pictogrammen nodig heeft, zijn enkele opties:
- de upstream-versie van Glyphicons
- Octicons
- Lettertype geweldig
- Zie de pagina Verlengen voor een lijst met alternatieven. Heeft u aanvullende suggesties? Open een probleem of PR.
- De plug-in Affix jQuery laten vallen.
- We raden aan om
position: sticky
in plaats daarvan te gebruiken. Zie het item HTML5 Please voor details en specifieke aanbevelingen voor polyfill. Een suggestie is om een@supports
regel te gebruiken om deze te implementeren (bijv.@supports (position: sticky) { ... }
) - Als u Affix zou gebruiken om aanvullende, niet
position
-stijlen toe te passen, ondersteunen de polyfills uw gebruik mogelijk niet. Een optie voor dergelijk gebruik is de ScrollPos-Styler- bibliotheek van derden .
- We raden aan om
- De pager-component laten vallen omdat het in wezen licht aangepaste knoppen waren.
- Bijna alle componenten geherstructureerd om meer niet-geneste klassenkiezers te gebruiken in plaats van overspecifieke kinderkiezers.
Per onderdeel
Deze lijst belicht de belangrijkste wijzigingen per component tussen v3.xx en v4.0.0.
Opnieuw opstarten
Nieuw bij Bootstrap 4 is de Reboot , een nieuwe stylesheet die voortbouwt op Normalize met onze eigen ietwat eigenzinnige reset-stijlen. Selectors die in dit bestand verschijnen, gebruiken alleen elementen - er zijn hier geen klassen. Dit isoleert onze resetstijlen van onze componentstijlen voor een meer modulaire aanpak. Enkele van de belangrijkste resets die dit omvat, zijn de box-sizing: border-box
wijziging, het verplaatsen van em
naar rem
eenheden op veel elementen, linkstijlen en veel resets van formulierelementen.
Typografie
.text-
Alle hulpprogramma's naar het_utilities.scss
bestand verplaatst .- Dropped
.page-header
omdat de stijlen ervan kunnen worden toegepast via hulpprogramma's. .dl-horizontal
is gevallen. Gebruik in plaats daarvan.row
op<dl>
en gebruik rasterkolomklassen (of mixins) op zijn<dt>
en<dd>
kinderen.- Opnieuw ontworpen blockquotes, waarbij hun stijlen van het
<blockquote>
element naar een enkele klasse zijn verplaatst,.blockquote
. De.blockquote-reverse
modifier voor teksthulpprogramma's verwijderd. .list-inline
vereist nu dat op de onderliggende lijstitems de nieuwe.list-inline-item
klasse wordt toegepast.
Afbeeldingen
- Hernoemd
.img-responsive
naar.img-fluid
. - hernoemd
.img-rounded
naar.rounded
- hernoemd
.img-circle
naar.rounded-circle
Tafels
- Bijna alle instanties van de
>
selector zijn verwijderd, wat betekent dat geneste tabellen nu automatisch stijlen overnemen van hun ouders. Dit vereenvoudigt onze selectors en mogelijke aanpassingen aanzienlijk. - Hernoemd
.table-condensed
naar.table-sm
voor consistentie. - Een nieuwe
.table-inverse
optie toegevoegd. - Tabelkopmodificaties toegevoegd:
.thead-default
en.thead-inverse
. - Hernoemde contextuele klassen om een
.table-
-prefix te hebben. Vandaar.active
,.success
,.warning
,.danger
en.info
naar.table-active
,.table-success
,.table-warning
,.table-danger
en.table-info
.
Formulieren
- Verplaatst element wordt teruggezet naar het
_reboot.scss
bestand. - Hernoemd
.control-label
naar.col-form-label
. - Hernoemd
.input-lg
en.input-sm
naar.form-control-lg
en.form-control-sm
, respectievelijk. - Klassen
.form-group-*
laten vallen omwille van de eenvoud. Gebruik.form-control-*
nu klassen in plaats daarvan. - Weggelaten
.help-block
en vervangen door.form-text
voor helptekst op blokniveau. Gebruik voor inline helptekst en andere flexibele opties hulpprogrammaklassen zoals.text-muted
. - Gedropt
.radio-inline
en.checkbox-inline
. - Geconsolideerd
.checkbox
en.radio
in.form-check
en de verschillende.form-check-*
klassen. - Horizontale vormen gereviseerd:
- Klassenvereiste laten vallen
.form-horizontal
. .form-group
past niet langer stijlen van de.row
via mixin toe, dus.row
is nu vereist voor horizontale rasterlay-outs (bijv.<div class="form-group row">
).- Nieuwe
.col-form-label
klasse toegevoegd om labels verticaal te centreren met.form-control
s. - Nieuw toegevoegd
.form-row
voor compacte vormlay-outs met de rasterklassen (verwissel je.row
voor een.form-row
en ga).
- Klassenvereiste laten vallen
- Ondersteuning voor aangepaste formulieren toegevoegd (voor selectievakjes, radio's, selecties en bestandsinvoer).
.has-error
,.has-warning
, en klassen vervangen.has-success
door HTML5-formuliervalidatie via CSS'en:invalid
en:valid
pseudo-klassen.- Hernoemd
.form-control-static
naar.form-control-plaintext
.
Toetsen
- Hernoemd
.btn-default
naar.btn-secondary
. - De
.btn-xs
klasse volledig laten vallen, omdat deze.btn-sm
verhoudingsgewijs veel kleiner is dan die van v3. - De stateful-knopfunctie van de
button.js
jQuery-plug-in is verwijderd. Dit omvat de$().button(string)
en$().button('reset')
methoden. We raden aan om in plaats daarvan een klein beetje aangepast JavaScript te gebruiken, wat het voordeel heeft dat je je precies zo gedraagt als je wilt.- Merk op dat de andere functies van de plug-in (aanvinkvakjes voor knoppen, knopradio's, enkele schakelknoppen) zijn behouden in v4.
- Verander knoppen '
[disabled]
naar:disabled
als IE9+ ondersteunt:disabled
. Hetfieldset[disabled]
is echter nog steeds nodig omdat native uitgeschakelde velden nog steeds bugs bevatten in IE11 .
Knop groep
- Component herschreven met flexbox.
- verwijderd
.btn-group-justified
. Als vervanging kun je<div class="btn-group d-flex" role="group"></div>
als wikkel rond elementen gebruiken met.w-100
. - De
.btn-group-xs
klas volledig laten vallen vanwege het verwijderen van.btn-xs
. - Expliciete afstand tussen knopgroepen in knoppenbalken verwijderd; gebruik nu margehulpprogramma's.
- Verbeterde documentatie voor gebruik met andere componenten.
Vervolgkeuzelijsten
- Overgeschakeld van bovenliggende selectors naar enkelvoudige klassen voor alle componenten, modifiers, enz.
- Vereenvoudigde dropdown-stijlen om niet langer te worden verzonden met naar boven of naar beneden gerichte pijlen aan het vervolgkeuzemenu.
- Dropdowns kunnen nu met
<div>
s of<ul>
s worden gebouwd. - Opnieuw opgebouwde dropdown-stijlen en markeringen om eenvoudige, ingebouwde ondersteuning te bieden voor
<a>
en<button>
gebaseerde dropdown-items. - Hernoemd
.divider
naar.dropdown-divider
. - Dropdown-items vereisen nu
.dropdown-item
. - Dropdown-schakelaars vereisen niet langer een expliciete
<span class="caret"></span>
; dit wordt nu automatisch aangeboden via CSS'en::after
op.dropdown-toggle
.
Grid-systeem
- Een nieuw
576px
rasteronderbrekingspunt toegevoegd alssm
, wat betekent dat er nu in totaal vijf niveaus zijn (xs
,sm
,md
,lg
, enxl
). - De responsieve rastermodificatieklassen hernoemd van
.col-{breakpoint}-{modifier}-{size}
naar.{modifier}-{breakpoint}-{size}
voor eenvoudigere rasterklassen. - Push- en pull-modificatieklassen laten vallen voor de nieuwe flexbox-aangedreven
order
klassen. In plaats van.col-8.push-4
en.col-4.pull-8
zou u bijvoorbeeld.col-8.order-2
en gebruiken.col-4.order-1
. - Flexbox-hulpprogrammaklassen toegevoegd voor rastersysteem en componenten.
Lijst groepen
- Component herschreven met flexbox.
- Vervangen
a.list-group-item
door een expliciete klasse,.list-group-item-action
, voor het opmaken van koppelingen en knopversies van lijstgroepitems. - Toegevoegde
.list-group-flush
klasse voor gebruik met kaarten.
Modaal
- Component herschreven met flexbox.
- Gezien de overstap naar flexbox, is de uitlijning van de afwijspictogrammen in de koptekst waarschijnlijk verbroken omdat we geen floats meer gebruiken. Floated content staat voorop, maar bij flexbox is dat niet meer het geval. Werk uw afwijzingspictogrammen bij om na modale titels te komen die moeten worden opgelost.
- De
remote
optie (die kan worden gebruikt om automatisch externe inhoud in een modaal te laden en te injecteren) en de bijbehorendeloaded.bs.modal
gebeurtenis zijn verwijderd. We raden u aan in plaats daarvan sjablonen aan de clientzijde of een raamwerk voor gegevensbinding te gebruiken, of zelf jQuery.load aan te roepen .
navigatie
- Component herschreven met flexbox.
- Bijna alle
>
selectors laten vallen voor eenvoudigere styling via niet-geneste klassen. - In plaats van HTML-specifieke selectors zoals
.nav > li > a
, gebruiken we aparte klassen voor.nav
s,.nav-item
s en.nav-link
s. Dit maakt uw HTML flexibeler en vergroot de uitbreidbaarheid.
navigatiesysteem
De navigatiebalk is volledig herschreven in flexbox met verbeterde ondersteuning voor uitlijning, reactievermogen en maatwerk.
- Responsief navbar-gedrag wordt nu toegepast op de
.navbar
klas via de vereiste.navbar-expand-{breakpoint}
waar u kiest waar u de navbar wilt samenvouwen. Voorheen was dit een minder variabele wijziging en moest opnieuw worden gecompileerd. .navbar-default
is nu.navbar-light
, maar.navbar-dark
blijft hetzelfde. Een van deze is vereist op elke navigatiebalk. Deze klassen stellen echter niet langerbackground-color
s vast; in plaats daarvan beïnvloeden ze in wezen alleencolor
.- Navbars vereisen nu een of andere achtergrondverklaring. Kies uit onze achtergrondhulpprogramma's (
.bg-*
) of stel uw eigen hulpprogramma's in met de licht/inverse klassen hierboven voor gekke aanpassingen . - Gezien flexbox-stijlen kunnen navigatiebalken nu flexbox-hulpprogramma's gebruiken voor eenvoudige uitlijningsopties.
.navbar-toggle
is nu.navbar-toggler
en heeft verschillende stijlen en innerlijke opmaak (niet meer drie<span>
s).- Heb de
.navbar-form
klas helemaal laten vallen. Het is niet langer nodig; in plaats daarvan, gebruik.form-inline
en pas indien nodig margehulpprogramma's toe. - Navbars bevatten niet langer
margin-bottom
ofborder-radius
standaard. Gebruik zo nodig hulpprogramma's. - Alle voorbeelden met navigatiebalken zijn bijgewerkt met nieuwe markeringen.
Paginering
- Component herschreven met flexbox.
- Expliciete klassen (
.page-item
,.page-link
) zijn nu vereist op de afstammelingen van.pagination
s - Het
.pager
onderdeel volledig laten vallen omdat het niet meer was dan aangepaste overzichtsknoppen.
Paneermeel
- Een expliciete klasse,
.breadcrumb-item
, is nu vereist op de nakomelingen van.breadcrumb
s
Etiketten en insignes
- Geconsolideerd
.label
en.badge
ondubbelzinnig van het<label>
element en gerelateerde componenten te vereenvoudigen. - Toegevoegd
.badge-pill
als modifier voor een afgeronde "pil" -look. - Badges worden niet langer automatisch weergegeven in lijstgroepen en andere componenten. Daar zijn nu utility-klassen voor nodig.
.badge-default
is verwijderd en.badge-secondary
toegevoegd om overeen te komen met componentmodificatieklassen die elders worden gebruikt.
Panelen, miniaturen en wells
Geheel laten vallen voor de nieuwe kaartcomponent.
Panelen
.panel
to.card
, nu gebouwd met flexbox..panel-default
verwijderd en niet vervangen..panel-group
verwijderd en niet vervangen..card-group
is geen vervanging, het is anders..panel-heading
tot.card-header
.panel-title
naar.card-title
. Afhankelijk van het gewenste uiterlijk, wilt u misschien ook kopelementen of klassen (bijv<h3>
. ,.h3
) of vetgedrukte elementen of klassen (bijv<strong>
. ,<b>
,.font-weight-bold
) gebruiken. Merk op dat.card-title
, hoewel het dezelfde naam heeft, een ander uiterlijk geeft dan.panel-title
..panel-body
tot.card-body
.panel-footer
tot.card-footer
.panel-primary
,.panel-success
,.panel-info
,.panel-warning
, en.panel-danger
zijn verwijderd voor.bg-
,.text-
, en.border
hulpprogramma's die zijn gegenereerd op onze$theme-colors
Sass-kaart.
Voortgang
- Contextuele
.progress-bar-*
klassen vervangen door.bg-*
hulpprogramma's.class="progress-bar progress-bar-danger"
Wordt bijvoorbeeldclass="progress-bar bg-danger"
. - Vervangen
.active
voor geanimeerde voortgangsbalken met.progress-bar-animated
.
Carrousel
- Het hele onderdeel gereviseerd om het ontwerp en de styling te vereenvoudigen. We hebben minder stijlen die u kunt overschrijven, nieuwe indicatoren en nieuwe pictogrammen.
- Alle CSS is niet genest en hernoemd, zodat elke klasse wordt voorafgegaan door
.carousel-
.- Voor carrouselitems zijn
.next
,.prev
,.left
, en.right
nu.carousel-item-next
,.carousel-item-prev
,.carousel-item-left
, en.carousel-item-right
. .item
is nu ook.carousel-item
.- Voor prev/next-besturingselementen,
.carousel-control.right
en.carousel-control.left
zijn nu.carousel-control-next
en.carousel-control-prev
, wat betekent dat ze niet langer een specifieke basisklasse nodig hebben.
- Voor carrouselitems zijn
- Alle responsieve stijlen verwijderd, uitstel van hulpprogramma's (bijvoorbeeld het tonen van bijschriften op bepaalde viewports) en aangepaste stijlen indien nodig.
- Afbeeldingsoverschrijvingen voor afbeeldingen in carrouselitems verwijderd, uitgesteld aan hulpprogramma's.
- Het Carousel-voorbeeld getweakt om de nieuwe opmaak en stijlen op te nemen.
Tafels
- Ondersteuning voor gestileerde geneste tabellen verwijderd. Alle tabelstijlen worden nu overgenomen in v4 voor eenvoudigere selectors.
- Inverse tabelvariant toegevoegd.
Nutsvoorzieningen
- Weergeven, verborgen en meer:
- Weergavehulpprogramma's responsief gemaakt (bijv.
.d-none
end-{sm,md,lg,xl}-none
). - Het grootste deel van de
.hidden-*
hulpprogramma's voor nieuwe weergavehulpprogramma's laten vallen . Gebruik bijvoorbeeld in plaats van.hidden-sm-up
..d-sm-none
De hulpprogramma's hernoemd.hidden-print
om het naamgevingsschema van de weergavehulpprogramma's te gebruiken. Meer informatie vindt u in het gedeelte Responsieve hulpprogramma's op deze pagina. - Classes toegevoegd
.float-{sm,md,lg,xl}-{left,right,none}
voor responsieve floats en verwijderd.pull-left
en.pull-right
aangezien ze overbodig zijn voor.float-left
en.float-right
.
- Weergavehulpprogramma's responsief gemaakt (bijv.
- Type:
- Responsieve variaties toegevoegd aan onze tekstuitlijningsklassen
.text-{sm,md,lg,xl}-{left,center,right}
.
- Responsieve variaties toegevoegd aan onze tekstuitlijningsklassen
- Uitlijning en afstand:
- Nieuwe responsieve marge- en opvulhulpprogramma's toegevoegd voor alle kanten, plus verticale en horizontale steno's.
- Bootlading aan flexbox-hulpprogramma's toegevoegd .
- Gedropt
.center-block
voor de nieuwe.mx-auto
klas.
- Clearfix bijgewerkt om ondersteuning voor oudere browserversies te laten vallen.
Leveranciersvoorvoegsel mixins
De leveranciersvoorvoegsels van Bootstrap 3 , die in v3.2.0 waren verouderd, zijn verwijderd in Bootstrap 4. Sinds we Autoprefixer gebruiken , zijn ze niet langer nodig.
De volgende mixins verwijderd: 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
Documentatie
Onze documentatie heeft ook over de hele linie een upgrade gekregen. Hier is het dieptepunt:
- We gebruiken nog steeds Jekyll, maar we hebben plug-ins in de mix:
bugify.rb
wordt gebruikt om de vermeldingen op onze pagina met browserbugs efficiënt weer te geven .example.rb
is een aangepaste fork van de standaardhighlight.rb
plug-in, waardoor de verwerking van voorbeeldcodes eenvoudiger wordt.callout.rb
is een vergelijkbare aangepaste vork daarvan, maar ontworpen voor onze speciale docs-callouts.- jekyll-toc wordt gebruikt om onze inhoudsopgave te genereren.
- Alle inhoud van documenten is herschreven in Markdown (in plaats van HTML) voor eenvoudiger bewerken.
- Pagina's zijn gereorganiseerd voor eenvoudigere inhoud en een meer benaderbare hiërarchie.
- We zijn overgestapt van gewone CSS naar SCSS om optimaal te profiteren van de variabelen, mixins en meer van Bootstrap.
Responsieve hulpprogramma's
Alle @screen-
variabelen zijn verwijderd in v4.0.0. Gebruik in plaats daarvan de media-breakpoint-up()
, media-breakpoint-down()
, of media-breakpoint-only()
Sass-mixins of de $grid-breakpoints
Sass-kaart.
Onze responsieve hulpprogrammaklassen zijn grotendeels verwijderd ten gunste van expliciete display
hulpprogramma's.
- De klassen
.hidden
en.show
zijn verwijderd omdat ze in strijd waren met jQuery's$(...).hide()
en$(...).show()
methoden. Probeer in plaats daarvan het attribuut te wisselen[hidden]
of gebruik inline-stijlen zoalsstyle="display: none;"
enstyle="display: block;"
. - Alle
.hidden-
klassen zijn verwijderd, behalve de afdrukhulpprogramma's die een nieuwe naam hebben gekregen.- Verwijderd uit 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
- Verwijderd uit v4-alfa's:
.hidden-xs-up
.hidden-xs-down
.hidden-sm-up
.hidden-sm-down
.hidden-md-up
.hidden-md-down
.hidden-lg-up
.hidden-lg-down
- Verwijderd uit v3:
- Afdrukhulpprogramma's beginnen niet langer met
.hidden-
of.visible-
, maar met.d-print-
.- Oude namen:
.visible-print-block
,.visible-print-inline
,.visible-print-inline-block
,.hidden-print
- Nieuwe lessen:
.d-print-block
,.d-print-inline
,.d-print-inline-block
,.d-print-none
- Oude namen:
In plaats van expliciete .visible-*
klassen te gebruiken, maak je een element zichtbaar door het simpelweg niet te verbergen op die schermgrootte. U kunt één klasse combineren .d-*-none
met één .d-*-block
klasse om een element alleen op een bepaald interval van schermgroottes weer te geven ( .d-none.d-md-block.d-xl-none
het element wordt bijvoorbeeld alleen weergegeven op middelgrote en grote apparaten).
Houd er rekening mee dat de wijzigingen in de rasteronderbrekingspunten in v4 betekenen dat u een breekpunt groter moet gaan om dezelfde resultaten te bereiken. De nieuwe responsieve hulpprogrammaklassen proberen geen minder voorkomende gevallen te accommoderen waarin de zichtbaarheid van een element niet kan worden uitgedrukt als een enkele aaneengesloten reeks viewport-groottes; in dergelijke gevallen moet u in plaats daarvan aangepaste CSS gebruiken.