CSS-ի ֆլեքսների վրա սալիկապատում
Եկեք հիմա սովորենք, թե ինչպես ստեղծել սալիկապատում ֆլեքսբոքսերի վրա: Սկզբում տեղադրենք ֆլեքս-բլոկները մի քանի շարքով, յուրաքանչյուր շարքում երեք բլոկ:
Դրա համար ֆլեքսների ծնողին սահմանենք լայնություն
300px և flex-wrap արժեքով
wrap, իսկ ժառանգներին՝ լայնություն 100px:
<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-wrap: wrap;
width: 300px;
border: 1px solid red;
}
.child {
box-sizing: border-box;
width: 100px;
height: 100px;
border: 1px solid green;
}
:
Եկեք հիմա ստեղծենք հեռավորություն մեր բլոկների միջև հորիզոնական: Դրա համար մեծացնենք ծնողի լայնությունը՝ լրացուցիչ տարածք տրամադրելու համար բացատների համար:
Քանի որ մենք ունենք երեք բլոկ մի շարքում, ստացվում է,
որ նրանց միջև կա երկու բաց: Ենթադրենք, մենք
ցանկանում ենք, որ յուրաքանչյուր բաց ունենա լայնություն
10px: Ստացվում է, որ ծնողի լայնությունը
պետք է մեծացնել 20px-ով, այսինքն՝ դարձնել
ոչ 300px, այլ 320px:
Եկեք հիմա ծնող բլոկներին նշանակենք justify-content
space-between արժեքով և ստացենք
ցանկալի հեռավորությունը բլոկների միջև:
<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-wrap: wrap;
justify-content: space-between;
width: 320px;
border: 1px solid red;
}
.child {
box-sizing: border-box;
width: 100px;
height: 100px;
border: 1px solid green;
}
:
Եկեք հիմա ավելացնենք նույն հեռավորությունը
բլոկների միջև նաև ուղղահայաց: Դրա համար կարելի է
նշանակել align-content հատկությունը
space-between արժեքով:
Սակայն դրա համար անհրաժեշտ է նշանակել ծնողի բարձրությունը,
հակառակ դեպքում align-content-ը չի աշխատի:
Եկեք սահմանենք բարձրությունը 320px:
Այս դեպքում մեզ մոտ կտեղավորվի երեք
շարք բլոկներ՝ 100px բարձրությամբ գումարած
երկու բաց շարքերի միջև՝ 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;
justify-content: space-between;
align-content: space-between;
flex-wrap: wrap;
width: 320px;
height: 320px;
border: 1px solid red;
}
.child {
box-sizing: border-box;
width: 100px;
height: 100px;
border: 1px solid green;
}
:
Ամեն ինչ հրաշալի աշխատում է, բայց կան որոշ խնդիրներ, որոնք մենք կդիտարկենք հաջորդ դասում: