@extends('layouts.simple.master') @section('title', 'Grid') @section('css') @endsection @section('main_content')
Bootstrap grid system allow all six breakpoints, and any breakpoints you can customize.
Use predefined grid classes. Using col-md-*
you can set the
grid system.
Use d-flex
and d-inline-flex
classes to set
the
flex behaviors.
<div class="flex-behaviors">
<div class="d-flex p-2">I'm a flexbox container!</div>
<div class="d-inline-flex p-2">I'm an inline flexbox container!</div>
</div>
gx-*
classes can be used to control the horizontal gutter
widths. The container
or container-fluid
parent may need to be
adjusted if larger gutters are used too to avoid unwanted overflow, using a matching padding
utility.
<div class="container px-4 text-center">
<div class="row gx-5 gy-sm-0 g-3">
<div class="col">
<div class="p-3"><span>Custom column padding</span></div>
</div>
<div class="col">
<div class="p-3"><span>Custom column padding</span></div>
</div>
</div>
</div>
Use gy-*
classes control vertical space between elements in
rows, especially when they wrap and wider spacing can overflow the page and wrap the
row
with overflow-hidden
to prevent this.
<div class="container overflow-hidden text-center">
<div class="row gy-3">
<div class="col-6">
<div class="p-3"><span>Custom column padding</span></div>
</div>
<div class="col-6">
<div class="p-3"><span>Custom column padding</span></div>
</div>
<div class="col-6">
<div class="p-3"><span>Custom column padding</span></div>
</div>
<div class="col-6">
<div class="p-3"><span>Custom column padding</span></div>
</div>
</div>
</div>
Gutter classes can also be added to row columns. In the following example, we use responsive row columns and responsive gutter classes.
<div class="container text-center">
<div class="row row-cols-2 row-cols-xxl-5 row-cols-xl-4 row-cols-md-3 g-2 g-lg-3">
<div class="col">
<div class="p-10"><span>Row column</span></div>
</div>
<div class="col">
<div class="p-10"><span>Row column</span></div>
</div>
<div class="col">
<div class="p-10"><span>Row column</span></div>
</div>
<div class="col">
<div class="p-10"><span>Row column</span></div>
</div>
<div class="col">
<div class="p-10"><span>Row column</span></div>
</div>
<div class="col">
<div class="p-10"><span>Row column</span></div>
</div>
<div class="col">
<div class="p-10"><span>Row column</span></div>
</div>
<div class="col">
<div class="p-10"><span>Row column</span></div>
</div>
<div class="col">
<div class="p-10"><span>Row column</span></div>
</div>
<div class="col">
<div class="p-10"><span>Row column</span></div>
</div>
</div>
</div>
Use g-0
on the row
to eliminate spacing
between
columns. container
and use mx-0
on the row
to
prevent
overflow.
<div class="row g-0 text-center">
<div class="col-sm-6 col-md-8">
<div class="p-3"><span>col-sm-6 & col-md-8</span></div>
</div>
<div class="col-6 col-md-4">
<div class="p-3"><span class="col-6">col-md-4</span></div>
</div>
</div>
Use align-items-*
class
to set the vertical alignment.
<div class="row">
<div class="col-lg-4">
<div class="row grid-vertical align-items-start m-1 g-2">
<div class="col-6"><span class="bg-white">one column</span></div>
<div class="col-6"><span class="bg-white">two column</span></div>
</div>
</div>
<div class="col-lg-4">
<div class="row grid-vertical align-items-center m-1 g-2">
<div class="col-6"><span class="bg-white">one column</span></div>
<div class="col-6"><span class="bg-white">two column</span></div>
</div>
</div>
<div class="col-lg-4">
<div class="row grid-vertical align-items-end m-1 g-2">
<div class="col-6"><span class="bg-white">one column</span></div>
<div class="col-6"><span class="bg-white">two column</span></div>
</div>
</div>
</div>
Use justify-content-*
class
to set the horizontal alignment.
<div class="row justify-content-start">
<div class="col-5">
<span class="bg-white">One column</span>
</div>
<div class="col-5">
<span class="bg-white">Two column</span>
</div>
</div>
<div class="row justify-content-center">
<div class="col-5">
<span class="bg-white">One column</span>
</div>
<div class="col-5">
<span class="bg-white">Two column</span>
</div>
</div>
<div class="row justify-content-end">
<div class="col-5">
<span class="bg-white">One column</span>
</div>
<div class="col-5">
<span class="bg-white">Two column</span>
</div>
</div>
To nest your content with the default grid, add a new row
and
set
of col-sm-*
columns within an existing col-sm-*
column.
<div class="row g-3">
<div class="col-3"><span>Level 1: .col-3</span></div>
<div class="col-9">
<div class="grid-wrapper pb-0">
<div class="row g-2">
<div class="col-5"><span class="border border-2">Level 2: .col-5</span></div>
<div class="col-7"><span class="border border-2">Level 2: .col-7</span></div>
</div>
</div>
</div>
<div class="col-8">
<div class="grid-wrapper pb-0">
<div class="row g-2">
<div class="col-sm-2 col-4"><span class="border border-2">Level 1: .col-2</span></div>
<div class="col-sm-10 col-8"><span class="border border-2">Level 1: .col-10</span></div>
</div>
</div>
</div>
<div class="col-4"><span>Level 2: .col-4</span></div>
</div>
Use order
class, you can set the order position.
<div class="row g-2">
<div class="col-3 order-3"><span>First Item (order-3)</span></div>
<div class="col-5 order-first"><span>Second Item (order-first)</span></div>
<div class="col-4 order-last"><span>Third Item (order-last)</span></div>
<div class="col-3 order-2"><span>Fourth Item (order-2)</span></div>
<div class="col-sm-2 col-4 order-5"><span>fifth Item (order-5)</span></div>
<div class="col-sm-6 col-4 order-4"><span>sixth Item (order-4)</span></div>
</div>
Move columns to the right using offset-sm-*
classes. These
classes increase the left margin of a column by *
columns.
<div class="row g-2">
<div class="col-sm-5 col-4 offset-sm-3 offset-2"><span>col-5 offset-sm-3</span></div>
<div class="col-sm-2 col-4 offset-sm-2 offset-1"><span>col-2 offset-sm-2</span></div>
<div class="col-sm-4 col-5 offset-2"><span>col-4 offset-sm-2</span></div>
<div class="col-sm-3 col-4 offset-sm-2 offset-1"><span>col-3 offset-sm-2</span></div>
</div>