CSS - Flexbox
ជំពូកនេះនឹងពន្យល់អ្នកពី Flexbox ជាអ្វីហើយអាចធ្វើអ្វីបានខ្លះនៅលើ CSS។
អ្វីទៅជា CSS Flexbox?
- CSS Flexbox គឺប្រើសម្រាប់កំណត់ធាតុនីមួយៗឲ្យមានភាពស្រស់ស្អាតនិងងាយស្រួលក្នុងការកំណត់ទីតាំង។ នៅក្នុង 
Flexboxនេះគឺយើងមានរបស់ពីរដែលត្រូវសិក្សាគឺParent ElementនិងChild Element។ 
ចំណុចពិសេសរបស់ CSS Flexbox
- Flexbox នៅក្នុង CSS គឺអាចធ្វើការបែងចែក 
Containerនៅក្នុង គេហទំព័ររបស់អ្នកឲ្យមានលក្ខណៈស្តង់ដា រួមបញ្ចូលជាមួយនឹងPropertiesជាច្រើន ដែលផ្តល់ភាពងាយស្រួលដល់អ្នកនៅពេលដែលអ្នកត្រូវការ ហើយវាក៏ផ្នែកមួយដ៏សំខាន់ក្នុងការធ្វើResponsiveទៅលើគេហទំព័រ។ 
Properties របស់ CSS Flexbox
១. Parent Element:
នៅក្នុង
Parent Elementនេះគឺមានpropertiesជាច្រើនដែលយើងត្រូវសិក្សា ដែលមានដូចខាងក្រោម:flex-direction: ប្រើសម្រាប់កំណត់ទិសដៅនៃធាតុដែលវាផ្ទុក។
flex-wrap: ប្រើសម្រាប់កំណត់ថាតើធាតុដែលវាផ្ទុកគួរចុះបន្ទាត់ឬអត់ នៅពេលដល់កន្លែងទាល់។
flex-flow: ប្រើសម្រាប់សរសេរតែក្នុងមួយ
propertyរវាងflex-directionនិងflex-wrap។justify-content: ប្រើសម្រាប់តម្រៀបធាតុទៅតាមទិសដៅនៃទិសដៅគោល។
align-content: ប្រើសម្រាប់តម្រៀបធាតុទៅតាមទិសដៅដែលកាត់ទិសដៅគោល(សម្រាប់ច្រើនបន្ទាត់)។
place-content: ប្រើសម្រាប់សរសេរតែក្នុងមួយ
propertiesរវាងjustify-contentនិងalign-content។align-items: ប្រើសម្រាប់តម្រៀបទៅតាមទិសដៅដែលកាត់ទិសដៅគោល(សម្រាប់មួយបន្ទាត់)។
២. Child Element:
នៅក្នុង
Child Elementនេះគឺមានpropertiesជាច្រើនដែលយើងត្រូវសិក្សា ដែលមានដូចខាងក្រោម:order: ប្រើសម្រាប់កំណត់លំដាប់។
flex-grow: ប្រើសម្រាប់ពង្រីកទំហំទៅឲ្យធាតុនូវទំហំដែលនៅសល់។
flex-shrink: ប្រើសម្រាប់ពង្រួមធាតុ។
flex-basis: ប្រើសម្រាប់កំណត់ទំហំទៅឲ្យធាតុ។
flex: ប្រើសម្រាប់សរសេរតែក្នុងមួយ
propertiesរវាងflex-grow,flex-shrinkនិងflex-basis។align-self: ប្រើសម្រាប់កំណត់តម្លៃដូច
align-itemsប៉ុន្តែសម្រាប់តែមួយធាតុបច្ចុប្បន្ននេះទេ។
ឧទាហរណ៍
- ខាងក្រោមនេះគឺជាឧទាហរណ៍ដែលមាន 
Containerដើម្បីក្តោបនូវcontentតូចៗ ហើយនៅក្នុងcontentតូចៗនោះគឺមានboxesតូចៗចំនួនប្រាំបន្ថែមទៀត: 
index.html
<div class="container">
  <div class="content content__one">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.container {
  width: 100%;
  position: relative;
}
.content {
  width: 100%;
  height: 360px;
  margin: 30px auto;
  background-color: #6c3483;
  border-radius: 10px;
  border: 2px solid #f39c12;
  padding: 10px;
}
.box {
  margin: 10px;
  width: 45%;
  height: 45px;
  border-radius: 10px;
  border: 2px solid #dedede;
}
.box__one {
  background-color: #2ecc71;
}
.box__two {
  background-color: #e74c3c;
}
.box__three {
  background-color: #5499c7;
}
.box__four {
  background-color: #f5b041;
}
.box__five {
  background-color: #85929e;
}
លទ្ធផល:
ដោយយើងបានឃើញហើយថា នៅក្នុង class
content__oneគឺមិនទាន់មានកំណត់styleអ្វីចូលទៅក្នុងនឹងនោះទេ ដូច្នេះលទ្ធផលបង្ហាញចេញមកគឺboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈធ្លាក់ចុះជាទម្រង់ជួរឈរ។បញ្ជាក់: កូដរបស់
CSSនៅក្នុងឧទាហរណ៍ខាងក្រោមៗនេះគឺមិនមានជាការសរសេរឡើងវិញនោះទេ ហើយមានតែកូដដែលត្រូវបន្ថែមតែប៉ុណ្ណោះ។
- ខាងក្រោមនេះគឺយើងប្រើ 
flexboxនៅក្នុង classcontent__twoហើយដើម្បីអាចប្រើប្រាស់flexboxគឺយើងប្រើ propertydisplayហើយតម្លៃគឺflexគឺមានលក្ខណៈបែបនេះdisplay: flex;។ 
index.html
<div class="container">
  <div class="content content__two">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__two {
  display: flex;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__twoគឺមានការកំណត់styleចំនួនមួយpropertyគឺdisplay: flex;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈឡើងលើជាទម្រង់ជួរដេកវិញ។ 
- ខាងក្រោមនេះគឺយើងប្រើ 
flexboxដើម្បីកំណត់ទិសដៅទៅឲ្យboxesទាំងអស់នៅក្នុង classcontent__threeហើយដើម្បីអាចកំណត់ទិសដៅបាន យើងអាចប្រើប្រាស់នូវ propertyflex-directionហើយមានតម្លៃជាច្រើនដែលមានដូចជាcolumn,row,column-reverse, និងrow-reverse។ 
index.html
<div class="container">
  <div class="content content__three">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__three {
  display: flex;
  flex-direction: column;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__threeគឺមានការកំណត់styleចំនួនមួយpropertyបន្ថែមទៀតគឺflex-direction: column;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានទិសដៅជាលក្ខណៈធ្លាក់ចុះជាទម្រង់ជួរឈរវិញ។ 
index.html
<div class="container">
  <div class="content content__four">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__four {
  display: flex;
  flex-direction: row;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__fourគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺflex-direction: row;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានទិសដៅជាលក្ខណៈឡើងលើជាទម្រង់ជួរដេកវិញ។ 
index.html
<div class="container">
  <div class="content content__five">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__five {
  display: flex;
  flex-direction: column-reverse;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__fiveគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺflex-direction: column-reverse;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានទិសដៅជាលក្ខណៈធ្លាក់ចុះជាទម្រង់ជួរឈរបែបបញ្ច្រាស់ទៅវិញ។ 
index.html
<div class="container">
  <div class="content content__six">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__six {
  display: flex;
  flex-direction: row-reverse;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__sixគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺflex-direction: row-reverse;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានទិសដៅជាលក្ខណៈឡើងលើជាទម្រង់ជួរដេកបែបបញ្ច្រាស់ទៅវិញ។ 
- ខាងក្រោមនេះគឺយើងប្រើ 
flexboxដើម្បីកំណត់ការចុះបន្ទាត់របស់boxesទាំងអស់នៅក្នុង classcontent__sevenហើយដើម្បីអាចកំណត់ការចុះបន្ទាត់បាន យើងអាចប្រើប្រាស់នូវ propertyflex-wrapហើយមានតម្លៃជាច្រើនដែលមានដូចជាwrap,nowrap, និងwrap-reverse។ 
index.html
<div class="container">
  <div class="content content__seven">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__seven {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__sevenគឺមានការកំណត់styleចំនួនមួយpropertyបន្ថែមទៀតគឺflex-wrap: wrap;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈចុះបន្ទាត់។ 
index.html
<div class="container">
  <div class="content content__eight">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__eight {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap-reverse;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__eightគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺflex-wrap: wrap-reverse;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈចុះបន្ទាត់បែបជាបញ្ច្រាស់ទៅវិញ។ 
index.html
<div class="container">
  <div class="content content__nine">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__nine {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__nineគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺflex-wrap: nowrap;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈមិនចុះបន្ទាត់ទៅវិញ។ 
- ខាងក្រោមនេះគឺយើងប្រើ 
flexboxដើម្បីកំណត់ទិសដៅនិងការចុះបន្ទាត់រួមបញ្ចូលគ្នាដោយប្រើតែpropertyតែមួយគត់គឺflex-flowហើយមានតម្លៃជាច្រើនដែលមានទៅតាមតម្លៃរបស់propertyរបស់flex-directionនិងflex-wrap។ 
index.html
<div class="container">
  <div class="content content__ten">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__ten {
  display: flex;
  flex-flow: row wrap;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__tenគឺមានការកំណត់styleចំនួនមួយpropertyជំនួសpropertiesពីរគឺflex-flow: row wrap;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានទិសដៅជាលក្ខណៈជួរដេកហើយមានលក្ខណៈបែបជាចុះបន្ទាត់។ 
- ខាងក្រោមនេះគឺយើងប្រើ 
flexboxដើម្បីតម្រៀបធាតុជាលក្ខណៈជួរដេកទៅឲ្យboxesទាំងអស់នៅក្នុង classcontent__elevenហើយដើម្បីតម្រៀបធាតុជាលក្ខណៈជួរដេកបាន យើងអាចប្រើប្រាស់នូវ propertyjustify-contentហើយមានតម្លៃជាច្រើនដែលមានដូចជាcenter,flex-start,flex-end,space-between,space-around,space-evenly, និងstretch។ 
index.html
<div class="container">
  <div class="content content__eleven">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__eleven {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__elevenគឺមានការកំណត់styleចំនួនមួយpropertyបន្ថែមទៀតគឺjustify-content: center;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកណ្តាលនៃcontentបែបជាជួរដេក។ 
index.html
<div class="container">
  <div class="content content__twelve">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__twelve {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__twelveគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺjustify-content: flex-start;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកន្លែងចាប់ផ្តើមនៃcontentបែបជាជួរដេក។ 
index.html
<div class="container">
  <div class="content content__thirteen">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__thirteen {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__thirteenគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺjustify-content: flex-end;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកន្លែងបញ្ចប់នៃcontentបែបជាជួរដេក។ 
index.html
<div class="container">
  <div class="content content__fourteen">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__fourteen {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__fourteenគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺjustify-content: space-between;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅញែកសងខាងនៃកន្លែងចាប់ផ្តើមនិងកន្លែងបញ្ចប់របស់contentបែបជាជួរដេក។ 
index.html
<div class="container">
  <div class="content content__fifteen">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__fifteen {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__fifteenគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺjustify-content: space-around;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅញែកសងខាងនៃកន្លែងចាប់ផ្តើមនិងកន្លែងបញ្ចប់របស់contentតែមានគម្លាតរៀងធំបន្តិចនៃកន្លែងចាប់ផ្តើមនិងកន្លែងបញ្ចប់របស់contentបែបជាជួរដេក។ 
index.html
<div class="container">
  <div class="content content__sixteen">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__sixteen {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-evenly;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__sixteenគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺjustify-content: space-evenly;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅញែកសងខាងនៃកន្លែងចាប់ផ្តើមនិងកន្លែងបញ្ចប់របស់contentតែមានគម្លាតស្មើៗគ្នារវាងគម្លាតនៃកន្លែងចាប់ផ្តើមនិងកន្លែងបញ្ចប់របស់contentនិងគម្លាតរបស់boxesនីមួយៗបែបជាជួរដេក។ 
index.html
<div class="container">
  <div class="content content__seventeen">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__seventeen {
  display: flex;
  flex-flow: row wrap;
  justify-content: stretch;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__seventeenគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺjustify-content: stretch;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកន្លែងចាប់ផ្តើមនៃcontentវាដូចទៅនឹងតម្លៃdefualtបែបជាជួរដេក។ 
- ខាងក្រោមនេះគឺយើងប្រើ 
flexboxដើម្បីតម្រៀបធាតុជាលក្ខណៈជួរឈរទៅឲ្យboxesទាំងអស់នៅក្នុង classcontent__eighteenthហើយដើម្បីតម្រៀបធាតុជាលក្ខណៈជួរឈរបាន យើងអាចប្រើប្រាស់នូវ propertyalign-content(សម្រាប់ច្រើនបន្ទាត់)និងalign-items(សម្រាប់មួយបន្ទាត់)ហើយមានតម្លៃជាច្រើនដែលមានដូចជាcenter,flex-start,flex-end,space-between,space-around, និងstretch។ 
index.html
<div class="container">
  <div class="content content__eighteenth">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__eighteenth {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: center;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__eighteenthគឺមានការកំណត់styleចំនួនមួយpropertyបន្ថែមទៀតគឺalign-content: center;ដូច្នេះboxesទាំងអស់នៅក្នុង content គឺមានលក្ខណៈនៅកណ្តាលនៃcontentបែបជាជួរឈរ។ 
index.html
<div class="container">
  <div class="content content__nineteen">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__nineteen {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: flex-start;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__nineteenគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺalign-content: flex-start;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកន្លែងចាប់ផ្តើមនៃcontentបែបជាជួរឈរ។ 
index.html
<div class="container">
  <div class="content content__twenty">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__twenty {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: flex-end;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__twentyគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺalign-content: flex-end;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកន្លែងបញ្ចប់នៃcontentបែបជាជួរឈរ។ 
index.html
<div class="container">
  <div class="content content__twenty__one">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__twenty__one {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: space-between;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__twenty__oneគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺalign-content: space-between;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅញែកសងខាងនៃកន្លែងចាប់ផ្តើមនិងកន្លែងបញ្ចប់របស់contentបែបជាជួរឈរ។ 
index.html
<div class="container">
  <div class="content content__twenty__two">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__twenty__two {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: space-around;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__twenty__twoគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺalign-content: space-around;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅញែកសងខាងនៃកន្លែងចាប់ផ្តើមនិងកន្លែងបញ្ចប់របស់contentតែមានគម្លាតរៀងធំបន្តិចនៃកន្លែងចាប់ផ្តើមនិងកន្លែងបញ្ចប់របស់contentបែបជាជួរឈរ។ 
index.html
<div class="container">
  <div class="content content__twenty__three">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__twenty__three {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: stretch;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__twenty__threeគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺalign-content: stretch;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកន្លែងចាប់ផ្តើមនៃcontentវាដូចទៅនឹងតម្លៃdefualtបែបជាជួរឈរ។ 
- ខាងក្រោមនេះគឺយើងប្រើ 
flexboxដើម្បីតម្រៀបធាតុជាលក្ខណៈជួរដេកនិងជួរឈររួមបញ្ចូលគ្នាដោយប្រើតែpropertyតែមួយគត់គឺplace-contentហើយមានតម្លៃជាច្រើនដែលមានទៅតាមតម្លៃរបស់propertyរបស់justify-contentនិងalign-content។ 
index.html
<div class="container">
  <div class="content content__twenty__four">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__twenty__four {
  display: flex;
  flex-flow: row wrap;
  place-content: center center;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__twenty__fourគឺមានការកំណត់styleចំនួនមួយpropertyជំនួសpropertiesពីរគឺplace-content: center center;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកណ្តាលនៃcontentបែបជាជួរដេកបូករួមជាមួយនឹងជួរឈរ។ 
index.html
<div class="container">
  <div class="content content__twenty__five">
    <div class="box box__one">1</div>
  </div>
</div>
style.css
.content__twenty__five {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__twenty__fiveគឺមានការកំណត់styleចំនួនមួយpropertyបន្ថែមទៀតគឺalign-items: center;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកណ្តាលនៃcontentបែបជាជួរឈរ។ 
index.html
<div class="container">
  <div class="content content__twenty__six">
    <div class="box box__one">1</div>
  </div>
</div>
style.css
.content__twenty__six {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-end;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__twenty__sixគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺalign-items: flex-end;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកន្លែងបញ្ចប់នៃcontentបែបជាជួរឈរ។ 
index.html
<div class="container">
  <div class="content content__twenty__seven">
    <div class="box box__one">1</div>
  </div>
</div>
style.css
.content__twenty__seven {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__twenty__sevenគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺalign-items: flex-start;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកន្លែងចាប់ផ្តើមនៃcontentបែបជាជួរឈរ។ 
index.html
<div class="container">
  <div class="content content__twenty__eight">
    <div class="box box__one">1</div>
  </div>
</div>
style.css
.content__twenty__eight {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: stretch;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__twenty__eightគឺមានការកំណត់style propertyដដែលតែមានការផ្លាស់ប្តូរតម្លៃគឺalign-items: stretch;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកន្លែងចាប់ផ្តើមនៃcontentវាដូចទៅនឹងតម្លៃdefualtបែបជាជួរឈរ។ 
index.html
<div class="container">
  <div class="content content__twenty__nine">
    <div class="box box__one">1</div>
  </div>
</div>
style.css
.content__twenty__nine {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__twenty__nineគឺមានការកំណត់style propertyដដែលតែអ្វីដែលយើងចង់បញ្ជាក់បន្ថែមនោះគឺជាទូទៅគេនិយមប្រើ propertyjustify-contentនិងalign-itemsជាមួយគ្នាព្រោះjustify-contentប្រើសម្រាប់តម្រៀបធាតុទៅតាមទិសដៅនៃទិសដៅគោល រីឯalign-itemsវិញគឺប្រើសម្រាប់តម្រៀបទៅតាមទិសដៅដែលកាត់ទិសដៅគោល(សម្រាប់មួយបន្ទាត់) ដូច្នេះលទ្ធផលបង្ហាញចេញមកគឺboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកណ្តាលនៃcontentបែបជាជួរដេកបូករួមជាមួយនឹងជួរឈរ។ 
- ឧទាហរណ៍ខាងក្រោមៗនេះគឺយើងនឹងបង្ហាញអំពីការប្តូរទិសដៅនៃ 
boxesនៅក្នុងcontentទៅជាជួរឈរវិញ ដូច្នេះ propertyjustify-contentនិងalign-itemsនឹងប្តូរទិសដៅក្នុងការតម្រៀបធាតុដូចគ្នា ដែលjustify-contentគឺតម្រៀបធាតុបែបជាជួរឈរ ហើយសម្រាប់align-itemsគឺតម្រៀបធាតុបែបជាជួរដេកវិញ។ 
index.html
<div class="container">
  <div class="content content__thirty">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
  </div>
</div>
style.css
.content__thirty {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__thirtyគឺមានការកំណត់style propertyដូចជាjustify-content: center;និងalign-items: center;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅកណ្តាលនៃcontentបែបជាជួរដេកបូករួមជាមួយនឹងជួរឈរ។ 
index.html
<div class="container">
  <div class="content content__thirty__one">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
  </div>
</div>
style.css
.content__thirty__one {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__thirty__oneគឺមានការកំណត់style propertyដូចជាjustify-content: space-between;និងalign-items: center;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅញែកសងខាងនៃកន្លែងចាប់ផ្តើមនិងកន្លែងបញ្ចប់របស់contentបែបជាជួរឈរនិងមានលក្ខណៈនៅកណ្តាលនៃcontentបែបជាជួរដេក។ 
index.html
<div class="container">
  <div class="content content__thirty__two">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
  </div>
</div>
style.css
.content__thirty__two {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__thirty__twoគឺមានការកំណត់style propertyដូចជាjustify-content: space-between;និងalign-items: flex-end;ដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈនៅញែកសងខាងនៃកន្លែងចាប់ផ្តើមនិងកន្លែងបញ្ចប់របស់contentបែបជាជួរឈរនិងមានលក្ខណៈនៅកន្លែងបញ្ចប់នៃcontentបែបជាជួរដេក។ 
- ខាងក្រោមនេះគឺយើងប្រើ 
flexboxដើម្បីកំណត់លំដាប់ទៅឲ្យធាតុកូនៗនៅក្នុងcontent។ 
index.html
<div class="container">
  <div class="content content__thirty__three">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__thirty__three {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}
.content__thirty__three > .box {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  line-height: 45px;
  color: white;
}
.content__thirty__three > .box__one {
  order: 5;
}
.content__thirty__three > .box__two {
  order: 4;
}
.content__thirty__three > .box__three {
  order: 3;
}
.content__thirty__three > .box__four {
  order: 2;
}
.content__thirty__three > .box__five {
  order: 1;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__thirty__threeគឺមានការកំណត់styleចំនួនមួយpropertyបន្ថែមទៀតគឺorderដូច្នេះboxesទាំងអស់នៅក្នុងcontentគឺមានលក្ខណៈជាលំដាប់ៗតាមអ្វីដែលយើងបានកំណត់នៅក្នុងcontent។ 
- ខាងក្រោមនេះគឺយើងប្រើ 
flexboxដើម្បីពង្រីកទំហំទៅឲ្យធាតុនូវទំហំដែលនៅសល់នៅក្នុងcontent។ 
index.html
<div class="container">
  <div class="content content__thirty__four">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__thirty__four {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}
.content__thirty__four > .box__one {
  flex-grow: 1;
}
.content__thirty__four > .box__four {
  flex-grow: 1;
}
.content__thirty__four > .box__five {
  flex-grow: 1;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__thirty__fourគឺមានការកំណត់styleចំនួនមួយpropertyបន្ថែមទៀតគឺflex-growដូច្នេះboxនោះនៅក្នុងcontentគឺមានលក្ខណៈពង្រីកទំហំទៅឲ្យធាតុនូវទំហំដែលនៅសល់នៅក្នុងcontent។ 
- ខាងក្រោមនេះគឺយើងប្រើ 
flexboxដើម្បីពង្រួមធាតុនៅក្នុងcontent។ 
index.html
<div class="container">
  <div class="content content__thirty__five">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__thirty__five {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
}
.content__thirty__five > .box__one {
  flex-shrink: 0;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__thirty__fiveគឺមានការកំណត់styleចំនួនមួយpropertyបន្ថែមទៀតគឺflex-shrinkដូច្នេះboxនោះនៅក្នុងcontentគឺមានលក្ខណៈពង្រួមធាតុនៅក្នុងcontent។ 
- ខាងក្រោមនេះគឺយើងប្រើ 
flexboxដើម្បីអាចកំណត់ទំហំទៅឲ្យធាតុនៅក្នុងcontent។ 
index.html
<div class="container">
  <div class="content content__thirty__six">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__thirty__six {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}
.content__thirty__six > .box__two {
  flex-basis: 100px;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__thirty__sixគឺមានការកំណត់styleចំនួនមួយpropertyបន្ថែមទៀតគឺflex-basisដូច្នេះboxនោះនៅក្នុងcontentគឺមានលក្ខណៈអាចកំណត់ទំហំទៅឲ្យធាតុនៅក្នុងcontent។ 
- ខាងក្រោមនេះគឺយើងប្រើ 
flexboxដើម្បីសរសេរតែក្នុងមួយpropertiesរវាងflex-grow,flex-shrinkនិងflex-basis។ 
index.html
<div class="container">
  <div class="content content__thirty__seven">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__thirty__seven {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
}
.content__thirty__seven > .box__three {
  flex: 1 0 500px;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__thirty__sixគឺមានការកំណត់styleចំនួនមួយpropertyជំនួសpropertiesបីគឺflex: 1 0 500px;ដូច្នេះboxនោះនៅក្នុងcontentគឺមានលក្ខណៈពង្រីកទំហំទៅឲ្យធាតុនូវទំហំដែលនៅសល់នៅក្នុងcontentនិងមានលក្ខណៈពង្រួមធាតុនៅក្នុងcontentនិងមានការកំណត់ទំហំទៅឲ្យធាតុនៅក្នុងcontent។ 
- ខាងក្រោមនេះគឺយើងប្រើ 
flexboxដើម្បីអាចកំណត់តម្លៃដូចalign-itemsដែរប៉ុន្តែសម្រាប់តែមួយធាតុបច្ចុប្បន្ននេះទេ។ 
index.html
<div class="container">
  <div class="content content__thirty__eight">
    <div class="box box__one">1</div>
    <div class="box box__two">2</div>
    <div class="box box__three">3</div>
    <div class="box box__four">4</div>
    <div class="box box__five">5</div>
  </div>
</div>
style.css
.content__thirty__eight {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
}
.content__thirty__eight > .box__one {
  align-self: center;
}
.content__thirty__eight > .box__two {
  align-self: flex-start;
}
.content__thirty__eight > .box__three {
  align-self: flex-end;
}
.content__thirty__eight > .box__four {
  align-self: stretch;
}
.content__thirty__eight > .box__five {
  align-self: center;
}
លទ្ធផល:
- ដោយយើងបានឃើញហើយថានៅក្នុង class 
content__thirty__eightគឺមានការកំណត់styleចំនួនមួយpropertyបន្ថែមទៀតគឺalign-selfដូច្នេះboxនោះនៅក្នុងcontentគឺមានលក្ខណៈនៅទិសដៅដែលបានកំណត់នៃcontentបែបជាជួរឈរ។ 
សរុបសេចក្តី
- បន្ទាប់ពីអ្នកបានសិក្សានូវជំពូកនេះចប់ អ្នកនឹងអាចយល់ដឹងបានច្រើនទាក់ទងនឹង CSS Flexbox។