Junior
Ի՞նչ է Flexbox-ը։
sobes.tech AI
Պատասխան AI-ից
Flexbox (Flexible Box Layout) մոդելը CSS-ում միաչափ մոդել է, որը նախատեսված է տարածքի բաշխման համար կոնտեյների մեջ գտնվող տարրերի միջև և հզոր հարմարեցման հնարավորություններով: Այն հեշտությամբ կառավարում է դուստր տարրերի (flex-տարրերի) չափերը, կարգը և հարմարեցումը ծնողական կոնտեյների (flex-կոնտեյներ) ներսում, անկախ նրանց սկզբնական կարգից կամ չափից:
Flexbox-ի հիմնական հասկացությունները:
- Flex-контեյներ: Էлемент, որի համար սահմանված է
display: flexկամdisplay: inline-flex: Այս կոնտեյներում սահմանվում են նրա ուղղահայաց տարրերի դասավորության կանոնները: - Flex-տարրեր: Flex-контեյների ուղղակի երեխաները: Այս տարրերին կիրառվում են Flexbox հատկությունները, որոնք որոշում են նրանց վարքագիծը կոնտեյների ներսում:
- Հիմնական առանցք (main axis): Օրը, որի վրա դասավորվում են flex-տարրերը: Դեպի բնօրինակը հորիզոնական է (ձախից աջ), բայց կարող է փոխվել
flex-directionհատկությամբ: - Կտրուկ առանցք (cross axis): Օրը, որը հորիզոնական է հիմնական առանցքի նկատմամբ:
- Հիմնական սկզբում (main start) / Հիմնական վերջում (main end): Հիմնական առանցքի սկզբնամասը և վերջը:
- Կտրուկ սկզբում (cross start) / Կտրուկ վերջում (cross end): Կտրուկ առանցքի սկզբնամասը և վերջը:
Flexbox-ի հիմնական հատկությունները՝
display: Որոշում է, որ տարրը լինի flex-контեյներ (flexկամinline-flex):flex-direction: Որոշում է հիմնական առանցքի ուղղությունը (row,row-reverse,column,column-reverse):flex-wrap: Որոշում է, արդյոք flex-տարրերը կանցնեն նոր տող կամ սյունակ, եթե տեղը չի բավականացնում (nowrap,wrap,wrap-reverse):justify-content: Հիմնական առանցքի վրա հարմարեցում (flex-start,flex-end,center,space-between,space-around,space-evenly):align-items: Կտրուկ առանցքի վրա հարմարեցում (flex-start,flex-end,center,baseline,stretch):align-content: Flex-տարրերի գծերի հարմարեցում (եթե նրանց մի քանի էflex-wrap-ի պատճառով):
Flex-տարրերի հիմնական հատկությունները՝
order: Flex-տարրի ցուցադրման կարգը (դեպքում՝ 0):flex-grow: Flex-տարրի աճի գործակիցը, որը որոշում է, թե որքան կարող է մեծանալ՝ լրացնելու համար հասանելի տարածքը:flex-shrink: Flex-տարրի սեղմման գործակիցը, որը որոշում է, թե որքան կարող է փոքրանալ՝ խուսափելու համար անցողությունից:flex-basis: Նախնական չափը՝ նախքան ազատ տարածքի բաշխումը:flex: Կարճ ձև՝flex-grow,flex-shrinkևflex-basis-ի համար:align-self: Փոխում էalign-items-ը կոնկրետ flex-տարրի համար:
Օգտագործման օրինակ:
HTML:
<div class="flex-container">
<div class="flex-item">1</div>
<div class="flex-item">2</div>
<div class="flex-item">3</div>
</div>
CSS:
.flex-container {
display: flex; /* Կատարում է կոնտեյները flex-контեյներ */
justify-content: center; /* Հիմնական առանցքի վրա կենտրոնավորում */
align-items: center; /* Կտրուկ առանցքի վրա կենտրոնավորում */
height: 200px; /* Նմուշի համար */
border: 1px solid black;
}
.flex-item {
width: 50px;
height: 50px;
background-color: lightblue;
margin: 10px;
}
Flexbox-ի հիմնական առավելությունները՝
- Հեշտ հարմարեցում հորիզոնական և ուղղահայաց ուղղություններով:
- Գնահատելի տարածքի բաշխում:
- Հեշտ փոփոխել տարրերի կարգը:
- Աдапտիվ դիզայն՝ առանց float և position օգտագործելու:
- Լավ աջակցություն ժամանակակից բրաուզերներում: