Vsak element na spletni strani je pravokotno polje. Lastnost zaslona v CSS določa, kako se bo pravokotno polje obnašalo. Obstaja le nekaj vrednosti, ki se pogosto uporabljajo:
div ( display: inline; /* Default of all elements, unless UA stylesheet overrides */ display: inline-block; /* Characteristics of block, but sits on a line */ display: block; /* UA stylesheet makes things like and block */ display: run-in; /* Not particularly well supported or common */ display: none; /* Hide */ )
Privzeta vrednost za vse elemente je vrstica. Večina "User Agent Styles Sheets" (privzeti slogi, ki jih brskalnik uporablja za vsa spletna mesta) ponastavi številne elemente na "block". Pojdimo skozi vsako od teh in nato pokrijmo še nekatere manj pogoste vrednote.
V vrsti
Privzeta vrednost za elemente. Pomislite na elemente, kot so
, ali in kako zavijanje besedila v te elemente v nizu besedila ne prekine toka besedila.
Vstavljeni element sprejme rob in oblazinjenje, vendar element še vedno stoji v vrstici, kot bi lahko pričakovali. Rob in oblazinjenje bodo druge elemente potisnili le vodoravno, ne navpično.
Vstavljeni element ne bo sprejel height
in width
. Samo ignoriral ga bo.
Vrstni blok
Element, ki inline-block
je nastavljen na, je zelo podoben vrstici inline, saj bo nastavljen v vrstici z naravnim tokom besedila (na "osnovni črti"). Razlika je v tem, da lahko nastavite a width
in height
ki bo spoštovan.
Blokiraj
Številni elementi so nastavljeni v block
tabeli slogi brskalnika. Običajno so elementi vsebnika, kot
so , in
- . Tudi besedilo "blokira" všeč
- MDN
in
. Elementi ravni bloka ne sedijo v vrstici, ampak se prebijejo mimo njih. Privzeto (brez nastavitve širine) zavzamejo čim več vodoravnega prostora.
Utekanje
Prvič, ta lastnost ne deluje v Firefoxu. Beseda govori, da specifikacija zanj ni dovolj natančno določena. Če ga želite začeti razumeti, je kot, če želite, da element glave sedi v vrstici z besedilom pod njim. Če plavate, ne bo delovalo in tudi nič drugega, saj ne želite, da je glava podrejena elementu besedila pod njim, ampak želite, da je to lasten neodvisen element. V "podpornih" brskalnikih je tako:
Flexbox
display
Lastnost se uporablja tudi za nove modno metode postavitve, kot je prilagodljivo polje.
.header ( display: flex; )
Obstaja nekaj starejših različic sintakse flexbox, zato si oglejte sintakso v tem članku pri uporabi flexboxa z najboljšo podporo brskalnika. Oglejte si ta popoln vodnik po Flexboxu.
Flow-Root
Prikazana flow-root
vrednost ustvari nov "kontekst formatiranja blokov", sicer pa je podoben block
. Nov BFC pomaga pri stvareh, kot je čiščenje plovcev, in odpravlja potrebo po haktih.
.group ( display: flow-root; )
Ti podatki o podpori brskalnika so od Caniuse, ki vsebuje več podrobnosti. Številka pomeni, da brskalnik podpira to funkcijo v tej različici ali novejši.
Namizje
Chrome | Firefox | IE | Rob | Safari |
---|---|---|---|---|
58 | 53 | Ne | 79 | 13. |
Mobilni / tablični računalnik
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 13,0-13,1 |
Mreža
Postavitev mreže bo na začetku nastavila tudi lastnost zaslona.
body ( display: grid; )
Tu je naš vodnik o postavitvi mreže, ki vključuje tabelo za podporo brskalnika.
Nobenega
Element v celoti odstrani s strani. Upoštevajte, da je element, čeprav je še vedno v DOM-u, odstranjen vizualno in na kakršen koli drug način (nanj ali njegove podrejene elemente ne morete zavihkati, bralniki zaslona ga prezrejo itd.)
Vrednosti tabele
Obstaja celoten nabor prikaznih vrednosti, ki prisilijo elemente, ki niso tabele, da se obnašajo kot elementi tabele, če to potrebujete. To je redko, včasih pa vam omogoča, da ste s svojo kodo bolj semantični, hkrati pa uporabljate edinstvene položajne tabele.
div ( display: table; display: table-cell; display: table-column; display: table-colgroup; display: table-header-group; display: table-row-group; display: table-footer-group; display: table-row; display: table-caption; )
Če želite uporabiti, samo posnemajte normalno strukturo tabele. Preprost primer:
Gross but sometimes useful.