Skip to content

Bootstrap Fundamentos ​

Aprendamos a trabajar con Bootstrap 5! 🐱‍👤

⭐ Videos Premium ⭐

Esta sección es parte del curso en Udemy. Si quieres acceder a ella, puedes comprar el curso en Udemy: Bootstrap 5 by bluuweb.

O bien también puedes visualizar los videos siendo miembro en Youtube. Accede a miembros del canal aquí y accede a los videos de esta sección.

Requisitos ​

Herramientas ​

CDN ​

La manera más sencilla de comenzar con Bootstrap es utilizar el CDN. Los archivos están alojados en un servidor externo.

html
<link
    href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css"
    rel="stylesheet"
    integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1"
    crossorigin="anonymous"
/>

Breakpoints ​

Hace referencia a los puntos de interrupción, dependiendo del tamaño del dispositivo que esté visitando nuestro sitio web.

Container ​

Se utiliza para alinear nuestro contenido, estableciendo un ancho determinado.

Importante

Al utilizar el sistema de columnas es necesario envolver todo en un container

Grid ​

Bootstrap utiliza un sistema de 12 columnas (con Flexbox) para diseñar y distribuir elementos en su sitio web.

html
<!DOCTYPE html>
<html lang="es">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Grid Fundamentos</title>
        <link
            href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css"
            rel="stylesheet"
            integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1"
            crossorigin="anonymous"
        />
    </head>
    <body>
        <div class="container">
            <div class="row">
                <div class="col-1 border">1</div>
                <div class="col-1 border">1</div>
                <div class="col-1 border">1</div>
                <div class="col-1 border">1</div>
                <div class="col-1 border">1</div>
                <div class="col-1 border">1</div>
                <div class="col-1 border">1</div>
                <div class="col-1 border">1</div>
                <div class="col-1 border">1</div>
                <div class="col-1 border">1</div>
                <div class="col-1 border">1</div>
                <div class="col-1 border">1</div>
            </div>
        </div>
    </body>
</html>

Por ejemplo si necesitamos crear 3 columnas:

html
<div class="row">
    <div class="col-4 border">4</div>
    <div class="col-4 border">4</div>
    <div class="col-4 border">4</div>
</div>

Si necesitamos 4 columnas:

html
<div class="row">
    <div class="col-3 border">3</div>
    <div class="col-3 border">3</div>
    <div class="col-3 border">3</div>
    <div class="col-3 border">3</div>
</div>

Diferentes tamaños:

html
<div class="row">
    <div class="col-6 border">6</div>
    <div class="col-3 border">3</div>
    <div class="col-3 border">3</div>
</div>

Grid Responsive ​

La gracia es hacer sitios web responsives, y la gracia mayor es que con Bootstrap es muy sencillo.

Agregando las opciones a la grid, podemos crear diseños responsives:

html
<div class="row">
    <div class="col-12 col-sm-6 col-md-4 border">12 sm-6 md-4</div>
    <div class="col-12 col-sm-6 col-md-4 border">12 sm-6 md-4</div>
    <div class="col-12 col-sm-12 col-md-4 border">12 sm-6 md-4</div>
</div>

Flexbox ​

La grid de Bootstrap utiliza Flexbox para posicionar elementos.

Práctica ​

Ya que sabemos algunos fundamentos de Bootstrap 5, comencemos a desarrollar nuestro primer sitio web.

html
<!DOCTYPE html>
<html lang="es">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Práctica Fundamentos</title>

        <link
            href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css"
            rel="stylesheet"
            integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1"
            crossorigin="anonymous"
        />
    </head>
    <body>
        <div class="container">
            <h2 class="text-center display-4 mb-4 mt-5 mt-md-0">
                Lista de precios
            </h2>
            <p class="lead text-center mb-5">
                Lorem ipsum dolor sit amet consectetur adipisicing elit. Modi,
                ea? Pariatur voluptatibus recusandae quas modi quam
                necessitatibus ducimus, voluptate accusamus dolorum sunt libero,
                nesciunt cum quod? Quod eligendi totam beatae.
            </p>

            <main class="row">
                <article class="col-12 col-md-4 text-center mb-5 mb-md-0">
                    <div
                        class="border border-dark rounded rounded-3 overflow-hidden"
                    >
                        <p class="fw-bold mt-5">Basic</p>
                        <h3 class="display-4">$100</h3>
                        <p class="mt-3 font-monospace">Up to 5 user for free</p>
                        <ul class="list-unstyled my-5">
                            <li>Lorem, ipsum</li>
                            <li>Lorem ipsum dolor sit</li>
                            <li>Lorem, ipsum dolor</li>
                            <li>Lorem ipsum dolor sit amet</li>
                        </ul>
                        <a
                            class="bg-info text-white py-3 d-block text-decoration-none"
                            href="#"
                            >Acceder</a
                        >
                    </div>
                </article>
            </main>

            <footer class="mt-5 text-center">
                <p class="text-muted">2021 - Todos los derechos reservados</p>
            </footer>
        </div>
    </body>
