Skip to content

Instantly share code, notes, and snippets.

@kingluddite
Created September 21, 2024 12:24
Show Gist options
  • Save kingluddite/b2dbeff7729f0333bd5bc68e23c2bb73 to your computer and use it in GitHub Desktop.
Save kingluddite/b2dbeff7729f0333bd5bc68e23c2bb73 to your computer and use it in GitHub Desktop.
How to use bootstrap with a simple example

To demonstrate Bootstrap's functionality step-by-step, let's outline the process with HTML and Bootstrap. I'll provide a brief description and code examples for each step:

Step 1: A Blog Page with Just HTML

We'll start by creating a simple blog page with only HTML, no styling yet.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Simple Blog</title>
</head>
<body>
    <header>
        <h1>My Blog</h1>
    </header>
    <main>
        <article>
            <h2>First Post</h2>
            <p>This is the content of the first blog post.</p>
        </article>
    </main>
</body>
</html>

Step 2: Add the Bootstrap Grid

Now, include Bootstrap's CSS and implement the grid system to structure the page.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Blog with Bootstrap Grid</title>
    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-12">
                <header>
                    <h1>My Blog</h1>
                </header>
            </div>
            <div class="col-8">
                <main>
                    <article>
                        <h2>First Post</h2>
                        <p>This is the content of the first blog post.</p>
                    </article>
                </main>
            </div>
            <div class="col-4">
                <aside>
                    <h2>About Me</h2>
                    <p>Some info about the blog author.</p>
                </aside>
            </div>
        </div>
    </div>
    <!-- Bootstrap JS -->
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

Step 3: Make the Grid Responsive

Bootstrap's grid is responsive by default, but we can customize it to show different layouts on different screen sizes.

<div class="container">
    <div class="row">
        <div class="col-12 col-md-8">
            <main>
                <article>
                    <h2>First Post</h2>
                    <p>This is the content of the first blog post.</p>
                </article>
            </main>
        </div>
        <div class="col-12 col-md-4">
            <aside>
                <h2>About Me</h2>
                <p>Some info about the blog author.</p>
            </aside>
        </div>
    </div>
</div>

In this example, the layout changes from a single-column view on small screens (col-12) to a two-column layout on medium screens (col-md-8 and col-md-4).

Step 4: Add a Navbar with 3 Pages

We'll add a responsive navigation bar at the top of the page.

<nav class="navbar navbar-expand-lg navbar-light bg-light">
    <div class="container-fluid">
        <a class="navbar-brand" href="#">My Blog</a>
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarNav">
            <ul class="navbar-nav">
                <li class="nav-item">
                    <a class="nav-link" href="#">Home</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">About</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Contact</a>
                </li>
            </ul>
        </div>
    </div>
</nav>

Step 5: Add a Card with an Image and Buttons

Next, we can add a Bootstrap card with an image and action buttons.

<div class="card" style="width: 18rem;">
    <img src="https://via.placeholder.com/150" class="card-img-top" alt="...">
    <div class="card-body">
        <h5 class="card-title">Blog Post Title</h5>
        <p class="card-text">A brief description of the blog post.</p>
        <a href="#" class="btn btn-primary">Read More</a>
        <a href="#" class="btn btn-secondary">Share</a>
    </div>
</div>

Step 6: Add a Table

Add a table to display data or posts using Bootstrap's table styling.

<table class="table">
    <thead>
        <tr>
            <th>#</th>
            <th>Title</th>
            <th>Date</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th scope="row">1</th>
            <td>First Post</td>
            <td>September 21, 2024</td>
        </tr>
        <tr>
            <th scope="row">2</th>
            <td>Second Post</td>
            <td>September 22, 2024</td>
        </tr>
    </tbody>
</table>

Step 7: Add a Form with Icons

Use Bootstrap’s form controls and include icons from Bootstrap Icons for a polished form design.

<form>
    <div class="mb-3">
        <label for="email" class="form-label">Email address</label>
        <div class="input-group">
            <span class="input-group-text"><i class="bi bi-envelope"></i></span>
            <input type="email" class="form-control" id="email" placeholder="Enter your email">
        </div>
    </div>
    <div class="mb-3">
        <label for="password" class="form-label">Password</label>
        <div class="input-group">
            <span class="input-group-text"><i class="bi bi-lock"></i></span>
            <input type="password" class="form-control" id="password" placeholder="Enter your password">
        </div>
    </div>
    <button type="submit" class="btn btn-primary">Submit</button>
</form>

<!-- Bootstrap Icons -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons/font/bootstrap-icons.css">

This step-by-step process will guide your students in using Bootstrap to build a responsive and interactive blog page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment