Creemos un sistema de cuadrícula básico que comience apilado en dispositivos extra pequeños, antes de volverse horizontal en dispositivos más grandes.
El siguiente ejemplo muestra un diseño simple de dos columnas "apiladas en horizontal", lo que significa que dará como resultado una división del 50%/50% en todas las pantallas, excepto en las pantallas extra pequeñas, que se apilarán automáticamente (100%):
<div class="container-fluid">
<div class="row">
<div class="col-sm-6 bg-primary">
<p>Lorem ipsum...</p>
</div>
<div class="col-sm-6 bg-dark">
<p>Sed ut perspiciatis...</p>
</div>
</div>
</div>
Pruébelo usted mismo →
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container-fluid mt-3">
<h1>Grid Example</h1>
<p>This example demonstrates a 50%/50% split on small, medium, large, xlarge and xxlarge devices. On extra small devices, it will stack (100% width).</p>
<p>Resize the browser window to see the effect.</p>
<div class="row">
<div class="col-sm-6 bg-primary text-white p-3">
Lorem ipsum...
</div>
<div class="col-sm-6 bg-dark text-white p-3">
Sed ut perspiciatis...
</div>
</div>
</div>
</body>
</html>
Consejo: Los números en las clases .col-sm-*
indican cuántas columnas debe abarcar el div (de 12). Entonces, .col-sm-1
abarca 1 columna, .col-sm-4
abarca 4 columnas, .col-sm-6
abarca 6 columnas, etc.
Nota: Asegúrese de que la suma sume 12 o menos (no es necesario que utilice las 12 columnas disponibles):
Consejo: Puede convertir cualquier diseño de ancho completo en un diseño de ancho fijo responsive cambiando el < código class="w3-codespan">.container-fluid clase a .container
:
<div class="container">
<div class="row">
<div class="col-sm-6">
<p>Lorem ipsum...</p>
</div>
<div class="col-sm-6">
<p>Sed ut perspiciatis...</p>
</div>
</div>
</div>
Pruébelo usted mismo →
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container mt-3">
<h1>Grid Example</h1>
<p>This example demonstrates a 50%/50% split on small, medium, large, xlarge and xxlarge devices. On extra small devices, it will stack (100% width).</p>
<p>Resize the browser window to see the effect.</p>
<div class="row">
<div class="col-sm-6 bg-primary text-white p-3">
Lorem ipsum...
</div>
<div class="col-sm-6 bg-dark text-white p-3">
Sed ut perspiciatis...
</div>
</div>
</div>
</body>
</html>
En Bootstrap 5, hay una manera fácil de crear columnas de igual ancho para todos los dispositivos: simplemente elimine el número de .col-size-*
y solo use la clase .col-size
en un número específico de elementos col. Bootstrap reconocerá cuántas columnas hay y cada columna tendrá el mismo ancho. Las clases de tamaño (sm, md, etc.) determinan cuándo las columnas deben responder:
<!-- Two columns: 50% width on all screens, except for extra small (100% width) -->
<div class="row">
<div class="col-sm">1 of 2</div>
<div class="col-sm">2 of 2</div>
</div>
<!-- Four columns: 25% width on all screens, except for extra small (100% width)-->
<div class="row">
<div class="col-sm">1 of 4</div>
<div class="col-sm">2 of 4</div>
<div class="col-sm">3 of 4</div>
<div class="col-sm">4 of 4</div>
</div>
Pruébelo usted mismo →
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container-fluid mt-3">
<h1>Auto Layout Columns</h1>
<p>In Bootstrap 5, there is an easy way to create equal width columns: just use the <code>.col-size</code> class on a specified number of col elements. Bootstrap will recognize how many columns there are, and each column will get the same width.</p>
<p>Two columns: 50% width on all screens, except for extra small (100% width on screens less than <strong>576px</strong> wide)</p>
<div class="container-fluid">
<div class="row">
<div class="col-sm bg-primary text-white p-3">1 of 2</div>
<div class="col-sm bg-dark text-white p-3">2 of 2</div>
</div>
</div>
<br>
<p>Four columns: 25% width on all screens, except for extra small (100% width on screens less than <strong>576px</strong> wide)</p>
<div class="container-fluid">
<div class="row">
<div class="col-sm bg-primary text-white p-3">1 of 4</div>
<div class="col-sm bg-dark text-white p-3">2 of 4</div>
<div class="col-sm bg-primary text-white p-3">3 of 4</div>
<div class="col-sm bg-dark text-white p-3">4 of 4</div>
</div>
</div>
</div>
</body>
</html>