Pagina principala » Codificare » Ghid de configurare a rețelei CSS Fr

    Ghid de configurare a rețelei CSS Fr

    Modul de configurare a rețelei CSS a fost expediat cu noua unitate CSS numit fr unitate. La fel de simplu cum poate fi, fr este abrevierea cuvântului “fracțiune”. Noua unitate face posibilă șlefuirea rapidă a coloanei în coloane sau rânduri proporționale. Ca urmare, crearea de grilaje flexibile și complet flexibile devine aproape o briză.

    Pe măsură ce unitatea fracțiunii a fost introdusă împreună cu modulul Grid Layout, îl puteți utiliza în orice browser care îl utilizează sprijină grila CSS. Dacă doriți, de asemenea, să acceptați browsere mai vechi, aici este un lucru minunat CPS grilă polyfill care vă permite să utilizați nu numai fr unitate, dar și alte caracteristici ale rețelei.

    Utilizare de bază

    În primul rând, să aruncăm o privire la a rețea de bază care utilizează unitatea fracțiunii. Schema de mai jos împarte spațiul în trei coloane cu aceeași lățime și două rânduri de înălțime egală.

    HTML-ul aparținând lui este compus din șase div marcate cu .cutie clasă, în interiorul a .învelitoare div.

     
    1.
    2.
    3.
    4.
    5.
    6.

    Pentru a utiliza modulul Grid Layout, trebuie să adăugați afișare: grilă; Proprietatea CSS în pachet. grilă matriță coloane proprietatea utilizează fr unitate ca valoare; raportul dintre cele trei coloane este 1: 1: 1.

    Pentru rândurile de grilă (grid-șablon rânduri proprietate), nu am folosit fr unitate, deoarece are sens doar dacă ambalajul are o înălțime fixă. În caz contrar, poate avea rezultate ciudate pe unele dispozitive, cu toate acestea, chiar și atunci, fr unitate menține raportul (și acest lucru este imens).

    grid-gap proprietate adaugă o grilă de 10px în interiorul cutiilor. Dacă nu vreți vreun decalaj să eliminați această proprietate.

     .înveliș display: grilă; grilă-șablon-coloane: 1fr 1fr 1fr; grilă-șablon-rânduri: 200px 200px; grilă-decalaj: 10 pixeli;  .box culoare: alb; text-align: centru; font-size: 30px; padding: 25px;  

    Rețineți că CSS de mai sus nu conține un stil de bază, cum ar fi culorile de fundal. Poti găsiți codul complet în demo la sfârșitul articolului.

    Raportul de schimbare

    Desigur, nu puteți folosi doar 1: 1: 1, ci orice rație doriți. Mai jos, am folosit 1: 2: 1 fracții care de asemenea împart spațiul în trei coloane dar coloana din mijloc va fi de două ori mai largi ca și celelalte două.

    De asemenea, am crescut valoarea grid-gap astfel încât să puteți vedea cum modifică aspectul. Practic, browser-ul deduce decalajul de rețea din lățimea ferestrei de vizualizare (în acest exemplu, decalajele rețelei adaugă până la 80 de pixeli) și taie restul conform fracțiunilor date.

     .înveliș display: grilă; grilă-șablon-coloane: 1fr 2fr 1fr; grilă-șablon-rânduri: 200px 200px; grilă-decalaj: 40px;  

    Combina fr cu alte unități CSS

    Poti combina fr unitate cu orice alte unități CSS de asemenea. De exemplu, în exemplul de mai jos, am folosit 60% 1fr 2fr pentru grila mea.

    Deci, cum funcționează acest lucru? browserul atribuie 60% din lățimea ferestrei de vizualizare la prima coloană. Apoi, ea împarte restul spațiului în fracțiuni de 1: 2.

    Același lucru ar putea fi scris și ca 60% 13.33333% 26.66667%. Dar sincer, de ce ar vrea cineva să folosească formatul respectiv? Un avantaj uriaș al unității fracționare este că acesta este îmbunătățește citirea codului. Mai mult, este complet exacte, deoarece formatul procentual se adaugă până la 99,9999%.

     .înveliș display: grilă; grilă-șablon-coloane: 60% 1fr 2fr; grilă-șablon-rânduri: 200px 200px; grilă-decalaj: 10 pixeli;  

    În afară de procente, puteți utiliza și alte unități CSS împreună cu unitatea fracțiunii, de exemplu pt, px, em, și rem.

    Adăugați spațiul alb cu fr

    Dacă nu doriți ca designul dvs. să fie aglomerat și adăugați niște spații albe la grilă? Unitatea fracție are, de asemenea, o soluție simplă pentru aceasta.

    După cum puteți vedea, această grilă are o coloană goală în timp ce încă mai păstrează toate cele șase casete. Pentru acest aspect, trebuie să alunecăm spațiul în patru coloane în loc de trei. Deci, folosim 1fr 1fr 1fr 1fr valoare pentru grilă matriță coloane proprietate.

    Adăugăm coloana goală în interiorul lui grid-șablon-zone proprietate, folosind notație punct. Practic, această proprietate vă permite să referință denumită zone de rețea. Și, puteți numi zonele de rețea cu grid-area proprietate pe care trebuie să o utilizați separat pentru fiecare zonă.

     .înveliș display: grilă; grilă-șablon-coloane: 1fr 1fr 1fr 1fr; grilă-șablon-rânduri: 200px 200px; grilă-decalaj: 10 pixeli; grilă-șablon-zone: "cutie-1 cutie-2" cutie-3 "" cutie-4 cutie-5.  .box-1 zona grilă: caseta-1;  .box-2 zona grilă: caseta-2;  .box-3 zona grilă: caseta-3;  .box-4 zona grilă: caseta-4;  .box-5 zona grilă: caseta-5;  .box-6 zona grilă: caseta-6;  

    Zonele cu spații albe nu trebuie neapărat să formați o coloană, ei poate fi oriunde în rețea.

    repeta() funcţie

    De asemenea, puteți utiliza funcția fr unitate împreună cu repeta() funcţie Pentru o simplă mai simplă. , acest lucru nu este necesar dacă aveți doar o rețea simplă, dar puteți veni la îndemână atunci când doriți implementa un aspect complicat, de exemplu a gratar imbricat.

     .înveliș display: grilă; grilă-șablon-coloane: repeat (3, 1fr); / * grilă-șablon-coloane: 1fr 1fr 1fr; * / grilă-șablon-rânduri: 200px; grilă-decalaj: 10 pixeli;  

    repetați (3, 1fr) sintaxă rezultă în același aspect la fel de 1fr 1fr 1fr. Schema de mai jos este identică cu primul exemplu.

    daca tu măriți multiplicatorul în interiorul repeta() veți avea mai multe coloane. De exemplu, repetați (6, 1fr) rezultatele în șase coloane egale. În acest caz, toate casetele noastre va fi în același rând, ceea ce înseamnă că este suficient să utilizați o singură valoare (200px) pentru grid-șablon rânduri proprietate.

     .înveliș display: grilă; grilă-șablon-coloane: repeat (6, 1fr); grilă-șablon-rânduri: 200px; grilă-decalaj: 10 pixeli;  

    Poți să folosești repeta() mai mult de o dată. De exemplu, următorul exemplu are ca rezultat o rețea în care sunt ultimele trei coloane de două ori mai largi ca primele trei.

     .înveliș display: grilă; grilă-șablon-coloane: repeat (3, 1 fr) repetare (3, 2fr); grilă-șablon-rânduri: 200px; grilă-decalaj: 10 pixeli;  

    Poti de asemenea combina repeta() cu alte unități CSS. De exemplu, ați putea folosi 200px repetare (4, 1fr) 200px ca un cod valid.

    Dacă sunteți interesat de cum să creați structuri complexe cu modulul CSS Grid, repeta() și funcția fr unitatea Rachel Andrew are o postare interesantă pe blog despre cum poți face asta.

    Demo pentru experimentare

    In cele din urma, iată demo-ul pe care l-am promis. Utilizează același cod ca primul exemplu din acest articol. Fork it, și vezi ce puteți obține cu fr unitate.