Responsywne projektowanie stron internetowych - siatka wizualna
- Poprzednia Strona Viewport RWD
- Następna Strona Zapytania Media RWD
Co to jest siatka wizualna?
Wiele stron internetowych opiera się na siatce wizualnej (grid-view), co oznacza, że strona jest podzielona na kilka kolumn:
Użycie siatki wizualnej w projektowaniu stron internetowych jest bardzo pomocne. Pozwala to na łatwiejsze umieszczanie elementów na stronie.
Responsywne siatki wizualne zazwyczaj mają 12 kolumn, całkowitą szerokość 100%, i rozszerzają się i kurczą się podczas zmiany rozmiaru okna przeglądarki.
Budowanie responsywnej siatki wizualnej
Zacznijmy budować responsywną siatkę wizualną.
Najpierw upewnij się, że wszystkie elementy HTML box-sizing
właściwość ustawiona na border-box
W ten sposób można upewnić się, że całkowita szerokość i wysokość elementu zawiera wewnętrzne marginesy (wypełnienie) i ramki.
Dodaj następujący kod do CSS:
* { box-sizing: border-box; }
Proszę, odwiedź nasz CSS Box Sizing Przeczytaj więcej o właściwości box-sizing w rozdziale.
Poniższy przykład pokazuje prostą responsywną stronę internetową, która zawiera dwie kolumny:
przykład
.menu { szerokość: 25%; float: left; } .main { szerokość: 75%; float: left; }
Jeśli strona zawiera tylko dwie kolumny, przykład powyżej jest w porządku.
Ale chcemy użyć responsywnej siatki z 12 kolumn, aby lepiej kontrolować stronę.
Po pierwsze, musimy obliczyć procent jednej kolumny: 100% / 12 kolumn = 8.33%.
Następnie, tworzymy klasę dla każdego z 12 kolumn, tj. class="col-"
i liczbą, która definiuje liczbę kolumn, które ten sekcja powinna przekraczać:
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%;}
Wszystkie te kolumny powinny być przesuwane w lewo i mieć wewnętrzną margines 15px:
CSS:
[class*="col-"] { float: left; padding: 15px; border: 1px solid red; }
Każda rząd powinna być otoczona <div>
Wewnętrzna liczba kolumn powinna sumować się do 12:
HTML:
<div class="row"> <div class="col-3">...</div> <!-- 25% --> <div class="col-9">...</div> <!-- 75% --> </div>
Wszystkie kolumny wewnętrzne są przesuwane w lewo, więc są usuwane z przepływu strony i umieszczane inne elementy, jakby te kolumny nie istniały. Aby zapobiec temu, dodamy styl czyszczenia przepływu:
CSS:
.row::after { content: ""; clear: both; display: table; }
Chcemy dodać trochę stylów i kolorów, aby wyglądało lepiej:
przykład
html { font-family: "Lucida Sans", sans-serif; } .header { background-color: #9933cc; color: #ffffff; padding: 15px; } .menu ul { list-style-type: none; margin: 0; padding: 0; } .menu li { padding: 8px; margin-bottom: 7px; background-color :#33b5e5; color: #ffffff; 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; }
Proszę zauważyć, że gdy rozszerzasz okno przeglądarki do bardzo małej szerokości, przykładowa strona internetowa nie wygląda zbyt dobrze. W następnym rozdziale nauczymy się, jak rozwiązać ten problem.
- Poprzednia Strona Viewport RWD
- Następna Strona Zapytania Media RWD