</html>

Todo junto ​

html
<!DOCTYPE html>
<html lang="es">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Práctica Fundamentos</title>

        <link
            href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css"
            rel="stylesheet"
            integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1"
            crossorigin="anonymous"
        />

        <style>
            @media (min-width: 768px) {
                .altura {
                    height: 100vh;
                }
            }
        </style>
    </head>
    <body>
        <div class="container altura d-flex flex-column justify-content-center">
            <h2 class="text-center display-4 mb-4 mt-5 mt-md-0">
                Lista de precios
            </h2>
            <p class="lead text-center mb-5">
                Lorem ipsum dolor sit amet consectetur adipisicing elit. Modi,
                ea? Pariatur voluptatibus recusandae quas modi quam
                necessitatibus ducimus, voluptate accusamus dolorum sunt libero,
                nesciunt cum quod? Quod eligendi totam beatae.
            </p>

            <main class="row">
                <article class="col-12 col-md-4 text-center mb-5 mb-md-0">
                    <div
                        class="border border-dark rounded rounded-3 overflow-hidden"
                    >
                        <p class="fw-bold mt-5">Basic</p>
                        <h3 class="display-4">$100</h3>
                        <p class="mt-3 font-monospace">Up to 5 user for free</p>
                        <ul class="list-unstyled my-5">
                            <li>Lorem, ipsum</li>
                            <li>Lorem ipsum dolor sit</li>
                            <li>Lorem, ipsum dolor</li>
                            <li>Lorem ipsum dolor sit amet</li>
                        </ul>
                        <a
                            class="bg-info text-white py-3 d-block text-decoration-none"
                            href="#"
                            >Acceder</a
                        >
                    </div>
                </article>
                <article class="col-12 col-md-4 text-center mb-5 mb-md-0">
                    <div
                        class="border border-dark rounded rounded-3 overflow-hidden bg-dark text-white"
                    >
                        <p class="fw-bold mt-5">Pro</p>
                        <h3 class="display-4">$200</h3>
                        <p class="mt-3 font-monospace">
                            Up to 15 user for free
                        </p>
                        <ul class="list-unstyled my-5">
                            <li>Lorem, ipsum</li>
                            <li>Lorem ipsum dolor sit</li>
                            <li>Lorem, ipsum dolor</li>
                            <li>Lorem ipsum dolor sit amet</li>
                        </ul>
                        <a
                            class="bg-secondary text-white py-3 d-block text-decoration-none"
                            href="#"
                            >Acceder</a
                        >
                    </div>
                </article>
                <article class="col-12 col-md-4 text-center">
                    <div
                        class="border border-dark rounded rounded-3 overflow-hidden"
                    >
                        <p class="fw-bold mt-5">Ultimate</p>
                        <h3 class="display-4">$500</h3>
                        <p class="mt-3 font-monospace">
                            Up to 50 user for free
                        </p>
                        <ul class="list-unstyled my-5">
                            <li>Lorem, ipsum</li>
                            <li>Lorem ipsum dolor sit</li>
                            <li>Lorem, ipsum dolor</li>
                            <li>Lorem ipsum dolor sit amet</li>
                        </ul>
                        <a
                            class="bg-info text-white py-3 d-block text-decoration-none"
                            href="#"
                            >Acceder</a
                        >
                    </div>
                </article>
            </main>

            <footer class="mt-5 text-center">
                <p class="text-muted">2021 - Todos los derechos reservados</p>
            </footer>
        </div>
    </body>
</html>