Bootstrap 4 - Grid System
Opis
System siatek Bootstrap 4 zbudowany na bazie flexbox, który jest w pełni responsywny i skaluje do 12 kolumn (w zależności od rozmiaru urządzenia), tworząc układ z wierszami i kolumnami w poprzek strony. Zapewnia responsywny, mobilny pierwszy system płynnej siatki, który skaluje kolumny wraz ze wzrostem wielkości urządzenia lub obszaru roboczego.
Działanie systemu Grid
Wiersze muszą być umieszczone w klasie .container, aby zapewnić prawidłowe wyrównanie i dopełnienie.
Aby uzyskać responsywną szerokość, użyj klasy .container i dla stałej szerokości we wszystkich rzutniach, użyj klasy .container-fluid .
Użyj wierszy, aby utworzyć poziome grupy kolumn.
Treść powinna być umieszczona w kolumnach, a tylko kolumny mogą być bezpośrednimi elementami potomnymi wierszy.
Kolumny zawierają wypełnienie do kontrolowania odstępu między nimi.
Jeśli umieścisz więcej niż 12 kolumn w rzędzie, kolumny zostaną umieszczone w nowej linii.
Kolumny tworzą przerwy między zawartością kolumn poprzez wypełnienie. Dlatego można usunąć marginesy z wierszy i dopełnienie z kolumn z klasą .no-gutters w wierszu.
Możesz sprawić, by system siatki odpowiadał za pomocą pięciu punktów przerwania siatki, takich jak bardzo mały, mały, średni, duży i bardzo duży.
Predefiniowane klasy siatki, takie jak .col-4, są dostępne do szybkiego tworzenia układów siatki. MNIEJSZE mieszanki mogą być również używane do bardziej semantycznych układów.
Opcje siatki
Poniższa tabela podsumowuje aspekty działania systemu grid Bootstrap 4 na wielu urządzeniach -
Bardzo małe urządzenia (<576 pikseli) | Małe urządzenia (≥576 pikseli) | Średnie urządzenia (≥768 pikseli) | Duże urządzenia (≥992 piksele) | Bardzo duże urządzenia (≥1200 pikseli) | |
---|---|---|---|---|---|
Zachowanie siatki | Poziomy przez cały czas | Początek zwinięty, poziomo nad punktami przerwania | Początek zwinięty, poziomo nad punktami przerwania | Początek zwinięty, poziomo nad punktami przerwania | Początek zwinięty, poziomo nad punktami przerwania |
Maksymalna szerokość pojemnika | Brak (automatycznie) | 540px | 720px | 960px | 1140px |
Zajęcia klasowe | .col- | .col-sm- | .col-md- | .col-lg- | .col-xl- |
Liczba kolumn | 12 | 12 | 12 | 12 | 12 |
Szerokość rynny | 30px (15 pikseli po każdej stronie kolumny) |
30px (15 pikseli po każdej stronie kolumny) |
30px (15 pikseli po każdej stronie kolumny) |
30px (15 pikseli po każdej stronie kolumny) |
30px (15 pikseli po każdej stronie kolumny) |
Gniazdo | tak | tak | tak | tak | tak |
Kolejność kolumn | tak | tak | tak | tak | tak |
Podstawowa struktura siatki
Poniżej przedstawiono podstawową strukturę siatki Bootstrap 4 -
<div class = "container">
<div class = "row">
<div class = "col-*-*"></div>
<div class = "col-*-*"></div>
</div>
<div class = "row">
<div class = "col-*-*"></div>
<div class = "col-*-*"></div>
<div class = "col-*-*"></div>
</div>
<div class = "row">...</div>
</div>
Przykład systemu siatki
Oto przykład systemu siatki Bootstrap 4 -
Przykład
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet"
href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</style>
.grid_system div[class^="col"] {
border: 1px solid white;
background: #e4dcdc;
text-align: center;
padding-top: 5px;
padding-bottom: 5px
}
</style>
</head>
<body>
<div class = "grid_system">
<div class = "row">
<div class = "col-sm-1">.col-sm-1</div>
<div class = "col-sm-1">.col-sm-1</div>
<div class = "col-sm-1">.col-sm-1</div>
<div class = "col-sm-1">.col-sm-1</div>
<div class = "col-sm-1">.col-sm-1</div>
<div class = "col-sm-1">.col-sm-1</div>
<div class = "col-sm-1">.col-sm-1</div>
<div class = "col-sm-1">.col-sm-1</div>
<div class = "col-sm-1">.col-sm-1</div>
<div class = "col-sm-1">.col-sm-1</div>
<div class = "col-sm-1">.col-sm-1</div>
<div class = "col-sm-1">.col-sm-1</div>
</div>
<div class = "row">
<div class = "col-sm-3">.col-sm-3</div>
<div class = "col-sm-3">.col-sm-3</div>
<div class = "col-sm-3">.col-sm-3</div>
<div class = "col-sm-3">.col-sm-3</div>
</div>
<div class = "row">
<div class = "col-sm-4">.col-sm-4</div>
<div class = "col-sm-4">.col-sm-4</div>
<div class = "col-sm-4">.col-sm-4</div>
</div>
<div class = "row">
<div class =" col-sm-3">.col-sm-3</div>
<div class = "col-sm-3">.col-sm-3</div>
<div class = "col-sm-6">.col-sm-6</div>
</div>
<div class = "row">
<div class = "col-sm-5">.col-sm-5</div>
<div class = "col-sm-7">.col-sm-7</div>
</div>
<div class = "row">
<div class = "col-sm-6">.col-sm-6</div>
<div class = "col-sm-6">.col-sm-6</div>
</div>
<div class = "row">
<div class = "col-sm-12">.col-sm-12</div>
</div>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
To da następujący wynik -
Wynik
Tworzenie układów dwóch kolumn
Poniższy przykład opisuje tworzenie dwóch układów kolumn dla małych, średnich i dużych urządzeń. Na małych urządzeniach, takich jak telefony komórkowe, domyślnie kolumny automatycznie ustawiają się poziomo.
Przykład
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = "stylesheet" href = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "grid_system">
<div class = "row">
<div class = "col-sm-6">.col-sm-6</div>
<div class = "col-sm-6">.col-sm-6</div>
</div>
<div class = "row">
<div class = "col-sm-7">.col-sm-7</div>
<div class = "col-sm-5">.col-sm-5</div>
</div>
<div class = "row">
<div class = "col-sm-4">.col-sm-4</div>
<div class = "col-sm-8">.col-sm-8</div>
</div>
<div class = "row">
<div class = "col-sm-9">.col-sm-9</div>
<div class = "col-sm-3">.col-sm-3</div>
</div>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
To da następujący wynik -
Wynik
Tworzenie układów trzech kolumn
Poniższy przykład opisuje tworzenie układów trzech kolumn dla średnich i dużych urządzeń. Jeśli rozdzielczość ekranu jest większa lub równa 992 piksele, będzie on wyświetlany w trybie poziomym na tabletach i jak zwykle będzie wyświetlany w trybie pionowym.
Przykład
<html lang = "en">
<head>
<!-- Meta tags -->
<meta charset = "utf-8">
<meta name = "viewport" content = "width = device-width, initial-scale = 1, shrink-to-fit = no">
<!-- Bootstrap CSS -->
<link rel = " stylesheet" href = " https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity = "sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin = "anonymous">
<title>Bootstrap 4 Example</title>
</head>
<body>
<div class = "grid_system">
<div class = "row">
<div class = "col-sm-4">.col-sm-4</div>
<div class = "col-sm-4">.col-sm-4</div>
<div class = "col-sm-4">.col-sm-4</div>
</div>
<div class = "row">
<div class = "col-sm-3">.col-sm-3</div>
<div class = "col-sm-4">.col-sm-4</div>
<div class = "col-sm-5">.col-sm-5</div>
</div>
<div class = "row">
<div class = "col-sm-2">.col-sm-2</div>
<div class = "col-sm-8">.col-sm-8</div>
<div class = "col-sm-2">.col-sm-2</div>
</div>
<div class = "row">
<div class = "col-sm-2">.col-sm-2</div>
<div class = "col-sm-3">.col-sm-3</div>
<div class = "col-sm-7">.col-sm-7</div>
</div>
</div>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin = "anonymous">
</script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity = "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin = "anonymous">
</script>
<script src = "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity = "sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin = "anonymous">
</script>
</body>
</html>
To da następujący wynik -