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-элементтерди тууралоо (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: Конкреттүү flex-элемент үчүнalign-items-ти кайра аныктайт.
Колдонуу мисалы:
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 колдонбостон адаптивдүү дизайн.
- Заманауи браузерлерде жакшы колдоо.