CSS - Flexbox
This chapter will explain to you what Flexbox is and what you can do with CSS.
What is CSS Flexbox?
- CSS Flexbox is used to define each element to be beautiful and easy to locate. In this 
Flexbox, we have two things to study:Parent ElementandChild Element. 
CSS Flexbox Features
- Flexbox in CSS is able to customize the container in your website to a standard combination with many properties that make it easy for you when you need it, and it is also an important part of 
Responsive website. 
CSS Flexbox Properties
1. Parent Element:
In this
Parent Element, there are manypropertiesthat we need to study, which are as follows:flex-direction: defines in which direction the container wants to stack the flex items.
flex-wrap: specifies whether the flex items should wrap or not.
flex-flow: is a shorthand property for setting both the
flex-directionandflex-wrapproperties.justify-content: used to align the flex items.
align-content: used to align the flex lines.
place-content: is a shorthand property for setting both the
justify-contentandalign-contentproperties.align-items: used to align the flex items.
2. Child Element:
In this
Child Element, there are manypropertiesthat we need to study, which are as follows:order: specifies the order of the flex items.
flex-grow: specifies how much a flex item will grow relative to the rest of the flex items.
flex-shrink: specifies how much a flex item will shrink relative to the rest of the flex items.
flex-basis: specifies the initial length of a flex item.
flex: is a shorthand property for the
flex-grow,flex-shrink, andflex-basisproperties.align-self: specifies the alignment for the selected item inside the flexible container.
ឧទាហរណ៍
- The following is an example with a container to hold small content, and in that small content there are five more small 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;
}
លទ្ធផល:
As we have seen, in the
content__oneclass there is no style define, so the result is that all the boxes in the content are in column format.Note: The
CSScode in the example below is not rewritten, only new code to be added.
- ខាងក្រោមនេះគឺយើងប្រើ 
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។