Адаптивний вебдизайн - Вигляд сітки (grid-view)
Що таке вигляд сітки (grid-view)?
Багато вебсторінок базуються на сітці, що означає, що сторінка розділена на стовпці:
Використання вигляду сітки дуже корисно при розробці вебсторінок. Це полегшує розміщення елементів на сторінці.
Адаптивне сіткове представлення часто має 12 стовпців та має загальну ширину 100%, і буде зменшуватись та розширюватись при зміні розміру вікна браузера.
Приклад: Адаптивний вигляд сітки
Побудова адаптивного вигляду сітки
Давайте побудуємо адаптивний вигляд сітки.
Спочатку переконайтесь, що для всіх елементів HTML властивість box-sizing
встановлено в border-box
. Це гарантує, що відступи та межі включені в загальну ширину і висоту елементів.
Додайте наступний код в CSS:
* {
box-sizing: border-box;
}
Докладніше про властивість box-sizing
читайте в розділі CSS Box Sizing на нашому сайті W3Schools українською.
В наступному прикладі показана проста адаптивна вебсторінка с двома стовпцями:
Приклад вище підходить, якщо вебсторінка містить лише два стовпці.
Однак ми хочемо використовувати адаптивний вигляд сітки з 12 стовпцями, щоб мати більше контролю над вебсторінкою.
Спочатку необхідно розрахувати процент для одного стовпця: 100% / 12 стовпців = 8,33%.
Потім ми створюємо один клас для кожного із 12 стовпців, class="col-"
і число, що визначає, скільки стовпців має охоплювати розділ:
CSS:
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}
Спробуйте самі »
Всі ці стовпці мають бути плаваючими по лівій стороні та мати відступ 15 пікселів:
CSS:
[class*="col-"] {
float: left;
padding: 15px;
border: 1px solid red;
}
Кожен рядок має бути огорнуто в <div>
. Кількість стовпців всередині рядка завжди має складати до 12:
HTML:
<div class="row">
<div class="col-3">...</div> <!-- 25% -->
<div class="col-9">...</div> <!-- 75% -->
</div>
Всі стовпці всередині рядка зміщені вліво і тому видалені з потоку сторінки, а інші елементи будуть розміщені так, як наче стовпці не існують. Щоб попередити це, додамо стиль, який очищує потік:
CSS:
.row::after {
content: "";
clear: both;
display: table;
}
Також можна додати кілька стилів і кольорів, щоб вони вигляділи краще:
Приклад
html {
font-family: "Lucida Sans", sans-serif;
}
.header {
background-color: #9933cc;
color: #fff;
padding: 15px;
}
.menu ul {
list-style-type: none;
margin: 0;
padding: 0;
}
.menu li {
padding: 8px;
margin-bottom: 7px;
background-color :#33b5e5;
color: #fff;
box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}
.menu li:hover {
background-color: #0099cc;
}
Спробуйте самі »
Зверніть увагу, що вебсторінка в прикладі виглядає не дуже добре, коли ви змінюєте розмір вікна браузера до дуже маленької ширини. В наступному розділі ви дізнаєтесь, як це виправити.