Prikaz - CSS-triki

Anonim

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.


Element ima rdečo obrobo 1px. Upoštevajte, da se nahaja v vrstici s preostalim delom 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 heightin width. Samo ignoriral ga bo.

Vrstni blok

Element, ki inline-blockje 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 widthin heightki bo spoštovan.

Blokiraj

Številni elementi so nastavljeni v blocktabeli slogi brskalnika. Običajno so elementi vsebnika, kot so , in

    . Tudi besedilo "blokira" všeč

    in

    . Elementi ravni bloka ne sedijo v vrstici, ampak se prebijejo mimo njih. Privzeto (brez nastavitve širine) zavzamejo čim več vodoravnega prostora.
    Dva elementa z rdečimi obrobami sta

    s, ki so elementi na ravni bloka. Element med jim ne inline sedel, ker so bloki prekinil spodaj inline elementov.

    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:

    Vendar ne računajte na to.

    Flexbox

    displayLastnost 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-rootvrednost 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. 

    Več informacij

    • MDN