CSS Flexbox
- 上一页 CSS Box Sizing
- 下一页 CSS Media Query
CSS Flexbox 布局模块
在 Flexbox 布局模块(问世)之前,可用的布局模式有以下四种:
- 块(Block),用于网页中的部分(节)
- 行内(Inline),用于文本
- 表,用于二维表数据
- 定位,用于元素的明确位置
弹性框布局模块,可以更轻松地设计灵活的响应式布局结构,而无需使用浮动或定位。
Mafanikio ya barabara
Barabara zote za kifupi zinaongea kwa Flexbox. flexbox
Mafano.
29.0 | 11.0 | 22.0 | 10 | 48 |
Mifano ya Flexbox
Kuwa kuwa kuanza kutumia modeli ya Flexbox, inafaa kuangalia kwanza kufafanua kufungua kina Flex.
上面的元素表示一个带有三个 flex 项目的 flex 容器(蓝色区域)。
Mfano
含有三个 flex 项目的 flex 容器:
<div class="flex-container"> <div>1</div> <div>2</div> <div>3</div> </div>
父元素(容器)
通过将 display
属性设置为 flex
,flex 容器将可伸缩:
Mfano
.flex-container { display: flex; }
以下是 flex 容器属性:
Mwongozo wa flex-direction
flex-direction
属性定义容器要在哪个方向上堆叠 flex 项目。
Mfano
column
值设置垂直堆叠 flex 项目(从上到下):
.flex-container { display: flex; flex-direction: column; }
Mfano
column-reverse
值垂直堆叠 flex 项目(但从下到上):
.flex-container { display: flex; flex-direction: column-reverse; }
Mfano
row
值水平堆叠 flex 项目(从左到右):
.flex-container { display: flex; flex-direction: row; }
Mfano
row-reverse
值水平堆叠 flex 项目(但从右到左):
.flex-container { display: flex; flex-direction: row-reverse; }
Mwongozo wa flex-wrap
flex-wrap
属性规定是否应该对 flex 项目换行。
下面的例子包含 12 个 flex 项目,以便更好地演示 flex-wrap 属性。
Mfano
wrap
值规定 flex 项目将在必要时进行换行:
.flex-container { display: flex; flex-wrap: wrap; }
Mfano
nowrap
值规定将不对 flex 项目换行(默认):
.flex-container { display: flex; flex-wrap: nowrap; }
Mfano
wrap-reverse
值规定如有必要,弹性项目将以相反的顺序换行:
.flex-container { display: flex; flex-wrap: wrap-reverse; }
Mwongozo wa flex-flow
flex-flow
属性是用于同时设置 flex-direction 和 flex-wrap 属性的简写属性。
Mfano
.flex-container { display: flex; flex-flow: row wrap; }
Mwongozo wa justify-content
justify-content
属性用于对齐 flex 项目:
Mfano
center
值将 flex 项目在容器的中心对齐:
.flex-container { display: flex; justify-content: center; }
Mfano
flex-start
值将 flex 项目在容器的开头对齐(默认):
.flex-container { display: flex; justify-content: flex-start; }
Mfano
flex-end
值将 flex 项目在容器的末端对齐:
.flex-container { display: flex; justify-content: flex-end; }
Mfano
space-around
值显示行之前、之间和之后带有空格的 flex 项目:
.flex-container { display: flex; justify-content: space-around; }
Mfano
space-between
值显示行之间有空格的 flex 项目:
.flex-container { display: flex; justify-content: space-between; }
Mwongozo wa align-items
align-items
Mafanikio huitumika kuanzisha mifanikio ya kina kwa kina kina flex.
Kwa mifano hii, tumetumia kina kipimo 200 kipimo kipya, kuzingatia kuonekana kwa hisia ya uangalifu wa mafanikio ya align-items.
Mfano
center
Inaonesha kwamba projekti ya flexi inafikiria kwenye kati cha kifungu:
.flex-container { display: flex; height: 200px; align-items: center; }
Mfano
flex-start
Inaonesha kwamba projekti ya flexi inafikiria kwenye kwanza cha kifungu:
.flex-container { display: flex; height: 200px; align-items: flex-start; }
Mfano
flex-end
Inaonesha kwamba projekti ya flexi inafikiria kwenye chini cha kifungu:
.flex-container { display: flex; height: 200px; align-items: flex-end; }
Mfano
stretch
Inaonesha kwamba projekti ya flexi inenea kufikiria kufikiria kifungu (kwa kawaida):
.flex-container { display: flex; height: 200px; align-items: stretch; }
Mfano
baseline
Inaonesha kwamba projekti ya flexi yana ufuatano kwa mawingu wa chini wa matukio:
.flex-container { display: flex; height: 200px; align-items: baseline; }
Tahadhari:Kwenye mifano hii, tunatumia font-size tofauti kuonyesha kwamba projekti yana ufuatano kwa kuzingatia mawingu wa chini ya matukio:
Mwongozo wa align-content
align-content
Inatumiwa kwa kusimamia mafanikio ya flexi.
Kwenye mifano hii, tumetumia kifungu cha 600 mita kubwa na kutumia mafanikio ya flex-wrap kwa wrap, ili kufikiria kwa kawaida mafanikio ya align-content.
Mfano
space-between
Inaonesha mafanikio ya flexi kwenye mawingu magumu kati:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: space-between; }
Mfano
space-around
Inaonesha mafanikio ya flexi kwenye mawingu kabla, kati na baada ya mawingu:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: space-around; }
Mfano
stretch
Inaonyesha mafanikio ya flexi kuenea kufikiria eneo lenye uharibifu (kwa kawaida):
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: stretch; }
Mfano
center
Inaonesha mafanikio ya flexi kwenye kati cha kifungu:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: center; }
Mfano
flex-start
Inaonesha mafanikio ya flexi kwenye kwanza cha kifungu:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: flex-start; }
Mfano
flex-end
Inaonesha mafanikio ya flexi kwenye mwisho wa kifungu:
.flex-container { display: flex; height: 600px; flex-wrap: wrap; align-content: flex-end; }
Kufikiria kati kwa kufanana
Kwenye mifano iliyotengenezwa, tutasaidia kusolwa masuala ya muhimu ya muundo: kuwafikiria kati kwa kufanana.
Solve: Ingiza justify-content
na align-items
Mafanikio yaliyotumiwa kwa ujumbe huzingatia kwenda kati, flexi ya projekti yana ufunuo kwa kufikiria kati:
Mfano
.flex-container { display: flex; height: 300px; justify-content: center; align-items: center; }
Mbinu (projekti)
Mbinu ya kifungu cha flex kinahitaji kutoa mafanikio ya flexi (flex).
Mfano huo unaonyesha kufikiria vipengele ya kilele nne ya kijasiri yenye kundi la kilele la kijani.
Mfano
<div class="flex-container"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> </div>
Inasababu inayotumika kwa vipengele ya kilele ni:
order
flex-grow
flex-shrink
flex-basis
flex
align-self
Inasababu ya order
order
Inasababu inayohusisha ukirekebisha vipengele ya flex.
Inasababu inayohusisha vipengele ya flex ya kwanza kwenye programu haianaeza kuonekana kama kwanza katika muundo.
order
Inaruhusiwa sana namba, chaguo cha kuzingatia ni 0.
Mfano
order
Inasababu inaweza kuhusisha ukirekebisha vipengele ya 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>
Inasababu ya flex-grow
flex-grow
Inasababu inayohusisha ukuzenda kwa vipengele ya flex kwa kawaida kwa vipengele vingine vya kilele.
Inaruhusiwa sana namba, chaguo cha kuzingatia ni 0.
Mfano
Inafanya vipengele ya kilele cha tatu kuzenda kwa umato wa kuzenda kwa vipengele vingine vya kilele kwa wakati wa saba:
<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>
Inasababu ya flex-shrink
flex-shrink
Inasababu inayohusisha ukushirikiana kwa vipengele ya flex kwa kawaida kwa vipengele vingine vya kilele.
Inaruhusiwa sana namba, chaguo cha kuzingatia ni 0.
Mfano
Hutafuta vipengele ya kilele cha tatu haikuchukuliwa kama vipengele vingine vya kilele:
<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>
Inasababu ya flex-basis
flex-basis
Inasababu inayohusisha ukubwa wa awali wa vipengele ya flex.
Mfano
Inasababu inayofanya vipengele ya kilele cha tatu kuwa na ukubwa wa awali wa 200 mita:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="flex-basis: 200px">3</div> <div>4</div> </div>
Inasababu ya flex
flex
Inasababu ni inayotafsiri inasababu ya flex-grow, flex-shrink na flex-basis.
Mfano
Inafanya vipengele ya kilele cha tatu haiwezi kuzenda kubwa (0), haiwezi kushirikiana (0), na ina ukubwa wa awali wa 200 mita:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="flex: 0 0 200px">3</div> <div>4</div> </div>
Inasababu ya align-self
align-self
Inauza inasababu inayohusisha ukifuatilia kwa vipengele vyote vinavyotumika kwenye kundi la upana wa kilele.
align-self
Hisia inakubadilisha maadili ya kina ya kifungu ya align-items inayotumika kwa kina ya kina ya kifungu.
Kwenye mafano hayo, tumia kifungu kikubwa kwa 200 mita kubwa kwa sababu ya kufikiria maelezo ya hisia ya align-self:
Mfano
Inasababisha kina ya viumbe vya ubunifu ya tatu kuelekea kwa kina ya kina ya kifungu:
<div class="flex-container"> <div>1</div> <div>2</div> <div style="align-self: center">3</div> <div>4</div> </div>
Mfano
Inasababisha kina ya viumbe vya ubunifu ya pili kuelekea kwa kina ya kina kwa kina ya kifungu, na kina ya viumbe vya ubunifu ya tatu kuelekea kwa kina ya kifungu ya kina kwa kina ya kifungu:
<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>
Kina ya picha ya Flexbox
Tumia flexbox kufanya kina ya picha ya kijifunze, ambayo inachangia picha za nne, picha za mbili au picha za kina kwa ukubwa wa ekranu:
Tovuti ya kijifunze ya Flexbox
Tumia flexbox kufanya tovuti ya kijifunze, ambayo ina uwanja wa kijifunze na kina ya kifungu ya ubunifu:
Hisia ya CSS Flexbox
Makina ya hisia ya CSS inayotumika pamoja na flexbox ni kule chini:
Hisia | Inasababisha kina ya kifungu. |
---|---|
display | Inasababisha kina ya HTML kwa kina ya kifungu. |
flex-direction | Inasababisha viumbe vya ubunifu kwa kifungu. |
justify-content | Inasababisha viumbe vya ubunifu kuelekea kwa jinga kama hana hali kubadilika kwa axis ya kina. |
align-items | Inasababisha viumbe vya ubunifu kuelekea kwa jinga kama hana hali kubadilika kwa axis ya kina. |
flex-wrap | Inasababisha viumbe vya ubunifu kwa ukiripoti, kama hana hali kubadilika kwa kifungu. Inaangalia na flex-wrap. |
align-content | Inabadilisha maadili ya hisia ya flex-wrap. Kama hisia ya align-items, lakini inasababisha viumbe vya ubunifu kuelekea kifungu, hawezi kuelekea viumbe vya ubunifu. |
flex-flow | Hisia ya upaswa ya flex-direction na flex-wrap. |
order | Inasababisha viumbe vya ubunifu vya kifungu kuelekea mawazo yao kwa kina. Inaangalia na order. |
align-self | Inayotumika kwa viumbe vya ubunifu. Inakubadilisha hisia ya align-items ya kifungu. |
flex | Hisia ya flex-grow, flex-shrink na flex-basis ni hisia ya upaswa. |
- 上一页 CSS Box Sizing
- 下一页 CSS Media Query