Bootstrap grid system allow all six breakpoints, and any breakpoints you can customize.
Use predefined grid classes. Using md:col-span-* you can set the grid system.
Use flex and inline-flex classes to set the flex behaviors.
<div class="flex-behaviors">
<div class="flex p-2">I'm a flexbox container!</div>
<div class="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="grid grid-cols-12 gap-3">
<div class="col-auto">
<div class="p-3"><span>Custom column padding</span></div>
</div>
<div class="col-auto">
<div class="p-3"><span>Custom column padding</span></div>
</div>
</div>
</div>
Use gap-* 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="grid grid-cols-12 gap-3">
<div class="col-span-6">
<div class="p-3"><span>Custom column padding</span></div>
</div>
<div class="col-span-6">
<div class="p-3"><span>Custom column padding</span></div>
</div>
<div class="col-span-6">
<div class="p-3"><span>Custom column padding</span></div>
</div>
<div class="col-span-6">
<div class="p-3"><span>Custom column padding</span></div>
</div>
</div>
</div>
Use gap-0 on the row to eliminate spacing between columns. container and use mx-0 on the grid to prevent overflow.
<div class="grid g-0 text-center">
<div class="col-span-8 md:col-span-6 sm:col-span-12">
<div class="p-3"><span>sm:col-span-6 & md:col-span-8</span></div>
</div>
<div class="col-span-4 md:col-span-12">
<div class="p-3"><span class="col-span-6">md:col-span-4</span></div>
</div>
</div>
Use items-* class
to set the vertical alignment.
<div class="grid grid-cols-12">
<div class="col-span-4 lg:col-span-12">
<div class="grid grid-cols-12 grid-vertical align-items-start m-1 gap-2">
<div class="col-span-6"><span class="bg-white">one column</span></div>
<div class="col-span-6"><span class="bg-white">two column</span></div>
</div>
</div>
<div class="col-span-4 lg:col-span-12">
<div class="grid grid-cols-12 grid-vertical align-items-center m-1 gap-2">
<div class="col-span-6"><span class="bg-white">one column</span></div>
<div class="col-span-6"><span class="bg-white">two column</span></div>
</div>
</div>
<div class="col-span-4 lg:col-span-12">
<div class="grid grid-cols-12 grid-vertical align-items-end m-1 gap-2">
<div class="col-span-6"><span class="bg-white">one column</span></div>
<div class="col-span-6"><span class="bg-white">two column</span></div>
</div>
</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="grid grid-cols-12 gap-3 items-center">
<div class="col-span-3"><span>Level 1: .col-span-3</span></div>
<div class="col-span-9">
<div class="grid-wrapper pb-0">
<div class="grid grid-cols-12 gap-x-2">
<div class="col-span-5"><span class="border border-2 !mb-0">Level 2: .col-span-5</span></div>
<div class="col-span-7"><span class="border border-2 !mb-0">Level 2: .col-span-7</span></div>
</div>
</div>
</div>
<div class="col-span-8">
<div class="grid-wrapper pb-0">
<div class="grid grid-cols-12 gap-x-2">
<div class="col-span-2 sm:col-span-4"><span class="border border-2 !mb-0">Level 1: .col-span-2</span></div>
<div class="col-span-10 sm:col-span-8"><span class="border border-2 !mb-0">Level 1: .col-span-10</span></div>
</div>
</div>
</div>
<div class="col-span-4"><span>Level 2: .col-span-4</span></div>
</div>
Use order class, you can set the order position.
<div class="grid grid-cols-12 gap-2">
<div class="col-span-3 order-3"><span>First Item (order-3)</span></div>
<div class="col-span-6 order-first"><span>Second Item (order-first)</span></div>
<div class="col-span-4 order-last"><span>Third Item (order-last)</span></div>
<div class="col-span-3 order-2"><span>Fourth Item (order-2)</span></div>
<div class="col-span-2 sm:col-span-4 order-5"><span>fifth Item (order-5)</span></div>
<div class="col-span-6 sm:col-span-4 order-4"><span>sixth Item (order-4)</span></div>
</div>
Move columns to the right using sm:col-start-* classes. These classes increase the left margin of a column by * columns.
<div class="grid grid-cols-12">
<div class="col-span-5 sm:col-span-4 col-start-3 sm:col-start-3"><span>col-5 offset-sm-3</span></div>
<div class="col-span-4 sm:col-span-4 col-start-10 sm:col-start-2"><span>col-2 offset-sm-2</span></div>
<div class="col-span-4 sm:col-span-5 col-start-2"><span>col-4 offset-sm-2</span></div>
<div class="col-span-3 sm:col-span-4 col-start-8"><span>col-3 offset-sm-2</span></div>
</div>