Ponovo pokreni
Reboot, kolekcija CSS promjena specifičnih za elemente u jednoj datoteci, pokrenite Bootstrap kako biste pružili elegantnu, dosljednu i jednostavnu osnovu za nadogradnju.
Pristup
Reboot se nadovezuje na Normalize, pružajući mnoge HTML elemente sa pomalo tvrdnjavim stilovima koristeći samo selektore elemenata. Dodatni stil se radi samo sa klasama. Na primjer, ponovo pokrećemo neke <table>
stilove za jednostavniju osnovnu liniju i kasnije pružamo .table
, .table-bordered
, i više.
Evo naših smjernica i razloga za odabir onoga što ćete nadjačati u Reboot-u:
- Ažurirajte neke zadane vrijednosti pretraživača da koristite
rem
s umjestoem
s za skalabilni razmak komponenti. - Izbjegavajte
margin-top
. Vertikalne margine se mogu srušiti, dajući neočekivane rezultate. Što je još važnije, jedan pravacmargin
je jednostavniji mentalni model. - Za lakše skaliranje u različitim veličinama uređaja, blok elementi bi trebali koristiti
rem
s zamargin
s. - Deklaracije
font
svojstava vezanih za -svežite na minimum, koristećiinherit
kad god je to moguće.
CSS varijable
Dodato u v5.1.1
Sa v5.1.1, standardizirali smo naše potrebne @import
s u svim našim CSS paketima (uključujući bootstrap.css
, bootstrap-reboot.css
, i bootstrap-grid.css
uključiti _root.scss
. Ovo dodaje :root
CSS varijable nivoa svim paketima, bez obzira na to koliko ih se koristi u tom paketu. Na kraju, Bootstrap 5 će nastaviti da pogledajte više CSS varijabli koje se dodaju tokom vremena.
Zadane postavke stranice
Elementi <html>
i <body>
su ažurirani kako bi pružili bolje zadane postavke za cijelu stranicu. Preciznije:
- Globalno
box-sizing
je postavljen na svaki element—uključujući*::before
i*::after
, doborder-box
. Ovo osigurava da deklarirana širina elementa nikada ne bude prekoračena zbog paddinga ili ivice.- Nijedna baza
font-size
nije deklarirana na<html>
, ali16px
se pretpostavlja (podrazumevani pretraživač).font-size: 1rem
primjenjuje se na<body>
za jednostavno skaliranje tipa putem medijskih upita uz poštovanje korisničkih preferencija i osiguravajući pristupačniji pristup. Ova zadana vrijednost pretraživača može se zaobići modifikacijom$font-size-root
varijable.
- Nijedna baza
<body>
Također postavlja globalne ,font-family
,font-weight
,line-height
icolor
. Ovo je kasnije naslijeđeno nekim elementima forme kako bi se spriječile nedosljednosti fontova.- Radi sigurnosti,
<body>
ima deklariranbackground-color
, zadano na#fff
.
Nativni skup fontova
Bootstrap koristi "native font stack" ili "system font stack" za optimalno prikazivanje teksta na svakom uređaju i OS. Ovi sistemski fontovi su dizajnirani posebno za današnje uređaje na umu, sa poboljšanim prikazom na ekranima, podrškom za varijabilne fontove i još mnogo toga. Pročitajte više o izvornim skupovima fontova u ovom članku Smashing Magazina .
$font-family-sans-serif:
// Cross-platform generic font family (default user interface font)
system-ui,
// Safari for macOS and iOS (San Francisco)
-apple-system,
// Windows
"Segoe UI",
// Android
Roboto,
// Basic web fallback
"Helvetica Neue", Arial,
// Linux
"Noto Sans",
"Liberation Sans",
// Sans serif fallback
sans-serif,
// Emoji fonts
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
Imajte na umu da, budući da skup fontova uključuje emoji fontove, mnogi uobičajeni simboli/dingbat unicode znakovi će biti prikazani kao višebojni piktogrami. Njihov izgled će se razlikovati u zavisnosti od stila koji se koristi u izvornom fontu emotikona pretraživača/platforme, i na njih neće uticati nijedan CSS color
stil.
Ovo font-family
se primjenjuje na <body>
i automatski se nasljeđuje globalno kroz Bootstrap. Da biste prebacili globalni font-family
, ažurirajte $font-family-base
i ponovo kompajlirajte Bootstrap.
CSS varijable
Kako Bootstrap 5 nastavlja da sazrijeva, sve više stilova će se graditi sa CSS varijablama kao sredstvom za pružanje više prilagođavanja u realnom vremenu bez potrebe za uvijek ponovnim kompajliranjem Sass-a. Naš pristup je da uzmemo naše izvorne Sass varijable i transformišemo ih u CSS varijable. Na taj način, čak i ako ne koristite CSS varijable, i dalje imate svu moć Sass-a. Ovo je još uvijek u toku i trebat će vremena da se u potpunosti implementira.
Na primjer, razmotrite ove :root
CSS varijable za uobičajene <body>
stilove:
@if $font-size-root != null {
--#{$variable-prefix}root-font-size: #{$font-size-root};
}
--#{$variable-prefix}body-font-family: #{$font-family-base};
--#{$variable-prefix}body-font-size: #{$font-size-base};
--#{$variable-prefix}body-font-weight: #{$font-weight-base};
--#{$variable-prefix}body-line-height: #{$line-height-base};
--#{$variable-prefix}body-color: #{$body-color};
@if $body-text-align != null {
--#{$variable-prefix}body-text-align: #{$body-text-align};
}
--#{$variable-prefix}body-bg: #{$body-bg};
U praksi, te varijable se zatim primjenjuju u Reboot-u na sljedeći način:
body {
margin: 0; // 1
font-family: var(--#{$variable-prefix}body-font-family);
@include font-size(var(--#{$variable-prefix}body-font-size));
font-weight: var(--#{$variable-prefix}body-font-weight);
line-height: var(--#{$variable-prefix}body-line-height);
color: var(--#{$variable-prefix}body-color);
text-align: var(--#{$variable-prefix}body-text-align);
background-color: var(--#{$variable-prefix}body-bg); // 2
-webkit-text-size-adjust: 100%; // 3
-webkit-tap-highlight-color: rgba($black, 0); // 4
}
Što vam omogućava da napravite prilagođavanja u stvarnom vremenu kako god želite:
<body style="--bs-body-color: #333;">
<!-- ... -->
</body>
Naslovi i paragrafi
Svi elementi naslova—npr.— <h1>
i <p>
se resetuju da bi se margin-top
uklonili. Dodani su naslovi margin-bottom: .5rem
i paragrafi margin-bottom: 1rem
za lakši razmak.
Naslov | Primjer |
---|---|
<h1></h1> |
h1. Bootstrap naslov |
<h2></h2> |
h2. Bootstrap naslov |
<h3></h3> |
h3. Bootstrap naslov |
<h4></h4> |
h4. Bootstrap naslov |
<h5></h5> |
h5. Bootstrap naslov |
<h6></h6> |
h6. Bootstrap naslov |
Liste
Sve liste <ul>
— , <ol>
, i <dl>
— su margin-top
uklonjene i a margin-bottom: 1rem
. Ugniježđene liste nemaju margin-bottom
. Također smo resetirali padding-left
on <ul>
i <ol>
elemente.
- Gornja margina svih lista je uklonjena
- I njihova donja margina se normalizirala
- Ugniježđene liste nemaju donju marginu
- Na taj način imaju ujednačeniji izgled
- Naročito kada slijedi više stavki na listi
- Lijevi padding je također resetovan
- Evo uređene liste
- Sa nekoliko stavki na listi
- Ima isti ukupni izgled
- Kao prethodna neuređena lista
Za jednostavniji stil, jasnu hijerarhiju i bolji razmak, liste opisa su ažurirale margin
s. <dd>
s resetirajte margin-left
na 0
i dodajte margin-bottom: .5rem
. <dt>
s su podebljane .
- Liste opisa
- Lista opisa je savršena za definiranje pojmova.
- Termin
- Definicija pojma.
- Druga definicija za isti termin.
- Drugi termin
- Definicija za ovaj drugi termin.
Inline kod
Zamotajte umetnute isječke koda sa <code>
. Obavezno izbjegnite HTML kutne zagrade.
<section>
treba biti umotan kao inline.
For example, <code><section></code> should be wrapped as inline.
Blokovi koda
Koristite <pre>
s za više redova koda. Još jednom, pobrinite se da izbjegnete sve ugaone zagrade u kodu radi pravilnog prikazivanja. Element <pre>
se resetuje kako bi se uklonio margin-top
i koristio rem
jedinice za svoj margin-bottom
.
<p>Sample text here...</p>
<p>And another line of sample text here...</p>
<pre><code><p>Sample text here...</p>
<p>And another line of sample text here...</p>
</code></pre>
Varijable
Za označavanje varijabli koristite <var>
oznaku.
<var>y</var> = <var>m</var><var>x</var> + <var>b</var>
Unos korisnika
Koristite <kbd>
za označavanje unosa koji se obično unosi preko tastature.
Da izmenite podešavanja, pritisnite ctrl + ,
To switch directories, type <kbd>cd</kbd> followed by the name of the directory.<br>
To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd>
Izlaz uzorka
Za označavanje uzorka izlaza iz programa koristite <samp>
oznaku.
<samp>This text is meant to be treated as sample output from a computer program.</samp>
Stolovi
Tabele su malo prilagođene stilu <caption>
s, skupljaju granice i osiguravaju dosljednost text-align
u cijelom. Dodatne promjene za granice, padding i drugo dolaze s klasom .table
.
Naslov tabele | Naslov tabele | Naslov tabele | Naslov tabele |
---|---|---|---|
Ćelija tabele | Ćelija tabele | Ćelija tabele | Ćelija tabele |
Ćelija tabele | Ćelija tabele | Ćelija tabele | Ćelija tabele |
Ćelija tabele | Ćelija tabele | Ćelija tabele | Ćelija tabele |
Forms
Različiti elementi forme su ponovo pokrenuti radi jednostavnijih osnovnih stilova. Evo nekih od najznačajnijih promjena:
<fieldset>
s nemaju ivice, padding ili margine tako da se mogu lako koristiti kao omoti za pojedinačne ulaze ili grupe ulaza.<legend>
s, kao i skupovi polja, također su restilizirani da se prikazuju kao neka vrsta naslova.<label>
s je postavljeno nadisplay: inline-block
da dozvolimargin
primjenu.<input>
s,<select>
s,<textarea>
s i<button>
s se uglavnom adresiraju pomoću Normalize, ali Reboot uklanja i njihovemargin
iline-height: inherit
također postavlja .<textarea>
s se modificiraju tako da se mogu mijenjati samo okomito jer horizontalna promjena veličine često "razbija" izgled stranice.<button>
s i<input>
elementi gumba imajucursor: pointer
kada:not(:disabled)
.
Ove promjene, i još mnogo toga, prikazane su u nastavku.
Podrška za unos datuma i boje
Imajte na umu da svi pretraživači, odnosno Safari, ne podržavaju u potpunosti unose datuma .
Pokazivači na dugmadima
Ponovno pokretanje uključuje poboljšanje za role="button"
promjenu zadanog kursora u pointer
. Dodajte ovaj atribut elementima kako biste naznačili da su elementi interaktivni. Ova uloga nije neophodna za <button>
elemente koji dobijaju vlastitu cursor
promjenu.
<span role="button" tabindex="0">Non-button element button</span>
Razni elementi
Adresa
Element <address>
je ažuriran da resetuje podrazumevane vrednosti pretraživača font-style
sa italic
na normal
. line-height
je također sada naslijeđen i margin-bottom: 1rem
dodat je. <address>
s služe za predstavljanje kontakt informacija za najbližeg pretka (ili cijeli skup radova). Sačuvajte formatiranje završavajući redove sa <br>
.
1355 Market St, Suite 900
San Francisco, CA 94103
P: (123) 456-7890 Puno ime
[email protected]
Blockquote
Podrazumevano margin
za blok citate je 1em 40px
, tako da smo to resetovali na 0 0 1rem
nešto što je konzistentnije sa drugim elementima.
Dobro poznati citat, sadržan u elementu blok citata.
Neko poznat u naslovu izvora
Inline elementi
Element <abbr>
dobija osnovni stil kako bi se istakao među tekstom pasusa.
Sažetak
Podrazumevano cursor
u rezimeu je text
, tako da to resetujemo na da pointer
bismo preneli da se sa elementom može stupiti u interakciju klikom na njega.
Neki detalji
Više informacija o detaljima.
Još više detalja
Evo još više detalja o detaljima.
HTML5 [hidden]
atribut
HTML5 dodaje novi globalni atribut pod nazivom[hidden]
, koji je display: none
standardno stilizovan. Pozajmivši ideju od PureCSS-a , poboljšavamo ovu zadanu vrijednost tako što [hidden] { display: none !important; }
ćemo spriječiti display
da se slučajno zaobiđe.
<input type="text" hidden>
jQuery nekompatibilnost
[hidden]
nije kompatibilan sa jQuery-jem $(...).hide()
i $(...).show()
metodama. Stoga trenutno ne podržavamo [hidden]
druge tehnike za upravljanje display
elementima.
Da biste samo promijenili vidljivost elementa, što znači da display
nije izmijenjen i da element i dalje može utjecati na tok dokumenta, umjesto toga koristite klasu ..invisible