204 of 313 menu

Flex-grow-ominaisuus

Ominaisuus flex-grow määrittää sen, kuinka paljon yksittäinen flex-lohko voi olla naapurielementtejä suurempi, jos se on tarpeen.

Esimerkiksi, jos kaikilla flex-lohkoilla flex-säiliön sisällä on flex-grow:1, ne ovat samankokoisia. Jos yhdellä niistä on flex-grow:2, se on 2 kertaa suurempi kuin kaikki muut.

Jos elementtien kokonaisleveys on vähemmän kuin vanhemman leveys, niin oikealle jää tyhjää tilaa. Halutessa tämä tyhjä tila voidaan jakaa suhteellisesti elementtien kesken. Tämä tehdään flex-grow-ominaisuudella, joka asetetaan flex-elementeille. Tämän ominaisuuden arvona on dimensioton numero.

Sovelletaan: yksittäiseen flex-lohkoon.

Tämä ominaisuus on osana lyhennettyä ominaisuutta flex.

Syntaksi

valitsija { flex-grow: positiivinen numero; }

Oletusarvo: 0.

Esimerkki

Meillä on nyt kaksi flex-lohkoa, joiden leveys on 100px. Niiden kokonaisleveys on 200px, ja vanhemman leveys on 300px. Saadaan, että jäljelle jää vapaata tilaa 100px.

Jos elementeille ei ole asetettu flex-grow, näemme vain tämän vapaan tilan. Jos se on niille asetettu, niin elementtien todellinen leveys on suurempi kuin asetettu - ne jakavat vapaan tilan suhteellisesti keskenään ja lisäävät sen omaan leveyteensä.

Olkoon esimerkiksi ensimmäisen elementin flex-grow yhtä suuri kuin 1, ja toisen - 3. Lasketaan, kuinka suuren osan vapaasta tilasta kukin elementti saa.

Ensin on saatava kaikkien elementtiemme flex-grow-yksiköiden kokonaismäärä. Ensimmäisen elementin arvo on 1, ja toisen - 3. Tämä tarkoittaa, että yhteensä se on 4.

Jaetaan nyt 100px vapaata tilaa 4:llä ja saadaan, että 25px kohdistuu yhteen flex-grow-yksikköön. Saadaan, että ensimmäiseen elementtiin lisätään yksi yksikkö flex-grow, eli 25px, ja toiseen - kolme yksikköä, eli 75px.

Ensimmäisen elementin leveys on 125px, ja toisen - 175px:

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> </div> .parent { display: flex; width: 300px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 100px; flex-grow: 1; } .elem2 { width: 100px; flex-grow: 3; }

:

Esimerkki

Olkoon nyt vanhemman leveys yhtä suuri kuin 400px, ensimmäisen elementin leveys 200px, ja toisen elementin leveys - 100px. Saadaan, että vapaa tila on jälleen yhtä suuri kuin 100px.

Asetetaan jokaiselle elementille flex-grow, yhtä suuri kuin 1. Yhteensä saadaan 2, eli 100px vapaata tilaa on jaettava 2:lla. Saadaan, että 50px kohdistuu yhteen ahneusyksikköön.

Koska kaikilla elementeillä on sama arvo flex-grow, niin kaikkiin elementteihin lisätään sama arvo, 50px. Tämä tarkoittaa, että ensimmäinen elementistä tulee 250px, ja toinen tulee 150px:

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> </div> .parent { display: flex; width: 400px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 200px; flex-grow: 1; } .elem2 { width: 100px; flex-grow: 1; }

:

Esimerkki

Olkoon jälleen vanhemman leveys yhtä suuri kuin 400px, ensimmäisen elementin leveys 200px, ja toisen elementin leveys - 100px.

Asetetaan nyt ensimmäiselle elementille flex-grow arvoksi 3, ja toiselle - arvoksi 1. Saadaan, että ahneus yhteensä on 4. Silloin yksi ahneusyksikkö on 100px / 4 = 25px.

Ensimmäiseen elementtiin lisätään 75px, ja siitä tulee 275px, ja toiseen - 25px, siitä tulee 125px:

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> </div> .parent { display: flex; width: 400px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 200px; flex-grow: 3; } .elem2 { width: 100px; flex-grow: 1; }

:

Katso myös

  • ominaisuus flex-direction,
    joka asettaa flex-lohkojen akseleiden suunnan
  • ominaisuus justify-content,
    joka asettaa tasauksen pääakselilla
  • ominaisuus align-items,
    joka asettaa tasauksen poikkidakselilla
  • ominaisuus flex-wrap,
    joka asettaa flex-lohkojen monirivisyyden
  • ominaisuus flex-flow,
    lyhenne flex-directionille ja flex-wraplle
  • ominaisuus order,
    joka asettaa flex-lohkojen järjestyksen
  • ominaisuus align-self,
    joka asettaa yhden lohkon tasauksen
  • ominaisuus flex-basis,
    joka asettaa tietyn flex-lohkon koon
  • ominaisuus flex-shrink,
    joka asettaa flex-lohkojen kutistuvuuden
  • ominaisuus flex,
    lyhenne flex-growille, flex-shrinkille ja flex-basisille
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää