Перабудова блокаў праз медазапыты ў CSS
Давайце навучымся выконваць перабудовы блокаў на рознай шырыні экрана. Для прыкладу рэалізуем вось такую паводзіны:
Для пачатку напішам HTML-код нашых блокаў:
<div class="parent">
<div class="child">1</div>
<div class="child">2</div>
</div>
Цяпер давайце напішам стылі бацьку нашых блокаў:
.parent {
display: flex;
width: 90%;
margin: 50px auto;
border: 1px solid red;
}
Цяпер напішам стылі самім блокам, не пазначаючы тых уласцівасцяў, якія будуць мяняцца медыязапытамі:
.child {
box-sizing: border-box;
padding: 20px;
border: 1px solid green;
}
На вялікай шырыні экрана хай прамежак паміж блокамі разлічваецца аўтаматычна:
@media (min-width: 500px) {
.parent {
justify-content: space-between;
}
}
Паставім шырыню нашым блокам крыху менш
50%, каб пакінуць месца
пад водступ:
@media (min-width: 500px) {
.child {
width: 49.5%;
}
}
На маленькай шырыні экрана паставім нашы блокі ў калонку:
@media (max-width: 500px) {
.parent {
flex-direction: column;
}
}
Зададзім ім ніжні водступ:
@media (max-width: 500px) {
.child {
margin-bottom: 10px;
}
}
Сабяром усё разам і атрымаем наступны код:
.parent {
display: flex;
width: 90%;
margin: 50px auto;
}
.child {
box-sizing: border-box;
padding: 20px;
border: 1px solid green;
}
@media (max-width: 500px) {
.parent {
flex-direction: column;
}
.child {
margin-bottom: 10px;
}
}
@media (min-width: 500px) {
.parent {
justify-content: space-between;
}
.child {
width: 49.5%;
}
}