Pagrindinis » Kodavimas » „CSS Grid Layout Fr Unit“ vadovas

    „CSS Grid Layout Fr Unit“ vadovas

    The CSS tinklelio išdėstymo modulis buvo išsiųstas su a naujas CSS įrenginys vadinamas fr vienetas. Taip paprasta, kaip ji gali būti, fr yra žodžio santrumpa “frakcija”. Naujas vienetas leidžia greitai supjaustyti tinklelį į proporcingas stulpelius ar eilutes. Kaip rezultatas, sukurti visiškai reaguojantys ir lankstūs tinklai tampa beveik vėjas.

    Kadangi frakcijos vienetas buvo pristatytas kartu su „Grid Layout“ moduliu, galite jį naudoti bet kurioje naršyklėje palaiko CSS tinklą. Jei taip pat norite palaikyti senesnes naršykles, tai yra puiki CSS tinklelio polifilis tai leidžia naudoti ne tik fr vienetas, bet ir kitos tinklo funkcijos.

    Pagrindinis naudojimas

    Pirma, pažvelkime a pagrindinio tinklo kuris naudoja frakcijos vienetą. Toliau pateiktas išdėstymas padalija erdvę į trys vienodo pločio stulpeliai ir dvi vienodo aukščio eilutės.

    Susidedantis HTML yra pagamintas iš šeši divai pažymėta .dėžė klasė, viduje .vyniojamasis popierius div.

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

    Norėdami naudoti „Grid Layout“ modulį, turite pridėti ekranas: tinklelis; CSS savybė pakuotei. The tinklelio šablonai nuosavybė naudoja fr vienetą kaip vertę; trijų stulpelių santykis yra 1: 1: 1.

    Tinklelio eilutėms (tinklelio šablonų eilutės nuosavybė), aš nenaudojau fr vienetą, nes tai tik prasminga, jei pakuotė turi fiksuotą aukštį. Priešingu atveju, kai kuriuose įrenginiuose jis gali turėti keistų rezultatų, tačiau net ir tada fr vienetas išlaiko santykį (ir tai didžiulis).

    The tinklo atotrūkis nuosavybė prideda 10px tinklelį tarp dėžių. Jei nenorite, kad spraga būtų pašalinta, tiesiog pašalinkite šią savybę.

     .įvyniojimas display: grid; tinklelio šablonai: 1fr 1fr 1fr; grid-template-rows: 200px 200px; tinklelio tarpas: 10px; . dėžutė spalva: balta; teksto derinimas: centras; šrifto dydis: 30px; paminkštinimas: 25px;  

    Atminkite, kad aukščiau pateiktame CSS nėra kai kurių pagrindinių stilių, pvz., Fono spalvų. Tu gali rasti visą kodą demo pabaigoje.

    Keisti santykį

    Žinoma, jūs negalite naudoti tik 1: 1: 1, bet bet kokį norimą santykį. Žemiau aš naudoju 1: 2: 1 frakcijos taip pat padalija erdvę į trys stulpeliai bet vidutinis stulpelis bus dvigubai platesnis kaip ir kiti du.

    Aš taip pat padidina vertę tinklo atotrūkis kad pamatytumėte, kaip jis keičia išdėstymą. Iš esmės naršyklė atskaito tinklelio tarpą nuo peržiūros srities pločio (šiame pavyzdyje tinklelio tarpai sudaro iki 80 pikselių), ir supjaustykite likusias dalis pagal nurodytas frakcijas.

     .įvyniojimas display: grid; tinklelio šablonai: 1fr 2fr 1fr; grid-template-rows: 200px 200px; tinklo tarpas: 40px;  

    Sujunkite fr su kitais CSS įrenginiais

    Tu gali derinti fr su bet kurie kiti CSS vienetai taip pat. Pavyzdžiui, toliau pateiktame pavyzdyje naudoju 60% 1fr 2fr mano tinklelio santykis.

    Taigi, kaip tai veikia? The naršyklė priskiria 60% peržiūros srities pločio į pirmąjį stulpelį. Tada likusioji dalis padalijama į 1: 2 frakcijas.

    Tas pats dalykas taip pat galėtų būti parašytas kaip 60% 13,33333% 26,66667%. Bet atvirai, kodėl kas nors norėtų naudoti šį formatą? Didelis frakcijos vieneto privalumas yra tai, kad jis pagerina kodo nuskaitymą. Be to, tai yra visiškai tikslūs, procentinė forma vis dar sudaro tik 99,9999%.

     .įvyniojimas display: grid; tinklelio šablonai: 60% 1fr 2fr; grid-template-rows: 200px 200px; tinklelio tarpas: 10px;  

    Be procentų, taip pat galite naudoti kitus CSS įrenginius kartu su frakcijos vienetu pt, px, em, ir rem.

    Pridėti tarpą su fr

    Ką daryti, jei nenorite, kad jūsų dizainas būtų užterštas ir pridėti šiek tiek tarpo į tinklą? Frakcijos vienetas taip pat turi paprastą sprendimą.

    Kaip matote, šis tinklas turi tuščią stulpelį tačiau vis dar išlaiko visus šešis langelius. Dėl šio išdėstymo mes turime supjaustyti erdvę į keturias stulpelius vietoj trijų. Taigi, mes naudojame 1fr 1fr 1fr 1fr vertė tinklelio šablonai nuosavybė.

    Mes pridėjome tuščią stulpelį viduje tinklo šablonų sritys nuosavybė, naudojant taškų žymėjimas. Iš esmės ši savybė leidžia nuoroda vadinama tinklelio sritimis. Be to, galite nurodyti tinklo sritis su tinklo plotas turtą, kurį reikia naudoti atskirai kiekvienai sričiai.

     .įvyniojimas display: grid; tinklelio šablonai: 1fr 1fr 1fr 1fr; grid-template-rows: 200px 200px; tinklelio tarpas: 10px; tinklinio šablono sritys: "box-1 box-2. 3 langelis" "4 langelis-5 langelis. 6 langelis";  .box-1 tinklelio sritis: 1 langelis;  .box-2 tinklelio sritis: 2 langelis;  .box-3 tinklelio sritis: 3 langelis;  .box-4 tinklelio sritis: 4 langelis;  .box-5 tinklelio sritis: 5 langelis;  .box-6 tinklelio sritis: 6 langelis;  

    Erdvės sritys nebūtinai turi sudaryti stulpelį, jie gali būti bet kur tinkle.

    The pakartoti () funkcija

    Taip pat galite naudoti fr vienetas kartu su pakartoti () funkcija dėl paprastesnė sintaksė. , tai nėra būtina, jei turite tik paprastą tinklelį, bet gali būti naudinga, kai norite įgyvendinti sudėtingą išdėstymą, pavyzdžiui, a įmontuotas tinklelis.

     .įvyniojimas display: grid; tinklelio šablonai: kartoti (3, 1fr); / * tinklelio šablonai: 1fr 1fr 1fr; * / Grid-template-rows: 200px; tinklelio tarpas: 10px;  

    The pakartoti (3, 1fr) sintaksė rezultatas yra toks pat kaip 1fr 1fr 1fr. Žemiau pateiktas išdėstymas yra tas pats, kaip ir pirmasis pavyzdys.

    Jei tu padidinti koeficientą viduje pakartoti () funkcija turės daugiau stulpelių. Pavyzdžiui, pakartoti (6, 1fr) rezultatus šešios lygios stulpeliai. Šiuo atveju, visos mūsų dėžutės bus toje pačioje eilutėje, tai reiškia, kad pakanka naudoti tik vieną vertę (200px) tinklelio šablonų eilutės nuosavybė.

     .įvyniojimas display: grid; tinklelio šablonai: kartoti (6, 1fr); tinklelio šablonai: 200px; tinklelio tarpas: 10px;  

    Tu gali naudoti pakartoti () daugiau nei kartą. Pavyzdžiui, toliau pateiktame pavyzdyje atsiranda tinklelis, kuriame yra trys paskutinės stulpeliai dvigubai platesnis kaip pirmieji trys.

     .įvyniojimas display: grid; grid-template-columns: pakartokite (3, 1fr) pakartojimą (3, 2fr); tinklelio šablonai: 200px; tinklelio tarpas: 10px;  

    Tu taip pat gali derinti pakartoti () su kitais CSS įrenginiais. Pavyzdžiui, galite naudoti 200px pakartojimas (4, 1fr) 200px kaip galiojantį kodą.

    Jei jus domina, kaip tai padaryti sukurti sudėtingus išdėstymus su CSS Grid moduliu pakartoti () funkcija ir fr „Rachel Andrew“ turi įdomų dienoraščio įrašą apie tai, kaip galite tai padaryti.

    Demonstracinis bandymas

    Pagaliau, čia yra pažadas, kurį pažadėjau. Jis naudoja tą patį kodą kaip ir pirmasis šio straipsnio pavyzdys. Nuplėškite jį ir pažiūrėkite, ką galite pasiekti fr vienetas.