Thema Bootstrap
Pas Bootstrap 4 aan met onze nieuwe ingebouwde Sass-variabelen voor algemene stijlvoorkeuren voor eenvoudige thema- en componentwijzigingen.
In Bootstrap 3 werd het thema grotendeels bepaald door variabele overschrijvingen in LESS, aangepaste CSS en een apart thema-stylesheet dat we in onze dist
bestanden hebben opgenomen. Met enige moeite zou men het uiterlijk van Bootstrap 3 volledig kunnen herontwerpen zonder de kernbestanden aan te raken. Bootstrap 4 biedt een bekende, maar iets andere benadering.
Thema's worden nu bereikt door Sass-variabelen, Sass-kaarten en aangepaste CSS. Er is geen speciaal thema-stylesheet meer; in plaats daarvan kunt u het ingebouwde thema inschakelen om verlopen, schaduwen en meer toe te voegen.
Gebruik onze Sass-bronbestanden om te profiteren van variabelen, kaarten, mixins en meer.
Vermijd waar mogelijk het wijzigen van de kernbestanden van Bootstrap. Voor Sass betekent dat het maken van uw eigen stylesheet die Bootstrap importeert, zodat u deze kunt wijzigen en uitbreiden. Ervan uitgaande dat u een pakketbeheerder zoals npm gebruikt, heeft u een bestandsstructuur die er als volgt uitziet:
Als je onze bronbestanden hebt gedownload en geen pakketbeheerder gebruikt, moet je handmatig iets instellen dat lijkt op die structuur, waarbij je de bronbestanden van Bootstrap gescheiden houdt van die van jezelf.
In uw custom.scss
, importeert u de Sass-bronbestanden van Bootstrap. Je hebt twee opties: voeg alle Bootstrap toe, of kies de onderdelen die je nodig hebt. We moedigen het laatste aan, maar houd er rekening mee dat er enkele vereisten en afhankelijkheden zijn tussen onze componenten. U moet ook wat JavaScript toevoegen voor onze plug-ins.
Met die opstelling kunt u beginnen met het wijzigen van alle Sass-variabelen en -kaarten in uw custom.scss
. U kunt indien nodig ook beginnen met het toevoegen van delen van Bootstrap onder de // Optional
sectie. We raden aan om de volledige importstack uit ons bootstrap.scss
bestand als startpunt te gebruiken.
Elke Sass-variabele in Bootstrap 4 bevat de !default
vlag waarmee u de standaardwaarde van de variabele in uw eigen Sass kunt overschrijven zonder de broncode van Bootstrap te wijzigen. Kopieer en plak variabelen indien nodig, wijzig hun waarden en verwijder de !default
vlag. Als een variabele al is toegewezen, wordt deze niet opnieuw toegewezen door de standaardwaarden in Bootstrap.
U vindt de volledige lijst met Bootstrap-variabelen in scss/_variables.scss
.
Variabele-overschrijvingen binnen hetzelfde Sass-bestand kunnen voor of na de standaardvariabelen komen. Bij het overschrijven van Sass-bestanden moeten uw overschrijvingen echter plaatsvinden voordat u de Sass-bestanden van Bootstrap importeert.
Hier is een voorbeeld dat de background-color
en color
voor de verandert <body>
bij het importeren en compileren van Bootstrap via npm:
Herhaal indien nodig voor elke variabele in Bootstrap, inclusief de globale opties hieronder.
Bootstrap 4 bevat een handvol Sass-kaarten, sleutelwaardeparen die het gemakkelijker maken om families van gerelateerde CSS te genereren. We gebruiken Sass-kaarten voor onze kleuren, rasteronderbrekingspunten en meer. Net als Sass-variabelen, bevatten alle Sass-kaarten de !default
vlag en kunnen ze worden overschreven en uitgebreid.
Sommige van onze Sass-kaarten zijn standaard samengevoegd tot lege. Dit wordt gedaan om een bepaalde Sass-kaart gemakkelijk uit te breiden, maar gaat ten koste van het iets moeilijker maken van het verwijderen van items van een kaart.
Om een bestaande kleur in onze $theme-colors
kaart te wijzigen, voegt u het volgende toe aan uw aangepaste Sass-bestand:
Om een nieuwe kleur toe te voegen aan $theme-colors
, voegt u de nieuwe sleutel en waarde toe:
Gebruik om kleuren van $theme-colors
, of een andere kaart te verwijderen map-remove
. Houd er rekening mee dat u deze tussen onze vereisten en opties moet invoegen:
Bootstrap veronderstelt de aanwezigheid van enkele specifieke sleutels binnen Sass-kaarten zoals we deze zelf gebruikten en uitbreiden. Als u de meegeleverde kaarten aanpast, kunt u fouten tegenkomen wanneer de sleutel van een specifieke Sass-kaart wordt gebruikt.
We gebruiken bijvoorbeeld de primary
, success
, en danger
toetsen van $theme-colors
voor links, knoppen en formulierstatussen. Het vervangen van de waarden van deze sleutels zou geen problemen moeten opleveren, maar het verwijderen ervan kan Sass-compilatieproblemen veroorzaken. In deze gevallen moet u de Sass-code wijzigen die gebruikmaakt van die waarden.
Bootstrap maakt gebruik van verschillende Sass-functies, maar slechts een subset is van toepassing op algemene thema's. We hebben drie functies toegevoegd om waarden uit de kleurenkaarten te halen:
Hiermee kunt u één kleur uit een Sass-kaart kiezen, net zoals u een kleurvariabele uit v3 zou gebruiken.
We hebben ook een andere functie om een bepaald kleurniveau van de $theme-colors
kaart te krijgen. Negatieve niveauwaarden zullen de kleur lichter maken, terwijl hogere niveaus donkerder zullen worden.
In de praktijk zou je de functie aanroepen en twee parameters doorgeven: de naam van de kleur van $theme-colors
(bijvoorbeeld primair of gevaar) en een numeriek niveau.
Extra functies kunnen in de toekomst worden toegevoegd of uw eigen aangepaste Sass om niveaufuncties te maken voor extra Sass-kaarten, of zelfs een generieke als u uitgebreider wilt zijn.
Een extra functie die we in Bootstrap opnemen, is de kleurcontrastfunctie, color-yiq
. Het gebruikt de YIQ-kleurruimte om automatisch een lichte ( #fff
) of donkere ( #111
) contrastkleur terug te geven op basis van de opgegeven basiskleur. Deze functie is vooral handig voor mixins of loops waarin u meerdere klassen genereert.
Om bijvoorbeeld kleurstalen van onze $theme-colors
kaart te genereren:
Het kan ook worden gebruikt voor eenmalige contrastbehoeften:
U kunt ook een basiskleur specificeren met onze kleurenkaartfuncties:
Pas Bootstrap 4 aan met ons ingebouwde bestand met aangepaste variabelen en schakel eenvoudig algemene CSS-voorkeuren in met nieuwe $enable-*
Sass-variabelen. Overschrijf de waarde van een variabele en hercompileer met npm run test
indien nodig.
U kunt deze variabelen vinden en aanpassen voor belangrijke globale opties in het bestand van Bootstrap scss/_variables.scss
.
Variabele | Waarden | Beschrijving |
---|---|---|
$spacer |
1rem (standaard), of een waarde > 0 |
Specificeert de standaard spacer-waarde om onze spacer-hulpprogramma's programmatisch te genereren . |
$enable-rounded |
true (standaard) offalse |
Maakt voorgedefinieerde border-radius stijlen op verschillende componenten mogelijk. |
$enable-shadows |
true of false (standaard) |
Maakt voorgedefinieerde box-shadow stijlen op verschillende componenten mogelijk. |
$enable-gradients |
true of false (standaard) |
Maakt voorgedefinieerde verlopen via background-image stijlen op verschillende componenten mogelijk. |
$enable-transitions |
true (standaard) offalse |
Maakt voorgedefinieerde transition s op verschillende componenten mogelijk. |
$enable-hover-media-query |
true of false (standaard) |
Verouderd |
$enable-grid-classes |
true (standaard) offalse |
Maakt het genereren van CSS-klassen voor het rastersysteem mogelijk (bijv. .container , .row , .col-md-1 , etc.). |
$enable-caret |
true (standaard) offalse |
Schakelt pseudo-elementcaret in op .dropdown-toggle . |
$enable-print-styles |
true (standaard) offalse |
Maakt stijlen mogelijk voor het optimaliseren van afdrukken. |
Veel van de verschillende componenten en hulpprogramma's van Bootstrap zijn gebouwd via een reeks kleuren die zijn gedefinieerd in een Sass-kaart. Deze kaart kan worden doorlopen in Sass om snel een reeks regelsets te genereren.
Alle kleuren die beschikbaar zijn in Bootstrap 4, zijn beschikbaar als Sass-variabelen en een Sass-kaart in scss/_variables.scss
bestand. Dit zal worden uitgebreid in volgende kleinere releases om extra tinten toe te voegen, net zoals het grijswaardenpalet dat we al opnemen.
Hier leest u hoe u deze in uw Sass kunt gebruiken:
Er zijn ook kleurhulpprogrammaklassen beschikbaar voor instelling color
en background-color
.
In de toekomst streven we ernaar om Sass-kaarten en -variabelen te bieden voor tinten van elke kleur, zoals we hebben gedaan met de onderstaande grijswaardenkleuren.
We gebruiken een subset van alle kleuren om een kleiner kleurenpalet te creëren voor het genereren van kleurenschema's, ook beschikbaar als Sass-variabelen en een Sass-kaart in het scss/_variables.scss
bestand van Bootstraps.
Een uitgebreide set grijsvariabelen en een Sass-kaart scss/_variables.scss
voor consistente grijstinten in uw project.
Binnen scss/_variables.scss
vindt u de kleurvariabelen van Bootstrap en de Sass-kaart. Hier is een voorbeeld van de $colors
Sass-kaart:
Voeg waarden toe, verwijder of wijzig waarden binnen de kaart om bij te werken hoe ze in veel andere componenten worden gebruikt. Helaas maakt op dit moment niet elk onderdeel gebruik van deze Sass-kaart. Toekomstige updates zullen ernaar streven dit te verbeteren. Maak tot die tijd gebruik van de ${color}
variabelen en deze Sass-kaart.
Veel van de componenten en hulpprogramma's van Bootstrap zijn gebouwd met @each
lussen die zich herhalen over een Sass-kaart. Dit is vooral handig voor het genereren van varianten van een component door onze $theme-colors
en het maken van responsieve varianten voor elk breekpunt. Terwijl u deze Sass-kaarten aanpast en opnieuw compileert, ziet u uw wijzigingen automatisch weerspiegeld in deze lussen.
Veel van Bootstrap's componenten zijn gebouwd met een base-modifier class-benadering. Dit betekent dat het grootste deel van de styling is opgenomen in een basisklasse (bijv. .btn
), terwijl stijlvariaties beperkt zijn tot modificatieklassen (bijv. .btn-danger
). Deze modifier-klassen zijn opgebouwd uit de $theme-colors
kaart om het aantal en de naam van onze modifier-klassen aan te passen.
Hier zijn twee voorbeelden van hoe we over de $theme-colors
kaart lopen om modifiers voor de .alert
component en al onze .bg-*
achtergrondhulpprogramma's te genereren.
Deze Sass-loops zijn ook niet beperkt tot kleurenkaarten. U kunt ook responsieve variaties van uw componenten of hulpprogramma's genereren. Neem bijvoorbeeld onze responsieve hulpprogramma's voor tekstuitlijning, waarbij we een @each
lus voor de $grid-breakpoints
Sass-kaart combineren met een mediaquery include.
Als u uw , moet wijzigen $grid-breakpoints
, zijn uw wijzigingen van toepassing op alle lussen die over die kaart itereren.
Bootstrap 4 bevat ongeveer twee dozijn aangepaste CSS-eigenschappen (variabelen) in de gecompileerde CSS. Deze bieden gemakkelijke toegang tot veelgebruikte waarden zoals onze themakleuren, breekpunten en primaire lettertypestapels wanneer u werkt in de Inspector van uw browser, een code-sandbox of algemene prototyping.
Dit zijn de variabelen die we opnemen (merk op dat het :root
vereist is). Ze bevinden zich in ons _root.scss
dossier.
CSS-variabelen bieden vergelijkbare flexibiliteit als de variabelen van Sass, maar zonder de noodzaak van compilatie voordat ze aan de browser worden aangeboden. Hier stellen we bijvoorbeeld het lettertype en de linkstijlen van onze pagina opnieuw in met CSS-variabelen.
Hoewel we oorspronkelijk breekpunten in onze CSS-variabelen hebben opgenomen (bijv. --breakpoint-md
), worden deze niet ondersteund in mediaquery's , maar ze kunnen nog steeds worden gebruikt binnen regelsets in mediaquery's. Deze breekpuntvariabelen blijven in de gecompileerde CSS voor achterwaartse compatibiliteit, aangezien ze door JavaScript kunnen worden gebruikt. Lees meer in de specificatie.
Hier is een voorbeeld van wat niet wordt ondersteund:
En hier is een voorbeeld van wat wordt ondersteund: