CSS Flexbox
- Edellinen sivu CSS Box Sizing
- Seuraava sivu CSS media-kyselyt
CSS Flexbox-asettelumoduuli
Ennen Flexbox-asettelumoduulin (tullessa) käyttöön, käytettävissä olevat asettelumallit ovat seuraavat neljä:
- Blokki (Block), käytetään verkkosivun osiin (osioihin)
- Sisäänrakennettu (Inline), käytetään tekstiin
- Taulukko, käytetään kahdemaarisen taulukodataan
- Sijoittelu, käytetään elementin selkeään sijaintiin
Joustava ruudukkoon kuuluva moduuli, joka mahdollistaa joustavien vastauksellisten asettelustructuurien suunnittelun ilman, että tarvitsee käyttää virrtoja tai sijoittelua.
Selaimen tuki
Kaikki nykyaikaiset selaimet tukevat flexbox
ominaisuudet.
29.0 | 11.0 | 22.0 | 10 | 48 |
Flexbox-elementit
Jos haluat aloittaa Flexbox-mallin käytön, sinun täytyy ensin määrittää Flex-container.
Ylempi elementti edustaa flex-konttoria, jossa on kolme flex-projektia (sininen alue).
Esimerkki
Konttori, jossa on kolme flex-projektia:
<div class="flex-container"> <div>1</div> <div>2</div> <div>3</div> </div>
Vanhempi elementti (konttori)
Käyttämällä: display
Ominaisuus asetetaan: flex
,flex-容器 on joustava:
Esimerkki
.flex-container { display: flex; }
Tässä on flex-容器属性:
flex-direction-ominaisuus
flex-direction
Ominaisuus määrittää, mihin suuntaan konttorin pitäisi kerätä flex-projekteja.
Esimerkki
column
Arvo asettaa flex-projektit vertikaalisesti (yltä alas):
.flex-container { display: flex; flex-direction: column; }
Esimerkki
column-reverse
Arvo asettaa flex-projektit vertikaalisesti (alhaalta ylös):
.flex-container { display: flex; flex-direction: column-reverse; }
Esimerkki
row
Arvo asettaa flex-projektit horisontaalisesti (vasemmalta oikealle):
.flex-container { display: flex; flex-direction: row; }
Esimerkki
row-reverse
Arvo asettaa flex-projektit horisontaalisesti (oikealta vasemmalle):
.flex-container { display: flex; flex-direction: row-reverse; }
flex-wrap-ominaisuus
flex-wrap
Ominaisuus määrää, tulisiko flex-projekteja vaihtaa riville.
Tässä esimerkissä on 12 flex-projektia, jotta flex-wrap-ominaisuus voidaan esitellä paremmin.
Esimerkki
wrap
Arvo määrää, että flex-projektit vaihtuvat riville tarvittaessa:
.flex-container { display: flex; flex-wrap: wrap; }
Esimerkki
nowrap
Arvo määrää, että flex-projektia ei vaihdeta riville (oletusarvo):
.flex-container { display: flex; flex-wrap: nowrap; }
Esimerkki
wrap-reverse
Arvo määrää, että tarvittaessa joustavat projektit vaihtuvat takaperin:
.flex-container { display: flex; flex-wrap: wrap-reverse; }
flex-flow-ominaisuus
flex-flow
Ominaisuus on lyhennysominaisuus, joka käytetään samanaikaisesti flex-direction- ja flex-wrap-ominaisuuksien asettamiseen.
Esimerkki
.flex-container { display: flex; flex-flow: row wrap; }
justify-content-ominaisuus
justify-content
Ominaisuus käytetään flex-projektien tasapainottamiseen:
Esimerkki
center
Arvo tasapainottaa flex-projektit konttorin keskellä:
.flex-container { display: flex; justify-content: center; }
Esimerkki
flex-start
Arvo tasapainottaa flex-projektit konttorin alussa (oletusarvo):
.flex-container { display: flex; justify-content: flex-start; }
Esimerkki
flex-end
Arvo tasapainottaa flex-projektit konttorin loppupäässä:
.flex-container { display: flex; justify-content: flex-end; }
Esimerkki
space-around
Arvo näyttää flex-projektit, joilla on välit ennen, välissä ja jälkeen riveillä:
.flex-container { display: flex; justify-content: space-around; }
Esimerkki
space-between
Arvo näyttää flex-projektien, joilla on välit riveillä:
.flex-container { display: flex; justify-content: space-between; }
align-items-ominaisuus
align-items
Ominaisuus käytetään flex-projektien pystysuuntaiseen tasapainottamiseen.
Näissä esimerkeissä käytämme 200 pikselin korkeaa konttoria, jotta align-items-ominaisuus voidaan esitellä paremmin.
Esimerkki
center
Arvo tasaa flex-kohdetta konttorin keskellä:
.flex-container { display: flex; korkeus: 200px; align-items: center; }
Esimerkki
flex-start
Arvo tasaa flex-kohdetta konttorin yläreunalla:
.flex-container { display: flex; korkeus: 200px; align-items: flex-start; }
Esimerkki
flex-end
Arvo tasaa joustavat kohdetta konttorin alareunalla:
.flex-container { display: flex; korkeus: 200px; align-items: flex-end; }
Esimerkki
stretch
Arvo venyttää flex-kohdetta täyttääkseen konttorin (oletusarvo):
.flex-container { display: flex; korkeus: 200px; align-items: stretch; }
Esimerkki
baseline
Arvo tekee flex-kohdista peruslinjalla tasatut:
.flex-container { display: flex; korkeus: 200px; align-items: baseline; }
Huomaa:Tässä esimerkissä käytetään eri font-size-asetuksia esittääksemme, että kohteet ovat tasalla tekstin peruslinjalla:
align-content-ominaisuus
align-content
Ominaisuus käytetään joustavien linjojen tasaukseen.
Näissä esimerkeissä käytämme 600 pikselin korkeaa konttoria ja asetamme flex-wrap-ominaisuuden wrapiksi paremman esittämisen tarkoituksessa align-content-ominaisuuden.
Esimerkki
space-between
Arvo näyttää joustavan linjan välillä yhtä suuressa etäisyydessä:
.flex-container { display: flex; korkeus: 600px; flex-wrap: wrap; align-content: space-between; }
Esimerkki
space-around
Arvo näyttää joustavan linjan ennen, välissä ja jälkeen avaruudella:
.flex-container { display: flex; korkeus: 600px; flex-wrap: wrap; align-content: space-around; }
Esimerkki
stretch
Arvo venyttää joustavan linjan täyttääkseen jäljelle jäävän tilan (oletusarvo):
.flex-container { display: flex; korkeus: 600px; flex-wrap: wrap; align-content: stretch; }
Esimerkki
center
Arvo näyttää joustavan linjan konttorin keskellä:
.flex-container { display: flex; korkeus: 600px; flex-wrap: wrap; align-content: center; }
Esimerkki
flex-start
Arvo näyttää joustavan linjan konttorin alussa:
.flex-container { display: flex; korkeus: 600px; flex-wrap: wrap; align-content: flex-start; }
Esimerkki
flex-end
Arvo näyttää joustavan linjan konttorin lopussa:
.flex-container { display: flex; korkeus: 600px; flex-wrap: wrap; align-content: flex-end; }
Täydellinen keskittäminen
Esimerkissä käsittelemme erittäin yleistä tyylellistä ongelmaa: täydellinen keskittäminen.
Ratkaisu: Asetetaan justify-content
ja align-items
Asetetaan ominaisuus keskelle, sitten flex-kohde keskittyy täydellisesti:
Esimerkki
.flex-container { display: flex; korkeus: 300px; justify-content: center; align-items: center; }
Lapsen elementit (kohteet)
Flex-konttorin suorat lapsen elementit tulevat automaattisesti joustaviksi (flex) kohteiksi.
上面的元素代表一个灰色 flex 容器内的四个蓝色 flex 项目。
Esimerkki
<div class="flex-container"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div>
用于弹性项目的属性有:
order
flex-grow
flex-shrink
flex-basis
flex
align-self
order 属性
order
属性规定 flex 项目的顺序。
代码中的首个 flex 项目不必在布局中显示为第一项。
order
值必须是数字,默认值是 0。
Esimerkki
order
属性可以改变 flex 项目的顺序:
<div class="flex-container"> <div style="order: 3">1</div> <div style="order: 2">2</div> <div style="order: 4">3</div> <div style="order: 1">4</div> </div>
flex-grow 属性
flex-grow
属性规定某个 flex 项目相对于其余 flex 项目将增长多少。
该值必须是数字,默认值是 0。
Esimerkki
使第三个弹性项目的增长速度比其他弹性项目快八倍:
<div class="flex-container"> <div style="flex-grow: 1">1</div> <div style="flex-grow: 1">2</div> <div style="flex-grow: 8">3</div> </div>
flex-shrink 属性
flex-shrink
属性规定某个 flex 项目相对于其余 flex 项目将收缩多少。
该值必须是数字,默认值是 0。
Esimerkki
不要让第三个弹性项目收缩得与其他弹性项目一样多:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="flex-shrink: 0">3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> <div>10</div> </div>
flex-basis 属性
flex-basis
属性规定 flex 项目的初始长度。
Esimerkki
将第三个弹性项目的初始长度设置为 200 像素:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="flex-basis: 200px">3</div> <div>4</div> </div>
flex 属性
flex
属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写属性。
Esimerkki
使第三个弹性项目不可增长(0),不可收缩(0),且初始长度为 200 像素:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="flex: 0 0 200px">3</div> <div>4</div> </div>
align-self 属性
align-self
属性规定弹性容器内所选项目的对齐方式。
align-self
Ominaisuus korvaa konttorin align-items ominaisuudella asetetun oletusasennuksen.
Näissä esimerkeissä käytämme 200 pikselin korkeaa konttoria, jotta align-self ominaisuus voidaan esitellä paremmin:
Esimerkki
Tasaa kolmannen joustavan elementin konttorin keskelle:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="align-self: center">3</div> <div>4</div> </div>
Esimerkki
Tasaa toisen joustavan elementin konttorin ylälaidalle ja kolmannen joustavan elementin konttorin alalaidalle:
<div class="flex-container"> <div>1</div> <div style="align-self: flex-start">2</div> <div style="align-self: flex-end">3</div> <div>4</div> </div>
Responsiivinen kuvakokoelma Flexboxin avulla
Luo responsiivinen kuvakokoelma Flexboxin avulla, joka muuttuu neljästä, kahdesta tai täysin leveästä kuvasta näytön kokoon mukaan:
Responsiivinen verkkosivusto Flexboxin avulla
Luo responsiivinen verkkosivusto flexboxin avulla, joka sisältää joustavan navigointipalkin ja joustavan sisällön:
CSS Flexbox ominaisuudet
Seuraavassa taulukossa luetellaan CSS-ominaisuudet, joita käytetään flexbox-yhdessä:
Ominaisuus | Kuvaus |
---|---|
display | Määrittää HTML-elementin laatikon tyyppisyyden. |
flex-direction | Määrittää joustavan konttorin joustavien elementtien suunnan. |
justify-content | Tasoittaa nämä elementit horisontaalisesti, kun joustavat elementit eivät käytä kaikkea pääakselin käytettävissä olevaa tilaa. |
align-items | Tasoittaa nämä elementit pystysuunnassa, kun joustavat elementit eivät käytä kaikkea pääakselin käytettävissä olevaa tilaa. |
flex-wrap | Määrittää, tulisiko joustaville elementeille vaihtaa rivejä, jos yhdellä flex-järjestyksellä ei ole riittävästi tilaa niille. |
align-content | Muuttaa flex-wrap ominaisuuden käyttäytymistä. On samanlainen align-items ominaisuuden kanssa, mutta ei tasaa joustavia elementtejä, vaan flex-järjestystä. |
flex-flow | flex-direction ja flex-wrap ominaisuuksien lyhennetty muoto. |
order | Määrittää joustavien elementtien järjestys konttorin sisällä olevien muiden joustavien elementtien suhteen. |
align-self | Käytetään joustavien elementtien kanssa. Korvaa konttorin align-items ominaisuuden. |
flex | flex-grow、flex-shrink ja flex-basis ominaisuuksien lyhennetty muoto. |
- Edellinen sivu CSS Box Sizing
- Seuraava sivu CSS media-kyselyt