menu

CSS တွင် Flexboxes များနှင့်အလုပ်လုပ်ခြင်း

သင်သိသည့်အတိုင်း၊ justify-content ဆိုသည့် property ရှိပါသည်၊ ၎င်းသည် အဓိကဝင်ရိုး (main axis) အတိုင်း အစိတ်အပိုင်းများကို ညှိယူပေးပါသည်။

ထို့အပြင် align-items ဆိုသည့် property လည်းရှိပါသည်၊ ၎င်းသည် ဖြတ်ဝင်ရိုး (cross axis) အတိုင်း အစိတ်အပိုင်းများကို ညှိယူပေးပါသည်။ ကဲ ဒါနဲ့ အနည်းငယ် စမ်းကြည့်ရအောင်။

အခု ကျွန်ုပ်တို့ရဲ့ ဘလောက်များဟာ တန်းလိုက် စီထားတယ်ဆိုပါစို့၊ ဆိုလိုသည်မှာ ဖြတ်ဝင်ရိုးသည် အောက်ဘက်ကို ဦးတည်နေပါသည်။ align-items ကိုအသုံးပြု၍ ဤဘလောက်များကို ဗဟိုသို့ ထားကြပါစို့။

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> </div> .parent { display: flex; flex-direction: row; align-items: center; width: 300px; height: 300px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

အခု ဘလောက်တွေ ထပ်ထည့်ကြည့်ရအောင်၊ flex-wrap ကိုအသုံးပြု၍ �ျဉ်းကြောင်းများစွာ (multi-line) ဖြစ်အောင် ထည့်ကြည့်မယ်၊ မိဘ element ၏ အမြင့်ကို 300px မှ 500px အထိ တိုးချဲ့ပြီး ဤမျဉ်းကြောင်းများစွာ ဖြစ်သော အခြေအနေတွင် align-items က ဘယ်လိုအလုပ်လုပ်လဲဆိုတာ ကြည့်ရအောင်။

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> </div> .parent { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; width: 300px; height: 500px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

ကျွန်ုပ်တို့မြင်တွေ့ရသည့်အတိုင်း၊ ဗဟိုချက်ညီအောင် သိပ်ကောင်းကောင်း မလုပ်နိုင်ဘူး။ တန်းတစ်ခုချင်းစီက သူ့အတွက် ချထားပေးတဲ့ နေရာမှာ သူ့ဟာသူ ဗဟိုချက်ညီနေသလိုပဲ။ တန်းအားလုံးက တစ်ခုတည်းသော အစုအဖွဲ့အဖြစ် မိဘ element ၏ အလယ်ဗဟိုသို့ ရောက်အောင် လုပ်ကြည့်ရအောင်။

ဤအတွက် မျဉ်းကြောင်းများစွာ စာသားအတွက် လိုအပ်သော align-content ဆိုသည့် property ကို အသုံးပြုရပါမည်။ ကျွန်ုပ်တို့၏ code ကို ပြန်ရေးကြပါစို့။

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> </div> .parent { display: flex; flex-direction: row; align-content: center; flex-wrap: wrap; width: 300px; height: 500px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

align-content property သည် align-items မှာကဲ့သို့သော တန်ဖိုးများကို လက်ခံပါသည်။

space-between တန်ဖိုး

ဥပမာအနေဖြင့် space-between တန်ဖိုးကို ကြည့်ကြပါစို့။ မိဘ element အတွက် အမြင့်ကို 320px အဖြစ် သတ်မှတ်ကြပါစို့။ ကျွန်ုပ်တို့မှာ တန်းသုံးတန်းရှိပြီး၊ ထို့ကြောင့် တန်းများအကြားရှိ နေရာလပ်နှစ်ခုရှိမည်၊ ထိုနေရာလပ်များသည် တစ်ခုစီ 10px စီ ညီမျှကြမည်။

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> </div> .parent { display: flex; flex-direction: row; align-content: space-between; flex-wrap: wrap; width: 300px; height: 320px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

stretch တန်ဖိုး

stretch တန်ဖိုးကို စမ်းကြည့်ကြပါစို့။ ဤသို့လုပ်ရန် ကလေး elements များမှ အမြင့်ကို ဖယ်ရှားပြီး ပိုရှင်းလင်းသော သက်ရောက်မှုအတွက် မိဘ element ၏ အမြင့်ကို 600px အဖြစ် သတ်မှတ်ပါမည်။

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> </div> .parent { display: flex; flex-direction: row; align-content: stretch; flex-wrap: wrap; width: 300px; height: 600px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; border: 1px solid green; }

:

align-content အတွက် stretch တန်ဖိုးသည် ပုံသေ (default) တန်ဖိုးဖြစ်ပါသည်။ အကယ်၍ ကျွန်ုပ်တို့သည် ကလေး elements များ၏ အမြင့်ကို လုံးဝဖယ်ရှားပြီး၊ align-content property ကို ဖယ်ရှားကာ၊ သို့သော် မိဘ element ၏ အမြင့်နှင့် flex-wrap ကို ထားရှိပါက - အားလုံးသည် ယခင်အတိုင်း အလုပ်လုပ်နေဦးမည်။

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> </div> .parent { display: flex; flex-direction: row; flex-wrap: wrap; width: 300px; height: 600px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; border: 1px solid green; }

:

အကယ်၍ flex-wrap ကိုပါ ဖယ်ရှားလိုက်ပါက - အားလုံးသည် တစ်တန်းတည်း (single-line) ဖြစ်သွားမည်။

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> </div> .parent { display: flex; flex-direction: row; width: 300px; height: 600px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; border: 1px solid green; }

:

ဝင်ရိုးကို လှန်ပါ

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> </div> .parent { display: flex; flex-direction: column; width: 300px; height: 500px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> </div> .parent { display: flex; flex-direction: column; flex-wrap: wrap; width: 300px; height: 500px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> </div> .parent { display: flex; flex-direction: column; align-content: center; flex-wrap: wrap; width: 300px; height: 500px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

အထူးအခြေအနေများ

flex-wrap: wrap မရှိဘဲနှင့် ဘာမှအလုပ်မလုပ်ပါ။ ကျွန်ုပ်တို့မှာ မျဉ်းကြောင်းတစ်ကြောင်းတည်းရှိသည်ဆိုပါစို့။

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> </div> .parent { display: flex; flex-direction: row; align-content: center; flex-wrap: wrap; width: 300px; height: 320px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

flex-wrap: wrap ကိုဖယ်ရှားလိုက်ပါ - align-content: center သည် အလုပ်လုပ်တော့မည် မဟုတ်ပါ။

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> </div> .parent { display: flex; flex-direction: row; align-content: center; width: 300px; height: 320px; border: 1px solid red; } .child { box-sizing: border-box; width: 100px; height: 100px; border: 1px solid green; }

:

မြန်မာ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ဝက်ဘ်ဆိုက် လုပ်ဆောင်ခြင်း၊ ဆန်းစစ်လေ့လာခြင်းနှင့် ပုဂ္ဂလိကပြုပြင်ခြင်းအတွက် ကျွန်ုပ်တို့သည် cookie များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်