CSS Flexbox (Տուփի ձեւավորման ճկուն մոդուլ) - Flexible կուն բեռնարկղերի ձեւավորման մոդուլը տարրերի դիզայնի մեթոդ է, առանցքի հիմքը հիմնված է:
FlexBox- ը բաղկացած է դուրս flex բեռնարկղ (Flex բեռնարկղ) մի քանազոր flexible կուն իրեր (Flex նյութեր), Flexible կուն տարրերը կարող են կառուցվել լարային կամ սյունակում, իսկ մնացած ազատ տարածքը նրանց միջեւ բաժանվում է տարբեր ձեւերով:
FlexBox- ի մոդուլը թույլ է տալիս լուծել հետեւյալ առաջադրանքները.
- Տեղադրեք տարրերը չորս ուղղություններից մեկում. Ձախից աջ, աջ ձախ, վերեւից ներքեւ կամ ներքեւ:
- Ընդունեք տարրերի ցուցադրման կարգը:
- Ավտոմատ կերպով որոշեք իրերի չափերը, որպեսզի դրանք տեղավորվեն մատչելի տարածության մեջ:
- Լուծեք խնդիրը հորիզոնական եւ ուղղահայաց կենտրոնների հետ:
- Փոխանցեք տարրերը բեռնարկղի ներսում, առանց թույլ տալու դրա արտահոսքը:
- Ստեղծել նույն բարձրության սյուներ:
- Ստեղծեք սեղմված էջի ներքեւի մասում:
FlexBox- ը լուծում է հատուկ առաջադրանքներ. Օրինակ, նավիգացիոն վահանակի ստեղծում, քանի որ Flex Elements- ը կարող է տեղադրվել միայն առանցքների վրա:
Մոդուլի եւ խաչաձեւ զննարկիչ լուծումների ներկայիս խնդիրների ցանկը, որոնց համար կարող եք կարդալ Ֆիլիպ Ուոլթոնի հոդվածում:
Ինչ է FlexBox- ը
Աջակցեք զննարկիչներին
Այսինքն. 11.0, 10.0 -M-
Firefox. 28.0, 18.0-Մոզ-
Chrome: 29.0, 21.0-WebKIT-
Safari: 6.1 -Մենք-
Օպերա. 12.1 -EWBKIT
ios Safari: 7.0 -webkit-
Օպերա մինի. 8
Android զննարկիչ. 4.4, 4.1 -11-WebKIT-
Chrome Android- ի համար. 44
1. Հիմնական հասկացություններ
ՆկՂ 1. FlexBox մոդելըFlexBox մոդուլը նկարագրելու համար օգտագործվում է տերմինների հատուկ շարք: Flex-Flow արժեքի եւ ձայնագրման ռեժիմը որոշում է այս պայմանների նամակագրությունը ֆիզիկական ուղղություններով. Վերեւ / աջ / ներքեւ / ձախ, առանցք, ուղղահայաց / բարձրություն:
Հիմնական առանցքը - Առանցքը, որի կողքին դրված են Flex տարրերը: Այն տարածվում է հիմնականում չափում:
Հիմնական սկիզբը եւ հիմնական ծայրը - Գծեր, որոնք սահմանում են Flex բեռնարկղի նախնական եւ վերջնական կողմը, որի համեմատությամբ կան Flex տարրեր (սկսած հիմնական սկիզբը դեպի հիմնական սկիզբ):
Հիմնական չափը) - Flex բեռնարկղի կամ Flex տարրերի լայնությունը կամ բարձրությունը, կախված նրանից, որ դրանք հիմնականում չափվում են, որոշեք Flex բեռնարկղի կամ Flex- ի հիմնական չափը:
Խաչ առանցք - առանցքը ուղղահայաց է հիմնական առանցքին: Այն տարածվում է լայնակի հարթության մեջ:
Խաչի մեկնարկ եւ խաչի ավարտ - Գծեր, որոնք սահմանում են լայնակի առանցքի նախնական եւ վերջնական կողմը, որի համեմատ կան Flex տարրեր:
Խաչի չափը) - Flex-բեռնարկղի կամ Flex տարրերի լայնությունը կամ բարձրությունը, կախված նրանից, թե որն է լայնակի հարթության մեջ, նրանց լայնակի չափն է:
ՆկՂ 2. Տողի եւ սյունակի ռեժիմը
2. Flex-բեռնարկղ
Flex բեռնարկղը իր բովանդակության համար սահմանում է նոր ճկուն ձեւաչափման ենթատեքստ: Flex բեռնարկղը բլոկային բեռնարկղ չէ, ուստի այդպիսի CSS հատկություններ, ինչպիսիք են float, պարզ, ուղղահայաց-հավասարեցումը, չեն աշխատում երեխաների տարրերի համար: Բացի այդ, Flex բեռնարկղը չի ազդում սյունակի վրա. * Հատկությունների վրա, ստեղծելով խոսնակներ տեքստի եւ կեղծ տարրերի մեջ :: առաջին գիծ եւ :: առաջին տառ:
FlexBox Markup Model- ը կապված է CSS գույքի որոշակի արժեքի հետ `ծնողական HTML Element- ի ցուցադրման համար, որոնք պարունակում են ինքնին ենթահավաքի բլոկներ: Այս մոդելի օգտագործմամբ տարրերը վերահսկելու համար հարկավոր է ցուցադրել ցուցիչի գույքը հետեւյալ կերպ.
Flex-Container (/ * Ստեղծում է Flex-Container Block * / Display. -WEBKIT-Flex; Display ուցադրում. Flex;). ; Ցուցադրել. Inline-flex;)
Այս հատկությունների արժեքները տեղադրելուց հետո յուրաքանչյուր երեխայի տարր ինքնաբերաբար դառնում է Flex տարր, տեղադրելով մեկ շարքում (հիմնական առանցքի երկայնքով): Այս դեպքում բլոկը եւ փոքրատառ տարրերը հավասարապես պահում են, այսինքն: Բլոկների լայնությունը հավասար է նրանց բովանդակության լայնությանը, հաշվի առնելով տարրի ներքին դաշտերն ու շրջանակները:
ՆկՂ 3. Հավասարեցման տարրեր FlexBox մոդելի մեջ
Եթե \u200b\u200bծնողական բլոկը պարունակում է տեքստ կամ պատկերներ առանց փաթաթաների, դրանք դառնում են անանուն Flex տարրեր: Տեքստը հավասարեցնում է բեռնարկղի բլոկի վերին եզրին, իսկ պատկերի բարձրությունը հավասար է բլոկի բարձրությանը, ես: Այն դեֆորմացված է:
3. Flex-Elements
Flex-Elements - Blocks, որոնք ներկայացնում են Flex բեռնարկղի բովանդակությունը հոսքում: Flex բեռնարկղը իր բովանդակության համար սահմանում է նոր ձեւաչափման համատեքստ, որն առաջացնում է հետեւյալ հատկանիշները.
- Flex տարրերի համար ցուցադրման գույքի արժեքը արգելափակված է: Display ուցադրման արժեքը. Ներքին բլոկ; եւ ցուցադրում. սեղանի բջիջ; Display ուցադրմամբ հաշվարկված. Բլոկ; ,
- Էլեմենտների միջեւ դատարկ տարածությունն անհետանում է. Այն չի դառնում իր Flex-Element- ը, նույնիսկ եթե միջմրեժի տեքստը փաթաթված է անանուն Flex տարրի մեջ: Անանուն Flex- ի բովանդակության համար անհնար է սահմանել սեփական ոճերը, բայց այն ժառանգելու է նրանց (օրինակ, տառատեսակի պարամետրերը) Flex բեռնարկղից:
- Բացարձակապես տեղադրված Flex տարրը չի մասնակցում դասավորության դասավորությանը:
- Մարժան դաշտերը հարակից Flex տարրերը փլուզված չեն:
- Մարժան եւ լիցքաթափման տոկոսային արժեքները հաշվարկվում են դրանք պարունակող բլոկի ներքին չափից:
- Լուսանցք. Ավտոմատ; Ընդարձակվում է, կլանելով լրացուցիչ տարածքը համապատասխան չափման մեջ: Դրանք կարող են օգտագործվել հարակից ֆլեքս տարրեր հավասարեցնելու կամ տարածելու համար:
- Flex տարրերի ավտոմատ նվազագույն չափը լռելյայն իր բովանդակության նվազագույն չափն է, այսինքն, Min-Width: Auto; , Բեռնարկղերը պտտելու համար ավտոմատ նվազագույն չափը սովորաբար զրոյական է:
4. Flex-տարրեր եւ կողմնորոշում
Flex բեռնարկղի պարունակությունը կարող է քայքայվել ցանկացած ուղղությամբ եւ ցանկացած կարգով (բեռնարկղի ներսում ճկուն տարրերը վերադասավորելը ազդում է միայն տեսողական մատուցման):
4.1. Հիմնական առանցքի ուղղությունը. Flex-Formation
Գույքը պատկանում է Flex բեռնարկղին: Կառավարում է հիմնական առանցքի ուղղությունը, որի երկայնքով Flex տարրերը տեղադրված են, համաձայն ընթացիկ ձայնագրման ռեժիմին: Չի ժառանգվում:
flex- ուղղում: | |
---|---|
Արժեքներ. | |
Տող | Լռելյայն արժեքը ձախից աջ (RTL- ում աջ ձախ): Flex տարրերը դրված են տողի մեջ: Հիմնական առանցքի սկիզբը (հիմնական-սկիզբ) եւ վերջի (հիմնական) ուղղությունները համապատասխանում են սկզբին (INLINE-START) եւ INLINE AXIS- ի ավարտին (ներցանցային ավարտին): |
Row-Reverse. | Ուղղություն դեպի աջ ձախ (RTL- ում ձախից աջ): Flex-Elements- ը տողում դրված է բեռնարկղի աջ եզրին (RTL - ձախ): |
սյուն: | Ուղղություն վերեւից ներքեւ: Flex տարրերը դրված են սյունակում: |
Սյուն-հակադարձ: | Հակադարձ կարգով տարրերով սյունակ, ներքեւից վեր: |
սկզբնական | |
ժառանգել: |
ՆկՂ 4. Flex- ի ուղղությամբ `ձախ աջ լեզուների համար
Շարահյուսություն
Flex-Container (ցուցադրում. -Webkit-Flex; -webkit-Flex-Direction: Row-Reverse; Display ուցադրել. Flex-Direction;)
4.2. Multi-Flex բեռնարկղի կառավարում. Flex-փաթեթ
Գույքը որոշում է, Flex բեռնարկղը կլինի մեկ տող կամ բազմամյա գիծ, \u200b\u200bինչպես նաեւ սահմանում է լայնակի առանցքի ուղղությունը, որը որոշում է նոր Flex բեռնարկղեր տեղադրելու ուղղությունը:
Լռելյայն, Flex Elements- ը տեղադրվում է հիմնական առանցքի երկայնքով մեկ տողով: Երբ արտահոսքի դեպքում նրանք դուրս կգան Flex բեռնարկղի սահմանային շրջանակից: Գույքը չի ժառանգվում:
ՆկՂ 5. Լեզուների համար Flex-Wrap- ի հատկությունները օգտագործելով բազմաբնույթ հոսքի կառավարում
Շարահյուսություն
Flex-Container (Display ուցադրել. -WebKIT-Flex; -webkit-Flex-փաթեթավորումը `փաթաթել; ցուցադրում, Flex-փաթեթավորում;)
4.3. Ուղղության եւ բազմապատկման ամփոփագիր. Flex-Flow
Գույքը թույլ է տալիս որոշել հիմնական եւ լայնակի առանցքների ուղղությունները, ինչպես նաեւ անհրաժեշտության դեպքում Flex տարրեր փոխանցելու հնարավորությունը: Դա Flex-Direction- ի եւ Flex- փաթաթման հատկությունների կրճատ ձայնագրություն է: Լռելյայն արժեքը Flex-Flow. Row Nowrap; , Գույքը չի ժառանգվում:
Շարահյուսություն
Flex-Container (ցուցադրում. -Webkit-Flex; -webkit-Flex-Flow: Row փաթեթ; Display ուցադրել. Flex-Flow: Row փաթաթել;)
4.4. Flex Element Display կարգը. Պատվեր
Գույքը որոշում է այն կարգը, որով ցուցադրվում եւ տեղակայվում են Flex տարաների ներսում: Վերաբերում է ֆլեքս-տարրերին: Գույքը չի ժառանգվում:
Սկզբնապես, Flex- ի բոլոր տարրերը պատվեր են. 0; , Տարրագրի համար արժեքը նշելիս այն տեղափոխվում է ժամանակի սկիզբ, 1-ը `մինչեւ վերջ: Եթե \u200b\u200bFlex- ի մի քանի տարրեր ունեն նույն կարգի արժեքը, դրանք կցուցադրվեն սկզբնական պատվերի համաձայն:
Շարահյուսություն
Flex-Container (ցուցադրում. -Webkit-Flex; ցուցադրում. Flex;) .Flex կետ (-webkit-Order: 1; 1;)
ՆկՂ 6. Flex- տարրերի ցուցադրման կարգը
5. Flex կուն flexible տարրեր
Flexible կուն դասավորության որոշիչ կողմը Flex-տարրերը «թեքելու» ունակությունն է, փոխելով դրանց լայնությունը / բարձրությունը (կախված է այն բանից, թե որ չափը հիմնական առանցքի վրա է) `հիմնական հարթության մեջ առկա տարածքը լրացնելու համար: Դա արվում է Flex գույքի միջոցով: Flex բեռնարկղը տարածում է ազատ տարածքը իր երեխայի տարրերի միջեւ (իրենց Flex- ի աճի գործակիցին համամասնորեն) `բեռնարկղը լրացնելու համար (Flex-Shrink գործակիցի համամասնությամբ):
Flex Element- ը լիովին «անսխալ» կլինի, եթե դրա ֆլեքս աճեցնող եւ ֆլեքս-նեղացման արժեքները զրոյական են, եւ «ճկուն» այլ կերպ:
5.1. Flexible կուն չափերի հավաքածու մեկ գույքով. Flex
Գույքը Flex-Grow-Grow- ի, Flex-Shrink- ի եւ Flex- ի հիմքի հատկությունների կրճատ գրառում է: Լռելյայն արժեք. Flex: 0 1 Auto; , Կարող եք նշել ինչպես մեկ, այնպես էլ բոլոր երեք հատկությունները: Գույքը չի ժառանգվում:
Շարահյուսություն
Flex-Container (ցուցադրում. -Webkit-Flex; ցուցադրում. Flex;) .Flex կետ (-webkit-Flex: 3 1 100px;)
5.2. Աճի գործակից. Flex-Grow
Գույքը որոշում է Flex- ի մեկ Flex-Element- ի աճի գործակիցը Flex բեռնարկղում այլ Flex տարրերի համեմատ դրական ազատ տարածքի բաշխման ընթացքում: Եթե \u200b\u200bտողի ֆլեքս աճող ճկուն տարրերի արժեքների գումարը 1-ից պակաս է, նրանք գրավում են ազատ տարածքի 100% -ից պակաս: Գույքը չի ժառանգվում:
ՆկՂ 7. Ազատ տարածքի կառավարում նավիգացիոն վահանակում `օգտագործելով Flex-Grow
Շարահյուսություն
Flex-Container (Display ուցադրել. -WebKIT-Flex; ցուցադրում. Flex;) .Flex կետ (-webkit-Flex-Grow: 3;)
5.3. Սեղմման հարաբերակցությունը. Flex-Shrink
Գույքը ցույց է տալիս Flex տարրի սեղմման գործակիցը `համեմատած այլ Flex տարրերի հետ բացասական ազատ տարածքի բաշխման ընթացքում: Բազմապատկվում է Flex- ի հիմնական չափսով: Բացասական տարածքը համամասնորեն բաշխվում է այն ժամանակ, երբ տարրը կարող է սահուն լինել, հետեւաբար, մի փոքր Flex տարր չի նվազի մինչեւ զրոյական: Մեծ չափը, Գույքը չի ժառանգվում:
ՆկՂ 8. Լարի մեջ Flex տարրերի նեղացումը
Շարահյուսություն
Flex-Container (ցուցադրում. -Webkit-flex; ցուցադրում. Flex;) .Flex կետ (-webkit-Flex-Shrink: 3;)
5.4. Հիմնական չափը `Flex- ի հիմքը
Գույքը սահմանում է Flex- ի տարրի սկզբնական հիմնական չափը նախքան Flexialialialialial- ի գործակիցներին համապատասխան: Բոլոր արժեքների համար, բացառությամբ ավտոմատների եւ բովանդակության, սահմանվում է հիմնական ճկուն չափը, ինչպես նաեւ հորիզոնական ձայնագրման ռեժիմներում լայնությունը: Տոկոսային արժեքները որոշվում են Flex բեռնարկղի չափի համեմատ, եւ եթե չափը նշված չէ, Flex- ի համար օգտագործվող արժեքը դրա բովանդակության չափն է: Չի ժառանգվում:
Շարահյուսություն
Flex-Container (ցուցադրում. -Webkit-Flex; ցուցադրում. Flex;) .Flex կետ (-webkit-Flex-հիմք `100px;)
6. հավասարեցում
6.1. Գլխավոր առանցքի վրա հավասարեցում. Արդարացնել-բովանդակությունը
Գույքը հավասարեցնում է Flex-բեռնարկղի հիմնական առանցքի երկայնքով Flex- ի տարրերը, տարածելով ազատ տարածքը, Flex տարրերով անօգուտ: Երբ ապրանքը վերածվում է Flex բեռնարկղի, լռելյայն Flex տարրերը խմբավորված են միասին (եթե մարժայի դաշտը նշված չէ): Բացերը ավելացվում են լուսանցքի եւ ֆլեքս աճելու արժեքները հաշվարկելուց հետո: Եթե \u200b\u200bորեւէ տարր ունի Flex-Grow- ի կամ մարժայի ոչ զրոյական արժեք. Auto; Գույքը որեւէ ազդեցություն չի ունենա: Գույքը չի ժառանգվում:
Արժեքներ. | |
Flex-start. | Լռելյայն արժեքը: Flex- տարրերը դրված են Flex բեռնարկղի սկզբնական գծից: |
Flex-End. | Flex-Elements- ը դրված է Flex բեռնարկղի վերջին գծից: |
Կենտրոն | Flex տարրերը հավասարեցված են Flex բեռնարկղի կենտրոնում: |
Տարածություն-միջեւ: | Flex տարրերը միատեսակ բաշխվում են գծի վրա: Առաջին Flex-Element- ը տեղադրվում է նախնական գծի եզրին, վերջին Flex- ի տարրը վերջնական գծի եզրին փչելը է, եւ գծի վրա մնացած Flex տարրերը բաշխվում են նույնը. Եթե \u200b\u200bմնացած ազատ տարածքը բացասաբար է կամ լարով կա միայն մեկ Flex տարր, այս արժեքը նույնական է Flex-Start պարամետրերի հետ: |
Տարածություն: | Տողերի վրա ֆլեքս-տարրերը բաշխվում են այնպես, որ երկու հարակից ճկուն տարրերի միջեւ հեռավորությունը նույնն է, եւ Flex տարաների առաջին / վերջին փաթեթի եզրերի միջեւ հեռավորությունը տատանվում էր Flex տարրերի միջեւ հեռավորության վրա: |
սկզբնական | Սահմանում է գույքային լռելյայն արժեքը: |
ժառանգել: | Ժառանգում է գույքի արժեքը ծնողական տարրից: |
ՆկՂ 9. Արդար տարածության տարրերի եւ բաշխման հավասարեցում արդարացված բովանդակության հատկություններով
Շարահյուսություն
Flex-Container (Display ուցադրել. -Webkit-Flex; -webkit- արդարացնել-բովանդակությունը. Flex-start; ցուցադրում. Flex; Flex-start;)
6.2. Հավասարեցրեք լայնակի առանցքը. Align- իրեր եւ հավասարեցված
Flex տարրերը կարելի է համահունչ լինել Flex բեռնարկղի ընթացիկ տողի լայնակի առանցքին: Align- ի հավասարեցումը հավասարեցում է բոլոր Flex-բեռնարկղերի տարրերի համար, ներառյալ անանուն Flex տարրերը: Align- Segine- ը թույլ է տալիս շրջանցել այս հավասարեցումը անհատական \u200b\u200bFlex տարրերի համար: Եթե \u200b\u200bլայնակի լուսանցքի Flex Element- ը ավտոմատ է, հավասարեցված ինքնուրույն:
6.2.1. Հավասարեցնել իրերը:
Գույքը հավասարեցնում է Flex տարրերը, ներառյալ անանուն Flex տարրերը լայնակի առանցքի վրա: Չի ժառանգվում:
Արժեքներ. | |
Flex-start. | |
Flex-End. | |
Կենտրոն | |
Ելակետ | Հավասարեցման մեջ ներգրավված բոլոր Flex տարրերի հիմնական տողերը համընկնում են: |
Ձգվել: | |
սկզբնական | Սահմանում է գույքային լռելյայն արժեքը: |
ժառանգել: | Ժառանգում է գույքի արժեքը ծնողական տարրից: |
Շարահյուսություն
Flex-Container (Display ուցադրել. -Webkit-Flex; -webkit-Align-նյութեր. Flex-start; ցուցադրում, Flex-start;)
6.2.2. Align-self
Գույքը պատասխանատու է Flex-բեռնարկղի բարձրության վրա առանձին Flex տարրի հավասարեցման համար: Գերակշռում է հավասարեցված իրերի կողմից նշված հավասարեցումը: Չի ժառանգվում:
Արժեքներ. | |
Ավտոմատ | Լռելյայն արժեքը: Flex Element- ը օգտագործում է հավասարեցման կետում նշված Flex բեռնարկղի գույքում նշված հավասարեցումը: |
Flex-start. | Flex Elem- ի վերին եզրը սերտորեն տեղադրվում է Flex Line (կամ հեռավորության վրա, հաշվի առնելով նշված լուսանցքի դաշտերը եւ տարրի սահմանային շրջանակը) անցնելով լայնակի առանցքի սկզբում: |
Flex-End. | Flex տարրի ստորին եզրը սերտորեն տեղադրվում է Flex Line (կամ հեռավորության վրա, հաշվի առնելով նշված լուսանցքի դաշտերը եւ տարրի սահմանային շրջանակը) անցնելով լայնակի առանցքի ավարտը: |
Կենտրոն | Flex տարրերի դաշտերը կենտրոնացած են Flex Line- ի լայնակի առանցքի վրա: |
Ելակետ | Flex- ի տարրը հավասարեցված է ելակետին: |
Ձգվել: | Եթե \u200b\u200bFlex Element- ի լայնակի չափը հաշվարկվում է որպես ավտոմատ եւ մարժայի լայնակի արժեքներից ոչ մեկը հավասար չէ ավտոմատին, տարրը ձգվում է: Լռելյայն արժեքը: |
սկզբնական | Սահմանում է գույքային լռելյայն արժեքը: |
ժառանգել: | Ժառանգում է գույքի արժեքը ծնողական տարրից: |
ՆկՂ 11. Անհատական \u200b\u200bFlex տարրերի հավասարեցում
Շարահյուսություն
Flex-Container (ցուցադրում. -Webkit-Flex; ցուցադրում. Flex;) .Flex կետ (-webkit-align-self: Center;)
6.3. FLEX բեռնարկղային գծեր. Align- բովանդակություն
Գույքը տողերը գծեր են տանում Flex բեռնարկղում, լայնակի առանցքի վրա լրացուցիչ տարածքի առկայության դեպքում, նմանապես հավասարեցնել Անհատական \u200b\u200bտարրեր Հիմնական առանցքի վրա `օգտագործելով արդարացված բովանդակության ունեցվածքը: Գույքը չի ազդում մեկ տող Flex բեռնարկղի վրա: Չի ժառանգվում:
Արժեքներ. | |
Flex-start. | Թողերը պահվում են Flex բեռնարկղի սկզբում: Առաջին տողի եզրը տեղադրվում է Flex-Container- ի եզրին մոտ, յուրաքանչյուր հաջորդ, նախորդ գծին մոտ: |
Flex-End. | Տողերը դրվում են Flex բեռնարկղի ավարտին: Վերջին շարքի եզրը տեղադրվում է Flex-Container- ի եզրին, յուրաքանչյուր նախորդը `մոտ հաջորդ շարքին: |
Կենտրոն | Տողերը պահվում են Flex բեռնարկղի կենտրոնում: Շարքերը տեղակայված են միմյանց մոտ եւ համահունչ են Flex-բեռնարկղի կենտրոնում `Flex բեռնարկղի բովանդակության եւ Flex բեռնարկղի բովանդակության վերջնական եզրի միջեւ հավասար հեռավորության վրա հավասար հեռավորության վրա Վերջին տողը: |
Տարածություն-միջեւ: | Շարքերը միատեսակ բաշխվում են Flex բեռնարկղում: Եթե \u200b\u200bմնացած ազատ տարածքը բացասական է, կամ Flex բեռնարկղը ունի միայն մեկ Flex գիծ, \u200b\u200bայս արժեքը նույնական է Flex-Start- ի հետ: Հակառակ դեպքում, առաջին տողի եզրը տեղադրվում է Flex-բեռնարկղի բովանդակության սկզբնական եզրին, վերջին շարքի եզրը մոտ է Flex բեռնարկղի բովանդակության վերջնական եզրին: Մնացած գծերը բաշխվում են այնպես, որ երկու հարակից տողերի միջեւ հեռավորությունը նույնն է: |
Տարածություն: | Թողերը համաչափ բաշխվում են Flex բեռնարկղում `երկու ծայրերում կես տարածքով: Եթե \u200b\u200bմնացած ազատ տարածքը բացասական է, ապա այս արժեքը նույնական է կենտրոնի կենտրոնի հետ: Հակառակ դեպքում, տողերը բաշխվում են այնպես, որ երկու հարակից տողերի միջեւ հեռավորությունը նույնն է, եւ առաջին / վերջին տողերի միջեւ հեռավորությունը եւ Flex բեռնարկղի բովանդակության եզրերը տատանվում էին գծերի միջեւ: |
Ձգվել: | Լռելյայն արժեքը: Flex տարրերի շարքերը հավասարաչափ ձգվում են, լրացնելով առկա բոլոր տարածքը: Եթե \u200b\u200bմնացած ազատ տարածքը բացասական է, ապա այս արժեքը նույնական է Flex-Start- ի հետ: Հակառակ դեպքում, ազատ տարածքը հավասարապես բաժանվելու է բոլոր տողերի միջեւ, ավելացնելով դրանց լայնակի չափը: |
սկզբնական | Սահմանում է գույքային լռելյայն արժեքը: |
ժառանգել: | Ժառանգում է գույքի արժեքը ծնողական տարրից: |
Շարահյուսություն
Flex-Container (Display ուցադրել. -Webkit-Flex; -webkit-Flex-Flow: ; Բարձրություն, 100px;)
FlexBox- ի դասավորության մոդուլը (ճկուն տուփ) ուղղված է ավելին, քան Արդյունավետ մեթոդ Բեռնարկղում գտնվող տարրերի միջեւ ազատ տարածության գտնվելու վայրը, հավասարեցում եւ բաշխում, նույնիսկ այն դեպքում, երբ դրանց չափը անհայտ է նախապես եւ (կամ) դինամիկ (հետեւաբար, «Flex» բառը:
Flexible կուն (FLEX) նշման հիմնական գաղափարը `իր տարրերի լայնությունը / բարձրությունը (կարգը) փոխելու ունակությամբ բեռնարկղ ապահովելը լավագույն միջոցը Լրացրեք առկա տարածքը (հիմնականում էկրանների բոլոր տեսակների եւ չափերի տեղադրման համար): FlexBox կոնտեյներ ընդլայնում է տարրերը `ազատ տարածությունը լրացնելու կամ դրանք սեղմելու համար` արտահոսքից խուսափելու համար:
Ամենակարեւորն այն է, որ FlexBox- ը ուղղորդված ագնոստիկ է, ի տարբերություն սովորական դասավորությունների (բլոկներ, հիմնվելով ուղղահայաց դիրքավորման եւ լարային դիրքի վրա): Չնայած այն հանգամանքին, որ նրանք աշխատում են լավ, նրանք չունեն ճկունություն աջակցելու մեծ կամ բարդ դիմումները (հատկապես, երբ խոսքը վերաբերում է փոփոխություններին կողմնորոշման, փոփոխության չափի, ձգվում, սեղմում, եւ այլն):
Նշում. FlexBox- ը ավելի հարմար է կիրառման բաղադրիչների եւ փոքր դասավորությունների համար, մինչդեռ CSS ցանցը նախատեսված է ավելի մեծ դասավորության համար:
Հիմունքներ եւ տերմինաբանություն
Քանի որ FlexBox- ը մի ամբողջ մոդուլ է, ոչ թե առանձին սեփականություն, այն պարունակում է շատ տարբեր իրեր, ներառյալ հատկությունների մի ամբողջ շարք: Նրանցից ոմանք նախագծված են իրենց բեռնարկղը տեղադրելու համար (ծնողական տարրը, որը հայտնի է որպես «Flex բեռնարկղ»), իսկ մյուսները պետք է տեղադրվեն երեխաների տարրերով (հայտնի է որպես «Flex Elements»):
Եթե \u200b\u200bսովորական դասավորության համակարգը հիմնված է բլոկի եւ լարային ուղղությունների վրա, FlexBox- ը հիմնված է «Flex- հոսքի ուղղությունների» վրա: Խնդրում ենք դիտել այս խաղարկությունը ճշգրտումից, որը բացատրում է FlexBox- ի հիմնական գաղափարը:
Հիմնականում տարրերը տեղակայված կլինեն երկայնքով Հիմնական առանցքը (հիմնական-սկզբից մինչեւ հիմնական) կամ Խաչ առանցք (խաչմերուկից մինչեւ խաչաձեւ):
Աջակցեք զննարկիչներին
CSS ճկուն տուփի դասավորության մոդուլ
Chrome Android- ի համար
10 տարբերակով սկսած զննարկիչ BlackBerry- ը աջակցում է նոր շարահյուսության:
Հատկություններ բեռնարկղի համար
Հատկություններ տարրերի համար
Հատկություններ ծնողի տարրի համար (Flex բեռնարկղ)
Ցուցադրել
Որոշում է Flex բեռնարկղը. Տողը կամ բլոկը կախված է փոխանցվող արժեքից: Ներառում է Flex համատեքստ `իր բոլոր ուղղակի, երեխաների տարրերի համար:
Բեռնարկղ (ցուցադրում. Flex; / * կամ Interline-Flex * /)
Խնդրում ենք նկատի ունենալ, որ CSS սյուները չեն ազդում Flex բեռնարկղի վրա:
flex- ուղղում:
Սահմանում է հիմնական առանցքը, այսպիսով որոշում է տարայի մեջ տեղակայված տարրերի ուղղությունը: FlexBox (բացի կամընտիր փաթաթվածից) միակողմանի դասավորության հայեցակարգ է: Մտածեք Flex-Elements- ի, հիմնականում որպես հորիզոնական գծեր կամ ուղղահայաց խոսնակներ:
Բեռնարկղ (Flex-Direction: Row | Row-Reverse | Սյունակ | Սյունակ-հակադարձ;)
- row (լռելյայն) - ձախից աջ LTR; RTL- ում ձախից ձախ;
- row-Reverse. - LT- ում ձախ, LTR; Ձախից աջ RTL;
- սյուն: - Նույնը է, որ այդ շարքն է, միայն վերեւից ներքեւ;
- Սյուն-հակադարձ: - Նույնը հակառակն է, միայն ներքեւից վերեւ;
Ֆլեքս փաթաթան
Լռելյայն, իրերը կփորձեն լրացնել միայն մեկ տող: Անհրաժեշտության դեպքում կարող եք փոխել այս պահվածքը եւ թույլ տալ, որ իրերը տեղափոխվեն հաջորդ տող:
Բեռնարկղ (Flex-փաթեթ: Nowrap | փաթաթել | փաթաթել;)
- nowrap (լռելյայն) - Բոլոր Flex տարրերը տեղակայված կլինեն մեկ տողի վրա.
- Պատել. - Flex տարրերը տեղակայվելու են մի քանի տողերի վրա, վերեւից ներքեւ;
- Փաթաթել: - Flex տարրերը տեղակայված կլինեն մի քանի տողերի վրա, ներքեւից;
Արդարացնել-բովանդակությունը
Որոշում է հիմնական առանցքի երկայնքով հավասարեցումը: Այն օգնում է տարածել ազատ տարածքը, որը մնացել է բոլոր ֆիքսվածության ֆիքսվածության մեջ, Flex Elements- ը հասել է առավելագույն չափի: Այն նաեւ օգնում է որոշակի վերահսկողություն իրականացնել տարրերի հավասարեցման վրա, երբ դրանք լցնում են լարը:
Բեռնարկղ (արդարացնել բովանդակությունը. Flex-Start | Flex-End | Կենտրոն | Տիեզերք-միջեւ |
- flex-Start (լռելյայն) - տարրերը սեղմվում են գծի սկզբում.
- flex-End. - տարրերը սեղմվում են տողի վերջում.
- Կենտրոն - տարրերը գտնվում են կենտրոնում լարային երկայնքով;
- Տարածություն-միջեւ: - տարրերը հավասարաչափ տեղադրվում են գծի վրա. Առաջին տարրը գծի սկզբում է, Վերջին տարրը Գտնվում է գծի վերջում.
- Տարածություն: - տարրերը հավասարաչափ տեղադրվում են իրենց կողքին գտնվող նույն տարածքի գծի վրա: Խնդրում ենք նկատի ունենալ, որ տեսողականորեն տարածքը նույնը չէ, քանի որ բոլոր տարրերը երկու կողմերում ունեն նույն տարածքը: Առաջին տարրը կունենա տարածքի մեկ միավոր, բեռնարկղից, բայց դրա եւ հաջորդ տարրի երկու միավոր, քանի որ հաջորդ տարրը նույնպես ունի մեկ միավոր երկու կողմերից:
Հավասարեցնել իրերը:
Այս գույքը որոշում է հոսանքի տողում լայնակի առանցքի երկայնքով Flex տարրերի պահվածքը: Մտածեք դրա մասին, ինչպես o, միայն լայնակի առանցքի համար (ուղղահայաց հիմնական առանցք):
Բեռնարկղ (հավասարեցման կետեր. Flex-start | Flex-End | Կենտրոն | Ելակետ | Ձգում;)
- flex-Start - Տարրերը տեղադրվում են լայնակի առանցքի սկզբում.
- flex-End - Տարրերը տեղադրվում են լայնակի առանցքի վերջում.
- Կենտրոն - Տարրերը տեղակայված են լայնակի առանցքի կենտրոնում.
- Ելակետ - տարրերը հավասարեցնում են ելակետը.
- Ձգում (լռելյայն) - Ձգվում է ամբողջ բեռնարկղը լրացնելու համար (Min-Width / Max- լայնությունը դեռ նկատվում է).
Հավասարեցնել
Նշում. Այս գույքը չի գործում, երբ կա Flex տարրերի միայն մեկ տող:
Բեռնարկղ (համահունչ: Flex-Start | Flex-End | Կենտրոն | Տիեզերք-միջեւ |
- flex-start. - շարքերը տեղակայված են բեռնարկղի սկզբում.
- flex-End. - Գծերը տեղակայված են բեռնարկղի վերջում.
- Կենտրոն - տողերը տեղադրվում են բեռնարկղի կենտրոնում.
- Տարածություն-միջեւ: - շարքերը հավասարաչափ բաշխվում են, առաջին գիծը գտնվում է բեռնարկղի սկզբում եւ վերջում վերջին տողը.
- Տարածություն: - շարքերը հավասարաչափ բաշխվում են Նույն հեռավորությունը նրանց միջեւ;
- Ձգում (լռելյայն) - շարքերը ձգվում են լայնությամբ `մնացած տարածքը գրավելու համար.
Հատկություններ դուստր ձեռնարկությունների համար (Flex Elements)
պատվեր
Լռելյայն բոլոր տարրերը տեղակայված են բնօրինակ պատվերի մեջ: Այնուամենայնիվ, Պատվերի գույքը կառավարում է այն կարգը, որում տեղակայված են բեռնարկղի ներսում գտնվող տարրերը:
Նյութը (կարգը.
flex-Grow.
Անհրաժեշտության դեպքում գույքը որոշում է չափի տարրը մեծացնելու ունակությունը: Այն տեւում է անիմաստ արժեք, որպես համամասնություն, որը որոշում է, թե ինչպես է բեռնարկղի ներսում ազատ տարածքի քանակը պետք է գրավի տարրը:
Եթե \u200b\u200bբոլոր տարրերը ունեն 1-ին տեղակայված Flex- աճող գույք, ապա բեռնարկղի ներսում անվճար տարածքը հավասարաչափ բաշխվի բոլոր տարրերի միջեւ: Եթե \u200b\u200bտարրերի արժեքը սահմանված է 2-ի, տարրը կլինի երկու անգամ ավելի շատ տեղ, քան մնացածը (գոնե փորձեք):
Նյութը (Flex-Grow:
Անհնար է բացասական թվեր նշել:
flex- հիմք:
Որոշում է լռելյայն տարրի չափը, նախքան մնացած տարածքի բաշխումը: Այն կարող է լինել երկարություն (20%, 5rem եւ այլն) կամ Հիմնաբառ, Ավտոմատ հիմնաբառ նշանակում է «նման լինել իմ լայնության կամ բարձրության ունեցվածքի»: Բովանդակության հիմնաբառը նշանակում է, որ «չափը հիմնված է տարրի բովանդակության վրա» հիմնաբառն այն է, որ դեռեւս լավ չի աջակցվում, ուստի դժվար է ստուգել, \u200b\u200bթե ինչն է դարձնում իր մին-բովանդակությունը, առավելագույնը Բովանդակություն եւ տեղավորումը:
Նյութը (Flex-հիմքը.
Եթե \u200b\u200bսահմանված է 0-ին, ապա բովանդակության շուրջ լրացուցիչ տարածքը հաշվի չի առնվի: Եթե \u200b\u200bնա տեղադրում եք ավտոմատ, լրացուցիչ տարածքը կբաշխվի `հիմնվելով արժեքի վրա:
Ճամփորդել
Սա կրճատում է եւ: Երկրորդ եւ երրորդ պարամետրերը (Flex-Shrink- ը եւ Flex- ի հիմքը) պարտադիր չեն: Լռելյայն արժեքը սահմանված է 0 1-ի ավտոմատ:
Նյութ (FLEX: Ոչ մեկը | [<"flex-grow"> <"flex-shrink">? || <"flex-basis"> ] }
align-self
Այս գույքը հնարավորություն է տալիս գերակշռել լռելյայն հավասարեցումը (կամ նշված գույքը) անհատական \u200b\u200bFlex տարրերի համար:
Խնդրում ենք նայեք հատկությունների բացատրությանը `առկա արժեքները հասկանալու համար:
Նյութը (հավասարեցված ինքնություն. Auto | Flex-Start | Flex-End | Կենտրոն | ելակետային | ձգում | Flege-Flan | Exchann;)
Խնդրում ենք նկատի ունենալ, որ Float- ը, պարզ եւ ուղղահայաց-հավասարեցումը որեւէ ազդեցություն չունեն Flex Element- ի վրա:
Օրինակներ
Սկսենք Պարզ օրինակՈրոշիչ առաջադրանք, որը տեղի է ունենում գրեթե ամեն օր. Կատարյալ կենտրոնացում: Դա չի կարող ավելի հեշտ լինել, եթե օգտագործում եք FlexBox:
Ծնող (ցուցադրում. Flex; Բարձրություն, 300px;) .Խիլ (լայնություն, 100px; Բարձրություն, 100px;
Դա կախված է նրանից, որ Flex բեռնարկղում ավտոմեքենայում տեղադրված լուսանցքը կլանում է լրացուցիչ տարածություն: Այսպիսով, նյութի մեջ գտնվող ուղղահայաց լուսանցքի տեղադրումը կդարձնի իրենք կատարյալ կենտրոնացած երկու առանցքների վրա:
Հիմա եկեք օգտագործենք եւս մի քանի հատկություններ: Դիտարկենք 6 տարրերի ցանկը, բոլորը `ֆիքսված չափերով, գեղագիտական \u200b\u200bտերմիններով, բայց դրանք կարող են ավտոմատ լինել: Մենք ուզում ենք, որ դրանք հավասարաչափ բաժանվեն հորիզոնական առանցքի երկայնքով, այնպես որ զննարկչի չափը փոխելիս ամեն ինչ կարգին էր (առանց լրատվամիջոցների պահանջների):
Flex-Container (ցուցադրում. Flex; Flex-Flow: Row- ի փաթաթում; արդարացնել-բովանդակությունը, տարածություն;)
Պատրաստ Մնացած ամեն ինչ պարզապես նախագծման որոշ խնդիրներ են: Ստորեւ բերված է Codepen- ի օրինակ, համոզվեք, որ գնացեք այնտեղ եւ փորձեք փոխել պատուհանների չափը, տեսնելու, թե ինչ է տեղի ունենում:
Եկեք փորձենք որեւէ այլ բան: Պատկերացրեք, որ մենք ունենք նավարկություն, որը գտնվում է էկրանի վերեւում գտնվող աջ եզրին, բայց մենք ցանկանում ենք, որ այն գտնվում է կենտրոնում միջին չափի էկրանների վրա եւ փոքր էկրանների վրա գտնվում էր մեկ սյունակում: Նույնքան հեշտ, որքան կարկանդակ:
Նավիգացիա (ցուցադրում. Flex; Flex-Flow: Row- ի փաթաթում; արդարացնել-բովանդակությունը. Flex-End;) @Media Բոլորը եւ (արդարացնել-բովանդակություն)) @Media բոլոր եւ (առավելագույն լայնություն, 500px) (.NAVITION (FLEX- ուղղություն, սյուն)
Փորձենք նույնիսկ ավելի լավ բան անել, խաղալով մեր Flex տարրերի ճկունության հետ: Ինչ վերաբերում է գլխարկով եւ ներքեւ, գլխարկով եւ ներքեւ, էկրանի ամբողջ լայնության հետ, եւ որ տարրերի սկզբնական կարգից կախվածություն չկա:
Փաթեթավորող (ցուցադրում. Flex; Flex-Flow: Row- ի փաթաթում;). Ուղղակի, .main, .nav, .SaSide (Flex, (Flex: 1 Auto;)) @media Բոլորը եւ (Min-Width: 800px) (.main (FLEX: 2 0PX;) .Այն. 1;). (Պատվիրել. 3;) .Footer (Պատվեր, 4;))
Առնչվող հատկություններ
Սխալներ
Իհարկե, FlexBox- ը առանց սխալների չէ: Լավագույն հավաքածուն, որը ես տեսա, ներկայացնում է Ֆիլիպ Ուոլթոնը եւ Գրեգ Ուիթվորթը Flexbugs- ը: Սա բաց կոդով տեղ է, բոլոր սխալները հետեւելու համար, ուստի ես կարծում եմ, որ լավագույնը պարզապես թողնում է հղումը:
Պատվերի գույքը ղեկավարում է այն կարգը, որում երեխաների տարրերը հայտնվում են Flex բեռնարկղի ներսում: Լռելյայն, դրանք գտնվում են կարգի մեջ, ինչպես ի սկզբանե ավելացվում է Flex բեռնարկղին:
Արժեքներ
.flex- կետ (կարգ.<целое число>; }flex Elements- ը կարող է վերադասավորվել `օգտագործելով այս պարզ գույքը, առանց HTML կոդը փոխելու:
Լռելյայն արժեք: 0.
flex-Grow.
Այս գույքը սահմանում է աճի գործակիցը, որը որոշում է, թե որքանով է Flex տարրը կբարձրանա Flex բեռնարկղում մնացած Flex տարրերի համեմատ, դրական ազատ տարածք տարածելիս:
Արժեքներ
.flex- կետ (Flex-Grow:<число>; }Եթե \u200b\u200bբոլոր Flex- տարրերն ունեն նույն Flex- ի աճի արժեքը, բոլոր տարրերը կունենան նույն չափը բեռնարկղում:
Երկրորդ Flex Element- ը ավելի շատ տեղ է պահանջում Flex- ի այլ տարրերի չափի համեմատ:
Լռելյայն արժեք: 0.
flex-Shrink.
flex-Shrink- ը սահմանում է սեղմման գործակից, որը որոշում է, թե որքան հեռու է Flex տարրը սեղմվի Flex բեռնարկղում մնացած Flex տարրերի համեմատ, բացասական ազատ տարածության բաշխման ընթացքում:
Արժեքներ
.flex- կետ (Flex-Shrink:<число>; }Լռելյայն, Flex- ի բոլոր տարրերը կարող են սեղմվել, բայց եթե մենք սահմանենք Flex-Shrink արժեքը զրոյական (առանց սեղմման), ապա տարրերը պահպանում են բնօրինակ չափը:
Լռելյայն արժեք: 1.
Բացասական թվերը անընդունելի են:
flex- հիմք:
Այս գույքը վերցնում է նույն իմաստները, ինչպիսիք են լայնությունը եւ բարձրության հատկությունները եւ սահմանում Flex Element- ի սկզբնական հիմնական չափը, նախքան ազատ տարածքը բաշխվում է գործակիցների համաձայն:
Արժեքներ
.flex- կետ (Flex-հիմք. Ավտոմատ |<ширина>; }flex- ի հիմքը նշված է Flex Flex- ի չորրորդի համար եւ թելադրում է իր նախնական չափը:
Լռելյայն արժեք: Auto.
Ճամփորդել
Այս գույքը Flex-Grow- ի, Flex-Shrink- ի եւ Flex- ի հատկությունների կրճատում է: Այլ արժեքների բերքը կարող է տեղադրվել նաեւ ավտոմատ (1 1 ավտոմեքենա) եւ ոչ մեկը (0 0 ավտոմեքենա):
Արժեքներ
.flex-Item (Flex: No | Ավտոմեքենա | [Լռելյայն արժեք: 0 1 ավտոմատ:
W3C- ն խորհուրդ է տալիս օգտագործել կրճատվող Flex- ի գույքը, անհատական \u200b\u200bհատկությունների փոխարեն, քանի որ Flex- ը ճիշտ է վերականգնում ցանկացած չճշտված բաղադրիչների բնորոշ օգտագործման համար:
align-self
Align- ի սեփականությունը թույլ է տալիս գերակշռել լռելյայն հավասարեցումը (կամ հավասարեցման կետերի միջոցով նշված արժեքը) անհատական \u200b\u200bFlex տարրերի համար: Առկա արժեքները հասկանալու համար դիմեք Flex բեռնարկղի հավասարեցման կետերի նկարագրությանը:
Արժեքներ
.flex կետ (Align- Self. Auto | Flex-Start | Flex-End | Կենտրոն | Ելակետ |Երրորդ եւ չորրորդ Flex տարրերի համար հավասարեցումը շրջանցվում է հավասարեցված ինքնաբերության միջոցով:
Մոդալ FlexBox-Leuauta (Flexible կուն տուփ - «Flexible կուն բլոկ», որի վրա այս պահին W3C թեկնածուի առաջարկությունը) խնդիր է դնում առաջարկել բեռնարկղում տարրերի միջեւ անվճար տարածություն տեղադրելու, հավասարեցման եւ բաշխելու ավելի արդյունավետ միջոց, նույնիսկ այն դեպքում, երբ դրանց չափը անհայտ է եւ (կամ կամ դինամիկ):
Տեխնիկայի Flex-Guard- ի հիմնական գաղափարը օժտված է տարածության լավագույն լրացման համար իր տարրերի լայնությունը / բարձրությունը (եւ կարգը) կարողությամբ (շատ դեպքերում) ): Flex բեռնարկղը երկարացնում է տարրերը `ազատ տարածությունը լրացնելու կամ դրանք սեղմելու համար, կանխելու սահմանը:
Ամենակարեւորը, Flexbox-Leiut- ը կախված չէ այն ուղղությունից, ի տարբերություն սովորական տեճի (բլոկների, ուղղահայաց, իսկ ներքնազգեստի տարրերը հորիզոնական են): Թեեւ սովորական Leiut- ը հիանալի է վեբ էջերի համար, այն չունի ճկունություն (ոչ մի բանկա) `մեծ կամ բարդ դիմումներին աջակցելու համար (հատկապես, երբ խոսքը վերաբերում է էկրանին կողմնորոշմանը, չափափոխում, ձգում, սեղմում եւ այլն):
ՄեկնաբանությունFlexBox-Leuaout- ը լավագույնս հարմար է դիմումի եւ փոքրածավալ գործողությունների կոմպոզիտային մասերի համար, մինչդեռ ցանցն ավելի շատ օգտագործվում է Լաացիների համար:
Հիմունքներ
Որովհետեւ FlexBox- ը մի ամբողջ մոդուլ է, եւ ոչ միայն մեկ գույք, այն համատեղում է բազմաթիվ հատկություններ: Դրանցից մի քանիսը պետք է կիրառվեն բեռնարկղի վրա (ծնողական տարր, այսպես կոչված flex բեռնարկղ), իսկ մյուս հատկությունները վերաբերում են երեխաների տարրերին, կամ flex տարրեր.
Եթե \u200b\u200bսովորական Leuaout- ը հիմնված է բլոկի եւ ներկառուցված տարրերի ուղղությունների վրա, Flex-Liaut- ը հիմնված է «Flex-Flex- ի ուղղությունների» վրա: Ստուգեք այս սխեման ճշգրտումից, բացատրելով Flex-Leuaitov- ի հիմնական գաղափարը:
Տարրերի մեծ մասը կբաշխվի կամ միասին Հիմնական առանցքը (ից Հիմնական մեկնարկը: նախքան Հիմնական-վերջ:) կամ երկայնքով Լայն ուղեկցող առանցք (ից Սկսել: նախքան Խաչմերուկ:).
- Հիմնական առանցք - Հիմնական առանցքը, որի կողքին գտնվում են Flex տարրերը: Նշում, դա պարտադիր չէ, որ հորիզոնական լինի, ամեն ինչ կախված է Flex-Direction- ի ունեցվածքից (տես ստորեւ):
- Հիմնական մեկնարկը: | Հիմնական-վերջ: - Flex տարրերը տեղադրվում են բեռնարկղում հիմնական մեկնարկային դիրքից մինչեւ հիմնական դիրքը:
- Հիմնական չափը: - Flex Damite- ի լայնությունը կամ բարձրությունը `կախված ընտրված հիմնական արժեքից: Հիմնական արժեքը կարող է լինել կամ լայնություն կամ տարրի բարձրություն:
- Խաչ առանցք: - լայնակի առանցքը ուղղահայաց է հիմնականին: Դրա ուղղությունը կախված է հիմնական առանցքի ուղղությունից:
- Սկսել: | Խաչմերուկ: - Flex տողերը լցված են տարրերով եւ տեղակայված են խաչմերուկի դիրքից մինչեւ խաչաձեւ դիրքի բեռնարկղում:
- Խաչի չափը - Flex տարրի լայնությունը կամ բարձրությունը, կախված չափի չափից, հավասար է այս մեծության: Այս գույքը համընկնում է կետի լայնության կամ բարձրության հետ `կախված հարթության չափից:
Հատկություններ
display ուցադրում. Flex | Inline-flex;
Այն վերաբերում է.
Որոշում է Flex բեռնարկղը (ներկառուցված կամ բլոկը, կախված ընտրված արժեքից), կապում է Flex- ի համատեքստը իր անմիջական սերունդների համար:
Display ուցադրում. Այլ արժեքներ | Flex | Inline-flex;Մտապահեք:
- CSS սյուները չեն աշխատում Flex բեռնարկղով
- float, պարզ եւ ուղղահայաց-հավասարեցումը չեն աշխատում Flex տարրերի հետ
flex- ուղղում:
Այն վերաբերում է. Ծնողների տարրերի ֆլեքս-բեռնարկղ:
Սահմանում է հիմնական առանցքի հիմնական առանցքը, դրանով իսկ որոշելով բեռնարկղում տեղադրված Flex տարրերի ուղղությունը:
Flex-Direction: Row | Row-Reverse | Սյուն | Սյուն-հակադարձ:- row (լռելյայն). Ձախից աջ ԼՏՏ-ի համար աջ, RTL- ի համար ձախ;
- row-Reverse. Right ձախ, LTR- ի համար, ձախից աջ RTL;
- Սյունակ, տողի նման, վերեւից ներքեւ;
- Սյունակ-հակադարձ. Նման է տողի հակառակ, ներքեւի մասի:
Ֆլեքս փաթաթան
Այն վերաբերում է. Ծնողների տարրերի ֆլեքս-բեռնարկղ:
Որոշում է, թե արդյոք բեռնարկղը կլինի մեկ տող կամ բազմաֆունկցիոնալ, ինչպես նաեւ լայնակի առանցքի ուղղությունը, որը որոշելու է նոր տողերը:
Flex-փաթեթավորում. Nowrap | Փաթաթել | Փաթաթել:- nowrap (լռելյայն). Միայնակ / ձախից աջ LTR- ի համար աջ, RTL- ի համար ձախ;
- Փաթեթավորեք. Բազմաֆունկցիոնալ / ձախից աջ ԼՏՏ-ի համար, RTL- ի ձախ կողմում.
- Փաթեթավորող. Բազմաֆունկցիոնալ / աջ մնացել է LTR- ի համար, ձախից աջ RTL:
flex-հոսք:
Այն վերաբերում է. Ծնողների տարրերի ֆլեքս-բեռնարկղ:
Սա Flex-Flex- ի եւ Flex-S փաթեթների հատկությունների կրճատում է, որոնք միասին սահմանում են հիմնական եւ լայնակի առանցքը: Լռելյայն վերցնում է Nowrap տողի արժեքը:
Flex-հոսք.<"flex-direction" > || <"flex-wrap" >Այն վերաբերում է. Ծնողների տարրերի ֆլեքս-բեռնարկղ:
Որոշում է հավասարեցման հավասարեցումը հիմնական առանցքի հետ: Օգնում է տարածել մնացած ազատ տարածքը այն դեպքում, երբ գծի տարրերը «ձգվում են» կամ ձգվում են, բայց արդեն հասել են դրա առավելագույն չափի: Նաեւ թույլ է տալիս որոշակի ձեւով վերահսկել տարրերի հավասարեցումը, երբ լարը թողարկվի:
Flex-Start | Flex-End | Կենտրոն | Տարածություն | Տարածություն:- flex-Start. Elements- ը տեղափոխվում է գծի սկզբում.
- flex-End. Elements- ը տեղափոխվում է տողի ավարտով.
- Կենտրոն. Տարրերը հավասարեցված են գծի կենտրոնում.
- Տիեզերք. Տարրերը հավասարաչափ բաշխվում են հավասարաչափ (գծի սկզբում առաջին տարրը, վերջինը `վերջում);
- Տիեզերք. Տարրերը հավասարաչափ բաշխվում են հավասար հեռավորության վրա իրենց եւ տողի սահմանների միջեւ:
Այն վերաբերում է. Ծնողների տարրերի ֆլեքս-բեռնարկղ:
Սահմանում է Flex տարրերի համար լռելյայն պահվածքը `կապված ընթացիկ գծի լայնակի առանցքի հետ: Հաշվի առեք արդարացված բովանդակության այս տարբերակը լայնակի առանցքի համար (հիմնական ուղղահայաց):
Flex-Start | Flex-End | Կենտրոն | Ելակետային | Ձգվել:- flex-Start. Նյութերի խաչմերուկի սահմանը գտնվում է խաչմերուկի դիրքում.
- flex-End. Նյութերի համար խաչաձեւ սահմանը գտնվում է խաչաձեւ դիրքի վրա.
- Կենտրոն. Տարրերը հավասարեցված են լայնակի առանցքի կենտրոնում.
- Ելակետ. Տարրերը հավասարեցված են իրենց ելակետին.
- Ձգում (լռելյայն). Տարրերը ձգվում են, լցնում բեռնարկղը (հաշվի առնելով նվազագույն / առավելագույն լայնությունը):
Այն վերաբերում է. Ծնողների տարրերի ֆլեքս-բեռնարկղ:
Հանդիպում է Flex բեռնարկղային գծերը լայնակի առանցքի վրա ազատ տարածքի առկայության դեպքում, այնպես, ինչպես արդարացված բովանդակությունը կատարում է հիմնական առանցքի վրա:
Մեկնաբանություն: Այս գույքը չի գործում մեկ տող ֆլեքսիով:
Flex-Start | Flex-End | Կենտրոն | Տարածություն | Տարածություն-շուրջ | Ձգվել:- flex-Start. Գծերը հավասարեցված են կոնտեյների մեկնարկի համեմատ;
- flex-End. Գիծները հավասարեցված են կոնտեյների ավարտի համեմատ;
- Կենտրոն. Տողերը համահունչ են բեռնարկղի կենտրոնում.
- Տիեզերք. Գիծները հավասարաչափ բաշխվում են (գծի սկզբում առաջին տողը, վերջինս վերջում է);
- space-Round: Գիծները հավասարաչափ բաշխվում են հավասար հեռավորության վրա.
- Ձգում (լռելյայն). Թողերը ձգվում են, լրացնելով ազատ տարածքը:
պատվեր
Այն վերաբերում է.
Լռելյայն, Flex Elements- ը տեղակայված է իր սկզբնական կարգով: Այնուամենայնիվ, պատվերի գույքը կարող է վերահսկել իրենց գտնվելու վայրի կարգը բեռնարկղում:
Պատվեր:<Թանձր
flex-Grow.
Այն վերաբերում է. Դուստրերի տարր / Flex տարր:
Flex- ի տարրը որոշում է անհրաժեշտության դեպքում «աճելու» ունակությունը: Վերցնում է ինդեքսավորված արժեք, որը ծառայում է որպես համամասն: Դա որոշում է բեռնարկղի ներսում ազատ տարածքի մի մասը կարող է զբաղեցնել տարրը:
Եթե \u200b\u200bբոլոր իրերը ունեն Flex- աճող գույք, որպես 1, ապա յուրաքանչյուր սերունդ կստանա նույն չափը բեռնարկղի ներսում: Եթե \u200b\u200bդուք դրեք սերունդներից 2-ը, ապա դա կտեւի երկու անգամ ավելի շատ տեղ, քան մյուսները:
Flex-Grow:<Թիվ\u003e (Լռելյայն 0)
flex-Shrink.
Այն վերաբերում է. Դուստրերի տարր / Flex տարր:
FLEX- ի տարրը որոշում է անհրաժեշտության դեպքում սեղմելու հնարավորություն:
Flex-Shrink:
Բացասական թվերը չեն ընդունվում:
flex- հիմք:
Այն վերաբերում է. Դուստրերի տարր / Flex տարր:
Որոշում է տարրի համար լռելյայն չափը նախքան բեռնարկղում տարածքի բաշխումը:
Flex- հիմք.<Երկարություն\u003e | Auto (Default Auto)
Ճամփորդել
Այն վերաբերում է. Դուստրերի տարր / Flex տարր:
Սա Flex-Grow- ի, Flex-Shrink- ի եւ Flex- ի կրճատումն է: Երկրորդ եւ երրորդ պարամետրերը (Flex-Shrink- ը, Flex-Habin- ը) ընտրովի են: Լռելյայն արժեքը 0 1 ավտոմեքենա է:
FLEX: Ոչ մեկը | [<"flex-grow" > <"flex-shrink" >? || <"flex-basis" > ]align-self
Այն վերաբերում է. Դուստրերի տարր / Flex տարր:
Թույլ է տալիս շրջանցել լռելյայն հավասարեցումը կամ հավասարեցված իրերը, անհատական \u200b\u200bFlex տարրերի համար:
Տես ALIGN- ի գույքի նկարագրությանը `առկա արժեքների ավելի լավ պատկերացումների համար:
ALIGN-SEND: AUTO | Flex-Start | Flex-End | Կենտրոն | Ելակետային | Ձգվել:Օրինակներ
Սկսենք շատ, շատ պարզ օրինակից, տեղի ունեցած գրեթե ամեն օր. Հավասարաչափ հենց կենտրոնում: Flexbox- ի օգտագործմամբ ավելի հեշտ բան չկա:
.Պարուն (ցուցադրում. Flex; բարձրությունը `300px; / * Կամ որեւէ բան * / ) .Չիլդ (լայնություն, 100px; / * Կամ որեւէ բան * / Բարձրություն, 100px; / * Կամ որեւէ բան * / Լուսանցք. Ավտոմատ; / * Magic! * /)Այս օրինակը հիմնված է այն փաստի վրա, որ Flex բեռնարկղում գտնվող լուսանցքը, որը նշված է Auto- ն, կլանում է ավելորդ տարածքը, ուստի հղման խնդիրն այսպիսով գծ է տալիս երկու առանցքների կենտրոնում:
Հիմա եկեք օգտագործենք որոշ հատկություններ: Ներկայացրեք 6 ֆիքսված չափի տարրերի մի շարք (գեղեցկության համար), բայց բեռնարկղի չափը փոխելու ունակությամբ: Մենք ուզում ենք հավասարաչափ տարածել դրանք հորիզոնական, որպեսզի դիտարկիչի պատուհանը չափափոխվի, ամեն ինչ լավ տեսք ուներ (առանց @ Media-Recorder!):
.flex- կոնտեյներ ( / * Նախ ստեղծեք Flex-Context * / Display ուցադրում. Flex; / * Այժմ մենք կսահմանենք հոսքի ուղղությունը եւ ուզում ենք, որ տարրերը փոխանցվեն նոր լարին * Հիշեք, որ սա նույնն է, * Flex-Direction: Row; * Flex-փաթեթավորում. Փաթաթել; * / Flex-Flow: Row փաթեթավորում; / * Այժմ մենք սահմանում ենք, թե ինչպես է տարածությունը * / : Տարածություն; )Պատրաստ: Մնացած ամեն ինչ գրանցման հարց է: Ստորեւ ներկայացված է Codepen, որը ցույց է տալիս այս օրինակը: Համոզվեք, որ փորձեք ձգվել / քամել զննարկչի պատուհանը եւ տեսնել, թե ինչ է տեղի ունենում:
Ստուգեք այս գրիչը:Եկեք փորձենք որեւէ այլ բան: Պատկերացրեք, որ մեզ անհրաժեշտ է նավարկություն, որը հավասարեցված է աջ եզրին մեր կայքի հենց վերեւում, բայց մենք ուզում ենք, որ այն հավասարեցնի կենտրոնում միջին հաշվով էկրաններին եւ վերածվի փոքրիկի մեկ սյունակի: Ամեն ինչ բավականաչափ պարզ է:
/ * Մեծ էկրաններ * / .Navigation (ցուցադրում. Flex; Flex-Flow: Row փաթաթան; / * Տեղափոխում է տարրերը գծի ավարտին հիմնական առանցքի վրա * / Flex-End; ) @Media Բոլորը եւ (առավելագույն լայնությունը `800px) (.navigation ( / * Միջին չափի էկրանների համար մենք կենտրոնում ենք նավարկումը կենտրոնում, հավասարաչափ տարածելով տարրերի միջեւ անվճար տարածքը * / : Տարածություն; )) / * Փոքր էկրաններ * / @Media All and (առավելագույն լայնություն, 500px) (.navigation ( / * Փոքր էկրանների վրա մի տողի փոխարեն մենք ունենք տարրեր սյունակում * / Flex-Direction: սյուն; )) Ստուգեք այս գրիչը:Եկեք ավելի լավ բան փորձենք եւ խաղանք Flex-Elements- ի ճկունությամբ: Ինչպես կողմնորոշված Բջջային սարքեր Երեք շեշտադրման դասավորություն `ամբողջական գլխարկով եւ նկուղով: Եւ գտնվելու վայրի հերթական կարգը:
.Wrapper (ցուցադրում. Flex; Flex-Flow: Row Wrap;) / * Մենք նշում ենք 100% լայնության բոլոր տարրերը * / .Ader, .main, .nav, .aside, .foot (FLEX: 1 100%;) / * Այս դեպքում մենք ապավինում ենք կողմնորոշման սկզբնական կարգին * Բջջային սարքերի վրա. * 1. Վերնագիր * 2. Նավ * 3. Մի կողմ * 5. / * Միջին չափի էկրաններ * / @Media All and (Min-Width: 600px) ( / * Երկուսն էլ Sagebar գտնվում են մեկ տողում * / .aside (FLEX: 1 Auto;)) / * Մեծ էկրաններ * / @Media All and (Min-Width: 800px) ( / * Մենք փոխում ենք տեղերը տարրերը: Arement-1 I.main- ը, ինչպես նաեւ տեղեկացնում են * տարրը երկու անգամ ավելի շատ տեղ է զբաղեցնում, քան Sidbars- ը: * / . Մայն (Flex: 2 0px;) .Առաջին 1 (Պատվիրել. 1;). Մայն (Պատվիրել, 2;). Fooder (կարգը, 4;))Եթե \u200b\u200bկարճ եք ասում, ապա Flexbox- ի դասավորությունը մեզ տալիս է մեկ անգամ դժվար առաջադրանքների պարզ լուծումներ: Օրինակ, երբ անհրաժեշտ է հավասարեցնել ուղղահայաց տարրը կամ սեղմել նկուղը էկրանի ներքեւի մասում կամ պարզապես մի քանի բլոկ տեղադրել մեկ շարքի մեջ, որպեսզի նրանք զբաղվեն ամեն ինչ ազատ տարածության մեջ: Նման առաջադրանքները լուծվում են առանց FLEX- ի: Բայց, որպես կանոն, այս լուծումները ավելի շատ նման են «հենակներին». CSS օգտագործելու ընդունելությունները չեն նախատեսվում: Մինչդեռ Flexbox- ի հետ նման առաջադրանքները լուծվում են այնպես, ինչպես կարծում են FLEX մոդելը:
CSS Flexible կուն տուփի դասավորության մոդուլ (CSS մոդուլների մոդուլների համար ճկուն բլոկներով), կարճ FlexBox, որը ստեղծվել է տարբեր HTML կառուցվածքներ ստեղծելիս, ներառյալ տարբեր լայնությունների եւ բարձրության վրա հարմարեցված: Եվ տրամաբանական մոտեցումը, որպես կանոն, աշխատում է անսպասելի վայրերում, որտեղ արդյունքը չի ստուգվել `մեր տրամաբանությունը:
FlexBox- ը թույլ է տալիս նրբագեղորեն վերահսկել տարրերի ամենատարածված պարամետրերը բեռնարկղի ներսում. Ուղղություն, կարգ, լայնություն, բարձրություն, հավասարեցում, ազատ տարածության, ձգման եւ սեղմման բաշխում:
Հիմնական գիտելիք
FlexBox- ը բաղկացած է բեռնարկղից եւ նրա երեխաների տարրերից (իրերից) (ճկուն տարրեր):
Ներառել FlexBox, ցանկացած HTML տարր Բավական է CSS գույքի ցուցադրում նշանակելու համար. FLEX; կամ ցուցադրում. inline-flex; ,
Flex- ի հատկությունները միացնելուց հետո բեռնարկղի ներսում ստեղծվում են երկու առանցք, հիմնական եւ լայնակի (ուղղահայաց (⊥), խաչ առանցք): Հիմնական առանցքի վրա կառուցված են բոլոր բույնի տարրերը (առաջին մակարդակը): Լռելյայն, հիմնական առանցքը հորիզոնական է եւ ունի ուղղություն ձախից աջ (→), եւ խաչի առանցքը, համապատասխանաբար, ուղղահայաց (↓):
Հիմնական եւ խաչ առանցքը կարող են փոփոխվել տեղերում, ապա տարրերը տեղակայվելու են վերեւում (↓) եւ երբ նրանք դադարում են տեղավորվել բարձրության վրա (→) - այսինքն, առանցքների տեղերում , Միեւնույն ժամանակ, տարրերի գտնվելու վայրի սկիզբը եւ ավարտը չի փոխվում. Միայն ուղղություններ (առանցք) փոխվում են: Ահա թե ինչու պետք է պատկերացնել առանցքը բեռնարկղի ներսում: Այնուամենայնիվ, անհրաժեշտ չէ մտածել, որ այնտեղ կան մի քանի «ֆիզիկական» առանցքներ, եւ նրանք ինչ-որ բանի վրա են ազդում: Այստեղ առանցքը միայն տարայի ներսում տարրերի շարժման ուղղությունն է: Օրինակ, եթե մենք նշեցինք հիմնական առանցքի կենտրոնում տարրերի հավասարեցումը, այնուհետեւ փոխեց այս հիմնական առանցքի ուղղությունը, այն կփոխվի եւ հավասարեցնի. Մանրամասները միջին հորիզոնականում էին. . Տես օրինակ:
FLEX տուփի մեկ այլ կարեւոր առանձնահատկություն է տողի առկայությունը լայնակի ուղղությամբ: Հասկանալու համար, թե ինչի մասին ենք խոսում, պատկերացնենք, որ կա հիմնական հորիզոնական առանցք, շատ տարրեր, եւ դրանք «բարձրանում են» բեռնարկղի մեջ, ուստի նրանք գնում են այլ շարքի: Նրանք: Բեռնարկղը այսպիսին է. Բեռնարկղը, դրա ներսում, երկու շարքեր, յուրաքանչյուր շարքում `մի քանի տարրերի համար: Ներկայացվեց: Հիմա հիշեք, որ մենք կարող ենք ուղղահայաց հավասարեցնել ոչ միայն տարրերը, այլեւ շարունակել: Ինչպես է այն լավ երեւում գույքի օրինակով: Եվ այսպես, դա կարծես սխեմատիկ է.
CSS հատկություններՈրը կարող է ազդել դասավորության շինարարության մոդելի վրա. Գունավոր, պարզ, ուղղահայաց-հավասարեցման, սյուները չեն աշխատում Flex Design- ում: Այն օգտագործում է մեկ այլ մոդել, դասավորությունը կառուցելու համար, եւ այս CSS հատկությունները պարզապես անտեսվում են:
CSS հատկությունների FlexBox
FlexBox- ը պարունակում է տարբեր CSS կանոններ, Flex- ի ամբողջ դիզայնը վերահսկելու համար: Ոմանք պետք է կիրառվեն հիմնական բեռնարկղի վրա, իսկ մյուսները այս բեռնարկղի տարրերին:
Բեռնարկղի համար
Ցուցադրում.Ներառում է Flex գույքը իրի համար: Այս գույքի տակ դրա մեջ ներդրված տարրը տուժում է միայն առաջին մակարդակի սերունդները. Դրանք կդառնան բեռնարկղի ֆլեքսի տարրեր:
- Ճամփորդել - Տարրը ձգվում է ամբողջ լայնությամբ եւ ունի իր ամբողջ տարածքը շրջակա բլոկների մեջ: Թշնամուն տեղի է ունենում բլոկի սկզբում եւ վերջում:
- Ներածություն-ֆլեքս - Տարրը պարզվում է այլ տարրերի կողմից: Այս դեպքում նրա ներքին մասը ձեւաչափվում է որպես բլոկային տարր, եւ տարրն ինքնին ներկառուցված է:
flex եւ inline-flex Տարբերվում է այն փաստը, որ տարբեր կերպ շփվում է շրջակա տարրերի հետ, ինչպես ցուցադրումը. Բլոկ եւ ցուցադրում. Ներքին բլոկ:
Flex-Direction:Փոխում է բեռնարկղի հիմնական առանցքի ուղղությունը: Լայնակի առանցքը փոխվում է համապատասխանաբար:
- row (լռելյայն) - տարրերի ուղղություն ձախից աջ (→)
- սյուն: - տարրերի ուղղություն վերեւից ներքեւ (↓)
- row-Reverse. - ուղղություն տարրերի աջ ձախ կողմում (←)
- Սյուն-հակադարձ: - տարրերի ուղղություն ներքեւից վերեւ ()
Կառավարում է տարրերի փոխանցումը բեռնարկղին:
- nowrap (լռելյայն) - Տեղակայված տարրերը տեղակայված են մեկ շարքում (ուղղության \u003d շարքի ընթացքում) կամ մեկ սյունակում (ուղղությամբ \u003d սյունակ), անկախ նրանից, թե դրանք տեղադրվում են բեռնարկղում, թե ոչ:
- Պատել. - Ներառում է իրերի փոխանցումը հաջորդ շարքին, եթե դրանք տեղադրված չեն բեռնարկղի մեջ: Սա ներառում է միջքաղաքային առանցքի տարրերի տեղաշարժը:
- Փաթաթել: - Նաեւ այն, որ միայն փոխանցումը փաթաթելը չի \u200b\u200bլինի, եւ վեր կսկսվի (հակառակ ուղղությամբ):
Համատեղում է ինչպես Flex-Direction- ը, այնպես էլ Flex-Wrap- ի հատկությունները: Դրանք հաճախ օգտագործվում են միասին, այնպես որ Flex-Flow գույքը ստեղծվել է ավելի քիչ կոդ գրելու համար:
flex-Flow- ը ընդունում է երկու հատկությունների արժեքները, առանձնացված տարածքով: Կամ կարող եք նշել ցանկացած գույքի մեկ արժեք:
/ * Միայն Flex-Direction * / Flex-Flow: Row; Flex-Flow: Row-Reverse; Flex-Flow: սյուն; Flex-Flow: սյունակ-հակադարձ; / * Միայն Flex-փաթեթ * / Flex-հոսք. Nowrap; Flex-Flow: փաթաթված; Flex-Flow: փաթաթել. / * Անմիջապես ինչպես իմաստներ, Flex-Direction եւ Flex-փաթեթ * / Flex-Flow: Row Nowrap; Flex-Flow. Սյունակի փաթեթավորում; Flex-Flow. Սյունակ-հակառակ փաթաթան-հակադարձ; Արդարացնել-բովանդակությունը.
Հավասարեցրեք տարրերը հիմնական առանցքի վրա. Եթե ուղղություն \u003d տող, ապա հորիզոնական, եւ եթե ուղղություն \u003d սյունակ, ապա ուղղահայաց:
- flex-Start (լռելյայն) - տարրերը կգնան սկզբից (վերջում կարող է տեղ լինել):
- flex-End. - տարրերը հավասարվում են մինչեւ վերջ (տեղը կմնա սկզբում)
- Կենտրոն - Կենտրոնում (տեղը կմնա ձախ եւ աջ)
- Տարածություն-միջեւ: - Ծայրահեղ տարրերը սեղմվում են եզրերին (տարրերի միջեւ ընկած տեղը հավասարաչափ բաշխվում է)
- Տարածություն: - Ազատ տարածքը հավասարաչափ բաշխվում է տարրերի միջեւ (ծայրահեղ տարրերը սեղմվում են եզրերի վրա): Բեռնարկղի եզրագծի եւ ծայրահեղ տարրերի միջեւ տարածությունը կլինի երկու անգամ պակաս, քան տողի կեսին տարրերի միջեւ տարածությունը:
- Տիեզերք-հավասարաչափ
Հավասարեցնում է այն շարքերը, որոնցում գտնվում են լայնակի առանցքի տարրերը: Նույնը, ինչ արդարացնել-բովանդակությունը միայն հակառակ առանցքի համար:
Նշում. Աշխատում է, երբ կա առնվազն 2 տող, այսինքն: Եթե \u200b\u200bընդամենը 1 տող կա, ոչինչ չի պատահում:
Նրանք: Եթե \u200b\u200bFlex-Direction. Row, այս գույքը կվերածվի անտեսանելի տողերը ուղղահայաց |. Կարեւոր է նշել, որ բլոկի բարձրացումը պետք է խստորեն սահմանվի եւ պետք է լինի ավելի մեծ, քան շարքի բարձրությունը, հակառակ դեպքում իրենք կթողնեն նրա իմաստը, քանի որ նրանց միջեւ ազատ տեղ չկա: . Բայց երբ Flex-Direction. Սյունակ, այնուհետեւ տողերը շարժվում են հորիզոնական → եւ բեռնարկղի լայնությունը գրեթե միշտ ավելի մեծ է, քան շարքի լայնությունը եւ շարքերն անմիջապես ձեռք են բերում ...
- Ձգում (լռելյայն) - շարքերը ձգվում են ամբողջությամբ լցնելով լարը
- flex-start. - Տողերը խմբավորված են բեռնարկղի վերեւում (վերջում կարող է տեղ լինել):
- flex-End. - շարքերը խմբավորված են բեռնարկղի ներքեւի մասում (տեղը կմնա սկզբում)
- Կենտրոն - տողերը խմբավորված են բեռնարկղի կենտրոնում (տեղը կմնա եզրերի վրա)
- Տարածություն-միջեւ: - Ծայրահեղ շարքերը սեղմվում են դեպի եզրերը (տողերի միջեւ ընկած տեղը հավասարաչափ բաշխվում է)
- Տարածություն: - Ազատ տարածքը հավասարաչափ բաշխվում է տողերի միջեւ (ծայրահեղ տարրերը չեն սեղմվում եզրերի նկատմամբ): Բեռնարկղի եզրագծի եւ ծայրահեղ տարրերի միջեւ տարածությունը կլինի երկու անգամ պակաս, քան տողի կեսին տարրերի միջեւ տարածությունը:
- Տիեզերք-հավասարաչափ - Նաեւ այդ տարածքը, միայն բեռնարկղի ծայրերի ծայրահեղ տարրերի հեռավորությունը նույնն է, ինչ տարրերի միջեւ:
Հավասարեցրեք տարրերը տողի ներսում լայնակի առանցքի վրա (անտեսանելի գիծ): Նրանք: Տողերը իրենք հավասարեցված են համահունչ բովանդակության միջոցով, եւ այս տողերի շրջանակներում (տողերը) հավասարեցման միջոցով եւ այս ամենը լայնակի առանցքի միջոցով: Հիմնական առանցքից չկա այդպիսի տարանջատում, շարքի եւ տարրերի հասկացություններ չեն համապատասխանում արդարացված բովանդակության միջոցով:
- Ձգում (լռելյայն) - տարրերը ձգվում են ամբողջությամբ լցնելով լարը
- flex-start. - տարրերը սեղմվում են շարքի սկզբում
- flex-End. - տարրերը ճնշվում են տողի վերջի դեմ
- Կենտրոն - տարրերը հավասարեցնում են շարքի կենտրոնում
- Ելակետ - տարրերը հավասարեցնում են ելակետային տեքստը
Բեռնարկղային տարրերի համար
Flex-Grow:Նշում է տարայի աճող գործոնը բեռնարկղում ազատ տարածության առկայության մեջ: Լռելյայն Flex-Grow: 0 I.E. Elements- ից ոչ մեկը չպետք է ավելանա եւ լրացնի անվճար տարածքը բեռնարկղում:
Լռելյայն Flex-Grow: 0
- Եթե \u200b\u200bբոլոր տարրերը նշում են Flex-Grow: 1, ապա բոլորը հավասարապես ձգվում են եւ ամեն ինչ ազատ տեղ են լցնում բեռնարկղում:
- Եթե \u200b\u200bտարրերից մեկը ցույց է տալիս Flex-Grow: 1, ապա այն կլրացնի բոլոր ազատ տարածքը բեռնարկղում եւ հավասարեցման միջոցով արդարացված բովանդակության աշխատանքը չի կարողանա աշխատել.
- Երբ Flex-Grow: 1. Եթե \u200b\u200bդրանցից մեկը ունի Flex-Grow: 2, այն կլինի 2 անգամ ավելին, քան բոլորը
- Եթե \u200b\u200bFlex բեռնարկղի ներսում գտնվող Flex բլոկները ունեն Flex-Grow: 3, ապա դրանք նույն չափը կլինեն
- Flex- աճով. 3. Եթե \u200b\u200bդրանցից մեկը ունի Flex-Grow: 12, այն կլինի 4 անգամ ավելին, քան բոլորը
Ինչպես է դա աշխատում? Ենթադրենք, բեռնարկղը ունի 500px լայնություն եւ պարունակում է երկու տարր, որոնցից յուրաքանչյուրը ունի 100px հիմնական լայնությունը: Հետեւաբար, 300 անվճար պիքսել է մնում բեռնարկղում: Այժմ, եթե նշեք Flex-Grow: 2 առաջին տարրը. եւ երկրորդ Flex-Grow: 1; Բլոկները կվերցնեն ամբողջ մատչելի բեռնարկղը, եւ առաջին բլոկի լայնությունը կլինի 300px եւ երկրորդ 200px: Դա բացատրվում է այն փաստով, որ բեռնարկղում առկա 300px ազատ տարածքը բաժանվել է 2: 1-ի եւ + 100px երկրորդի տարրերի միջեւ:
Նշում. Այն արժեքի մեջ, որը կարող եք նշել Կոտորակային համարներՕրինակ, 0,5 - Flex-Grow: 0.5
Flex-Shrink:Նշում է տարրի կրճատման գործոնը: Հատկությունը հակառակ Flex- աճող է եւ որոշում է, թե ինչպես պետք է տարրը սեղմվի, եթե բեռնարկղում ազատ տեղ չկա: Նրանք: Գույքը սկսում է աշխատել, երբ բոլոր տարրերի չափերի գումարը ավելի մեծ է, քան բեռնարկղի չափը:
Լռելյայն Flex-Shrink: 1
Ենթադրենք, որ բեռնարկղը ունի 600px լայնություն եւ պարունակում է երկու տարր, որոնցից յուրաքանչյուրը ունի 300px լայնություն `Flex-soft: , Նրանք: Երկու տարր ամբողջությամբ լցնում են բեռնարկղը: Առաջին տարրը ցույց կտա Flex-Shrink: 2; եւ երկրորդ Flex-Shrink. 1; , Այժմ բեռնարկղի լայնությունը նվազեցնելով 300px, I.e. Elements- ը պետք է լինի 300px, որը գտնվում է բեռնարկղի ներսում: Դրանք սեղմված կլինեն 2: 1 հարաբերակցությամբ, այսինքն: Առաջին միավորը կմիանա 200PX, իսկ երկրորդը `100px եւ տարրերի նոր չափսերը կլինեն 100px եւ 200PX:
Նշում. Արժեքում կարող եք նշել կոտորակային համարները, օրինակ `0.5 - Flex-Shrink: 0.5
Flex- հիմք.Կարգավորում է տարրի հիմնական լայնությունը `կտառվի տարրի լայնության վրա ազդող մնացած պայմաններից առաջ: Արժեքը կարելի է նշել PX, EM, REM,%, VW, VH եւ այլն: Վերջնական լայնությունը կախված կլինի բազային լայնությունից եւ Flex-Grow- ի արժեքների, ֆլեքս-նեղացման եւ բլոկի ներսում բովանդակության մեջ: Ավտոմատով տարրը ստանում է հիմնական լայնությունը դրա ներսում պարունակության համեմատ:
Լռելյայն, ավտոմատ
Երբեմն ավելի լավ է, որ տարրի լայնությունը կոշտ տեղադրվի սովորական լայնության գույքի միջոցով: Օրինակ, լայնությունը `50%; Դա կնշանակի, որ բեռնարկղի ներսում գտնվող տարրը կլինի ճիշտ 50%, սակայն Flex-Grow եւ Flex-Shrink- ի հատկությունները նույնպես կաշխատեն: Դա կարող է անհրաժեշտ լինել, երբ տարրը ձգվում է դրա ներսում պարունակությամբ, ավելի շատ նշված է Flex- ի հիմունքներով: Օրինակ.
flex- ի հիմքը կլինի «կոշտ», եթե վերականգնվի առաձգականությունը եւ սեղմումը. Flex-soft: 200px; Flex-Grow: 0; Flex-Shrink: 0; , Այս ամենը կարելի է գրել որպես Flex: 0 0 200px; ,
Flex: (աճում է նեղանալ)Երեք հատկությունների կարճ ձայնագրում. Flex-Grow Flex-Shrink Flex- ի հիմքը:
Լռելյայն, FLEX: 0 1 AUTO
Այնուամենայնիվ, դուք կարող եք նշել մեկ եւ երկու արժեք.
Flex: Ոչ մեկը; / * 0 0 ավտոմատ * / / * համարը * / FLEX: 2; / * Flex-Grow (Flex- ի հիմքը գնում է 0) * / / * Ոչ մի համար * / FLEX: 10EM; / * Flex-հիմք. 10EM * / FLEX: 30px; / * Flex-հիմք `30px * / Flex: Auto; / * Flex-հիմք. Auto * / Flex: բովանդակություն; / * Flex-հիմք. Բովանդակություն * / FLEX: 1 30px; / * Flex-Grow եւ Flex-հիմք * / Flex: 2 2; / * Flex-Grow եւ Flex-Shrink (Flex- ի հիմքը գնում է 0) * / FLEX: 2 2 10%; / * Flex-Grow եւ Flex-Shrink եւ Flex-Hair * / Align- Self.
Թույլ է տալիս փոխել հավասարեցման կետերը, միայն առանձին կետի համար:
Լռելյայն. Align-Items բեռնարկղից
- Ձգվել: - տարրը ձգվում է ամբողջությամբ լցնելով լարը
- flex-start. - տարրը սեղմվում է գծի սկզբում
- flex-End. - տարրը սեղմվում է տողի վերջում
- Կենտրոն - տարրը հավասարեցված է գծի կենտրոնում
Ելակետ - Տարրը հավասարեցված է տեքստի հիմնական տողից
Թույլ է տալիս փոխել տարրի կարգը (դիրքը, դիրքը) ընդհանուր շարքում:
Լռելյայն, Պատվեր, 0
Ըստ լռելյայն, տարրերը ունեն պատվեր. 0 եւ դրված իրենց տեսքի կարգը HTML կոդում եւ շարքի ուղղությամբ: Բայց եթե փոխեք պատվերի գույքի արժեքը, իրերը կկառուցվեն արժեքների կարգով. -1 0 1 2 3 ... Օրինակ, եթե առարկաներից մեկը նշում է կարգը. 1, ապա նախ կշարունակեք բոլոր զրո, ապա 1-ից մի տարր:
Այսպիսով, հնարավոր է, օրինակ, առաջին տարրը վերածվելու համար, միաժամանակ չփոխելով այլ տարրերի կամ HTML կոդի շարժման ուղղությունը:
Նշումներ
Որն է տարբերությունը Flex- ի միջեւ լայնությունից:
Flex եռուցման եւ լայնության միջեւ կարեւոր տարբերություններ.
- Flex հատկություններ օգտագործելիս 3 արժեքներ (Flex-Grow / Flex-Shrink / Flex- ի հիմք), կարող եք մի փոքր համատեղել եւ գրել, եւ լայնության համար անհրաժեշտ է գրել կամ նեղանալ: Օրինակ, FLEX: 0 0 50% \u003d\u003d Լայնություն, 50%; Flex-Shrink: 0; , Երբեմն դա պարզապես անհարմար է:
flex- ի հիմքը գործում է միայն հիմնական առանցքի համար: Սա նշանակում է, որ երբ Flex-Direction. Row Flex- ի հիմքը վերահսկում է լայնությունը (լայնությունը), իսկ երբ Flex-Direction. Column- ը վերահսկում է բարձրությունը (բարձրությունը): ,
flex- ի հիմքը վերաբերում է միայն Flex տարրերին: Այսպիսով, եթե անջատեք Flex- ը բեռնարկղում, այս գույքը չի ունենա ազդեցություն:
Բեռնարկղերի բացարձակ տարրերը չեն մասնակցում Flex նախագծմանը ... Եվ, հետեւաբար, Flex- ի հիմքը չի ազդում Flex բեռնարկղի տարրերի վրա, եթե դրանք բացարձակապես դիրքավորված են: Նրանց պետք է հստակեցնել լայնությունը / բարձրությունը:
Հնարավորության դեպքում, դեռեւս նախապատվությունը տալիս է Flex- ի հիմքը: Օգտագործեք լայնությունը միայն այն դեպքում, երբ Flex- ի հիմքը հարմար չէ:
Տարբերությունները Flex- ի հիմքը լայնությունից `սխալ կամ ֆիչք:
Flex Element- ի ներսում պարունակությունը կրճատում է այն եւ չի կարող դուրս գալ իր սահմաններից: Այնուամենայնիվ, եթե լայնությունը դնում եք լայնության կամ առավելագույն լայնության միջոցով, եւ ոչ թե Flex- ի հիմքը, Flex բեռնարկղի ներսում գտնվող տարրը կկարողանա դուրս գալ այս բեռնարկղից (երբեմն անհրաժեշտ է այս պահվածքի համար): Օրինակ:
FLEX դասավորության օրինակներ
Օրինակներում, ցանկացած վայրում պատկերացնում է նախածանցներ խաչմերուկի համար: Ես դա արեցի CSS- ի հարմար ընթերցանության համար: Հետեւաբար տեսեք վերջին օրինակները: chrome- ի տարբերակները կամ Firefox:
# 1 Պարզ օրինակ ուղղահայաց հավասարեցմամբ եւ հորիզոնական
Սկսենք ամենապարզ օրինակից `ուղղահայաց եւ հորիզոնական մակարդակի վրա միաժամանակ եւ բլոկի ցանկացած բարձրության վրա, նույնիսկ ռետինե:
Կամ այդպես, առանց բլոկի ներսում.
# 1.2 բաժանում (բացը) Flex բլոկի տարրերի միջեւ
Տեղադրելու համար տարայի տարրերը եզրերի վրա եւ կամայականորեն ընտրեք տարրը, որից հետո ընդմիջում կլինի, դուք պետք է օգտագործեք մարժայի ձախ գույքը. Ավտոմատ կամ մարժա:
# 2 հարմարվող մենյու Flex- ում
Page անկում կատարել ընտրացանկ: Լայն էկրանին այն պետք է լինի ճիշտ: Միջին հաշվով, մեջտեղում հավասարեցված: Եվ մի փոքր մեկ տարրի վրա պետք է լինի նոր գծի վրա:
# 3 հարմարվողական 3 սյուն
Այս օրինակը ցույց է տալիս, թե որքան արագ եւ հարմար է 3 սյուներ, որոնք, նեղանալիս, կվերածվեն 2-ի, իսկ հետո, 1-ում:
Խնդրում ենք նկատի ունենալ, որ դա կարելի է անել առանց մեդիա կանոններ օգտագործելու, բոլորը Flex:
Գնացեք jsfidlede.net եւ փոխեք «արդյունքի» բաժնի լայնությունը
# 4 հարմարվողական բլոկներ Flex- ի վրա
Ենթադրենք, մենք պետք է հանենք 3 բլոկ, մեկ մեծ եւ երկու փոքր: Միեւնույն ժամանակ անհրաժեշտ է, որ բլոկները տեղավորվեն փոքր էկրանների մեջ: Կատարել.
Գնացեք jsfidlede.net եւ փոխեք «արդյունքի» բաժնի լայնությունը
# 5 պատկերասրահ Flex եւ Transition
Այս օրինակը ցույց է տալիս, թե որքան արագ կարող եք գեղեցիկ աչքի ակորդեոն պատրաստել ֆլեքսով նկարներով: Ուշադրություն դարձրեք Flex- ի անցումային գույքին:
# 6 FLEX FLEX (պարզապես օրինակ)
Առաջադրանքը պատրաստեք ճկուն բլոկ: Որպեսզի յուրաքանչյուր բլոկում տեքստի սկիզբը նույն հորիզոնական գծի վրա էր: Նրանք: Լայնության լայնությամբ բլոկները աճում են բարձրությամբ: Անհրաժեշտ է, որ նկարը վերեւում լինի, կոճակը միշտ ներքեւում է, իսկ մեջտեղում գտնվող տեքստը սկսվեց մեկ հորիզոնական գծի վրա ...
Այս խնդիրը լուծելու համար բլոկներն իրենք ձգվում են Flex- ի միջոցով եւ տեղադրվում է առավելագույն հնարավոր լայնությունը: Յուրաքանչյուր ներքին ստորաբաժանում նույնպես դիզայնով ճկուն է, ֆլեքս-ուղղությամբ. Սյունակ; եւ տարրը մեջտեղում (որտեղ գտնվում է տեքստը) ձգված Flex-Grow: 1; Լրացնելու բոլոր ազատ տարածքը, արդյունքը ձեռք է բերվում. Տեքստը սկսվեց մեկ տողով ...
Լրացուցիչ օրինակներ
Զննարկչի աջակցությունը `98.3%
Իհարկե, ամբողջական աջակցություն չկա, բայց ամեն ինչ Ժամանակակից զննարկիչներ Աջակցեք FlexBox- ի ձեւավորումներին: Ոմանց համար դուք դեռ պետք է նշեք նախածանցները: Իրական նկարի համար նայեք Caniuse.com- ում եւ տեսեք, որ այսօր օգտագործված զննարկչի 96.3% -ը կաշխատի առանց նախածանցների, 98.3% նախածանցով: Սա հիանալի ցուցանիշ է `FlexBox- ը համարձակորեն օգտագործելու համար:
Իմանալ, թե այսօր ինչ նախածանցներ են (2019 թվականի հունիս), ես կտամ բոլոր Flex կանոնների օրինակ Անհրաժեշտ նախածանցներ:
/ * Կոնտեյներ * / .fex (ցուցադրում. -Webkit-box; ցուցադրում. -MS-FlexBox; ցուցադրում, ցուցադրում. -MS-INLOW-FLEXBOX; -Էբկիթ-արկղ-կողմնորոշիչ. Ուղղահայաց; -webkit-box-Formation: -Flex-հոսք. Սյունակի փաթաթում; Flex-Flow: Column Wrap; -webkit-Box-Pack. Հիմնավորեք; Արդարացրեք-բովանդակություն. Բաշխել; համահունչ; տարածություն.) / * Տարրեր * / .flex-Ither (-s -ms-Flex- ի. 1; Flex-Flex- Բացասական. 2; Flex-Shrink: 2; -MS-Flex- ի նախընտրելի չափը, 100px; Flex-soft: 100PX; 1 2 100px; Կենտրոն; համացանցային. Կենտրոն; -webkit-box-soldic-group. 3; -MS-Flex-Order: 2; Order: 2;)
Ավելի լավ է, եթե նախածանցներով հատկությունները կուղեւորվեն բնօրինակ գույքի:
Այսօր անհապաղ (Caniuse- ի կողմից) նախածանցի (ըստ Caniuse- ի) համար (ըստ Caniuse- ի), բայց ընդհանուր առմամբ նախածանցում է:
Chrome | Safari. | Firefox. | Օպերա: | Այսինքն | Android | iOS. |
---|---|---|---|---|---|---|
20- (հին) | 3.1+ (հին) | 2-21 (հին) | 10 (Tweeger) | 2.1+ (հին) | 3.2+ (հին) | |
21+ (նոր) | 6.1+ (նոր) | 22+ (նոր) | 12.1+ (նոր) | 11+ (նոր) | 4.4+ (նոր) | 7.1+ (նոր) |
- (Նոր) - Նոր շարահյուսություն. Display ուցադրում. Flex; ,
- (Tweener) - Old Unonofial Syntax 2011: Display ուցադրում, FlexBox; ,
- (Հին) - Հին Syntax 2009: Display ուցադրում, տուփ;
Տեսանյութ
Դե, մի մոռացեք տեսանյութի մասին, երբեմն էլ հետաքրքիր եւ հասկանալի է: Ահա մի քանի հանրաճանաչ.
Օգտակար հղումներ FLEX- ի համար
flexBoxFroggy.com - Flexbox կրթական խաղ:
Flexplorer- ը Visual Flex Code Designer է: