Genstart
Genstart, en samling af elementspecifikke CSS-ændringer i en enkelt fil, kickstarter Bootstrap for at give en elegant, konsistent og enkel baseline at bygge videre på.
Genstart bygger på Normalize, og giver mange HTML-elementer en lidt egensindig stil, der kun bruger elementvælgere. Yderligere styling udføres kun med klasser. For eksempel genstarter vi nogle <table>
stilarter for en enklere baseline og giver senere .table
, .table-bordered
, og mere.
Her er vores retningslinjer og grunde til at vælge, hvad der skal tilsidesættes i Genstart:
- Opdater nogle browserstandardværdier til at bruge
rem
s i stedet forem
s til skalerbar komponentafstand. - Undgå
margin-top
. Lodrette marginer kan kollapse, hvilket giver uventede resultater. Endnu vigtigere er en enkelt retning afmargin
en enklere mental model. - For lettere skalering på tværs af enhedsstørrelser bør blokelementer bruge
rem
s formargin
s. - Hold erklæringer om
font
-relaterede egenskaber på et minimum, bruginherit
når det er muligt.
Elementerne <html>
og <body>
er opdateret for at give bedre standardindstillinger for hele siden. Mere specifikt:
- Den
box-sizing
er globalt indstillet på hvert element – inklusive*::before
og*::after
, tilborder-box
. Dette sikrer, at elementets deklarerede bredde aldrig overskrides på grund af polstring eller kant.- Ingen base
font-size
er erklæret på<html>
, men16px
antages (browserens standard).font-size: 1rem
anvendes på<body>
for nem responsiv type-skalering via medieforespørgsler, mens brugernes præferencer respekteres og en mere tilgængelig tilgang sikres.
- Ingen base
- Den
<body>
indstiller også en globalfont-family
,line-height
, ogtext-align
. Dette nedarves senere af nogle formularelementer for at forhindre skrifttypeuoverensstemmelser. - For en sikkerheds skyld
<body>
har den erklæretbackground-color
, som standard er#fff
.
Standardwebskrifttyperne (Helvetica Neue, Helvetica og Arial) er blevet droppet i Bootstrap 4 og erstattet med en "native font stack" for optimal tekstgengivelse på alle enheder og operativsystemer. Læs mere om indbyggede skrifttyper i denne artikel i Smashing Magazine .
Dette font-family
anvendes på <body>
og nedarves automatisk globalt gennem Bootstrap. For at skifte den globale font-family
skal du opdatere $font-family-base
og genkompilere Bootstrap.
Alle overskriftselementer - f.eks. <h1>
- og nulstilles <p>
for at få deres margin-top
fjernet. Der er tilføjet overskrifter margin-bottom: .5rem
og afsnit margin-bottom: 1rem
for nem afstand.
Overskrift | Eksempel |
---|---|
|
h1. Bootstrap overskrift |
|
h2. Bootstrap overskrift |
|
h3. Bootstrap overskrift |
|
h4. Bootstrap overskrift |
|
h5. Bootstrap overskrift |
|
h6. Bootstrap overskrift |
Alle lister <ul>
— , <ol>
, og <dl>
— har deres margin-top
fjernet og en margin-bottom: 1rem
. Indlejrede lister har ingen margin-bottom
.
- Lorem ipsum dolor sit amet
- Consectetur adipiscing elit
- Integer molestie lorem at massa
- Facilisis i pretium nisl aliquet
- Nulla volutpat aliquam velit
- Phasellus iaculis neque
- Purus sodales ultricies
- Vestibulum laoreet porttitor sem
- Ac tristique libero volutpat kl
- Faucibus porta lacus fringilla vel
- Aenean sit amet erat nunc
- Eget porttitor lorem
- Lorem ipsum dolor sit amet
- Consectetur adipiscing elit
- Integer molestie lorem at massa
- Facilisis i pretium nisl aliquet
- Nulla volutpat aliquam velit
- Faucibus porta lacus fringilla vel
- Aenean sit amet erat nunc
- Eget porttitor lorem
For enklere styling, tydeligt hierarki og bedre afstand har beskrivelseslister opdateret margin
s. <dd>
s nulstilles margin-left
til 0
og tilføjes margin-bottom: .5rem
. <dt>
s er med fed skrift .
- Beskrivelseslister
- En beskrivelsesliste er perfekt til at definere termer.
- Euismod
- Vestibulum id ligula porta felis euismod semper eget lacinia odio sem.
- Donec id elit non mi porta gravida at eget metus.
- Malesuada porta
- Etiam porta sem malesuada magna mollis euismod.
Elementet <pre>
nulstilles for at fjerne dets margin-top
og bruge rem
enheder til dets margin-bottom
.
.example-element { margin-bund: 1rem; }
Tabeller er lidt justeret til stil <caption>
s, kollapser kanter og sikrer ensartet text-align
hele vejen igennem. Yderligere ændringer til kanter, polstring og mere kommer med klassen .table
.
Tabel overskrift | Tabel overskrift | Tabel overskrift | Tabel overskrift |
---|---|---|---|
Tabel celle | Tabel celle | Tabel celle | Tabel celle |
Tabel celle | Tabel celle | Tabel celle | Tabel celle |
Tabel celle | Tabel celle | Tabel celle | Tabel celle |
Forskellige formelementer er blevet genstartet for at få enklere basestile. Her er nogle af de mest bemærkelsesværdige ændringer:
<fieldset>
s har ingen kanter, polstring eller margen, så de kan nemt bruges som omslag til individuelle input eller grupper af input.<legend>
s, ligesom feltsæt, er også blevet ændret til at blive vist som en slags overskrift.<label>
s er indstillet tildisplay: inline-block
at tillademargin
at blive anvendt.<input>
s,<select>
s,<textarea>
s og<button>
s adresseres for det meste af Normalize, men Genstart fjerner også deresmargin
og sætline-height: inherit
.<textarea>
s er ændret til kun at kunne ændres lodret, da vandret størrelsesændring ofte "bryder" sidelayoutet.
Disse ændringer og flere er vist nedenfor.
Elementet <address>
opdateres for at nulstille browserens standard font-style
fra italic
til normal
. line-height
er også nu nedarvet, og margin-bottom: 1rem
er tilføjet. <address>
s er til at præsentere kontaktoplysninger for den nærmeste forfader (eller et helt arbejde). Bevar formateringen ved at afslutte linjer med <br>
.
1355 Market St, Suite 900
San Francisco, CA 94103
P: (123) 456-7890 Fulde navn
[email protected]
Standarden margin
på blockquotes er 1em 40px
, så vi nulstiller det til 0 0 1rem
for noget mere konsistent med andre elementer.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Heltal posuere erat en ante.
Elementet <abbr>
modtager grundlæggende stil for at få det til at skille sig ud blandt afsnitsteksten.
Standarden cursor
på resume er text
, så vi nulstiller det til pointer
for at formidle, at elementet kan interageres med ved at klikke på det.
Nogle detaljer
Mere info om detaljerne.
Endnu flere detaljer
Her er endnu flere detaljer om detaljerne.
HTML5 tilføjer en ny global attribut ved navn[hidden]
, som er stilet som display: none
standard. Ved at låne en idé fra PureCSS forbedrer vi denne standard ved [hidden] { display: none !important; }
at hjælpe med at forhindre, at den display
ved et uheld bliver tilsidesat. Selvom [hidden]
det ikke er indbygget understøttet af IE10, omgår den eksplicitte erklæring i vores CSS dette problem.
jQuery inkompatibilitet
[hidden]
er ikke kompatibel med jQuery's $(...).hide()
og $(...).show()
metoder. Derfor støtter vi i øjeblikket ikke særligt [hidden]
andre teknikker til styring display
af elementer.
For blot at skifte synligheden af et element, hvilket betyder, at det display
ikke er ændret, og elementet stadig kan påvirke flowet af dokumentet, skal du bruge klassen .invisible
i stedet.