使用Bootstrap製作一個基本的網站的全過程【不使用其它CSS】

xtech 發佈 2024-04-25T22:16:19.090913+00:00

本文介紹使用Bootstrap製作基本網站的方法。草圖期望完成後,大概長這個樣子。準備工作根據上面的規劃,我們需要準備幾張圖片。這樣最終頁面看起來才有點像樣。圖片放在assets文件夾中。創建HTML文件index.html,引入bootstrap CSS<!

本文介紹使用Bootstrap製作基本網站的方法。

草圖

期望完成後,大概長這個樣子。

準備工作

根據上面的規劃,我們需要準備幾張圖片。這樣最終頁面看起來才有點像樣。

圖片放在assets文件夾中。



創建HTML文件index.html,引入bootstrap CSS

<!DOCTYPE>
<html>
  <head>
    <title>Portfolio Website</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- CSS only -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet">
          <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
  </head>
  <body>
   </body>
</html>

這裡,我們引入了圖標css。因為後面有需要。

這時候,打開網頁,應該是空白,因為我們還沒有加入任何html可視元素。

創建導航條

在body塊中加入如下代碼

<nav class="navbar navbar-expand-sm navbar-dark bg-dark">
  <div class="container-fluid">
    <a class="navbar-brand" href="javascript:void(0)"><img class="img-fluid" src="./assets/logo.png" /></a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#mynavbar">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="mynavbar">
      <ul class="navbar-nav me-auto">
        <li class="nav-item">
                  <a class="nav-link active" aria-current="page" href="#">首頁</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="#">關於我們</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="#">產品</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="#">聯繫</a>
                </li>
      </ul>
      <form class="d-flex">
        <input class="form-control me-2" type="text" placeholder="找一找">
        <button class="btn btn-primary" type="button">Go</button>
      </form>
    </div>
  </div>
</nav>

代碼幾乎是從bootstrap5官網複製下來的。

注意:我們使用 navbar-dark bg-dark使得背景是黑色的。logo使用我們自己準備的圖片。導航欄包括:首頁,關於,產品,聯繫,以及搜索框。常見的網站配置類目。

此時,效果如下圖


創建導航下面的區域hero

<!-- Hero section -->
<div class="container">
  <div class="row mb-5 mt-5">
    <div class="col">
      <h1>軟體/App<br>分析、設計與開發</h1>
      <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p>
      <div class="w-50 d-grid"><button type="button" class="btn btn-dark">了解一下</button></div>
    </div>
    <div class="col">
      <img src="./assets/hero.png" alt="Software Development">
    </div>
  </div>

        <div class="row">
          <div class="col-sm-4 mb-3 mb-sm-0">
                <div class="card shadow-sm">
                  <div class="card-body">
                        <h1 class="card-title text-center"><i class="bi bi-code-slash"></i></h1>
                        <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
                  </div>
                </div>
          </div>
          <div class="col-sm-4">
                <div class="card shadow-sm">
                  <div class="card-body">
                        <h1 class="card-title text-center"><i class="bi bi-bounding-box"></i></h1>
                        <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
                  </div>
                </div>
          </div>
          <div class="col-sm-4">
                <div class="card shadow-sm">
                  <div class="card-body">
                        <h1 class="card-title text-center"><i class="bi bi-steam"></i></h1>
                        <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
                  </div>
                </div>
          </div>
        </div>

</div>

<!-- End Hero section -->

注意:我們使用 mb-5 mt-5 調節區塊之間的間距。還使用了shadow-sm為3個塊狀框創建陰影效果。具體需要哪個圖標,上bootrstrap官網查詢即可。

效果如下:

加入關於

<!-- About us section -->
<section id="about-us">
  <div class="container">
    <div class="row mt-5 mb-5 align-items-center">
      <div class="col-sm-6">
        <img src="./assets/about.png" class="img-fluid" alt="About Us">
      </div>
      <div class="col-sm-6">
        <h1>關於我們</h1>
        <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p>
        <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p>
        <button type="button" class="btn btn-dark btn-large">Let's meet</button>
      </div>
    </div>
  </div>
</section>
<!-- End About us section -->

創建產品/項目列表

主要用的CSS是帶圖片的card。另外,請注意:

row-cols-1 row-cols-md-2

當設備寬度超過Medium定義的尺寸時:顯示2列。否則顯示1列。這樣在手機上也能自適應。


<!-- Projects section -->
<section id="projects">
<div class="container">
  <div class="row align-items-center projects">
    <div class="col">
      <h1>產品一覽</h1>
      <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p>
    </div>
  </div>

  <div class="row align-items-center">

        <div class="row row-cols-1 row-cols-md-2 g-4">
          <div class="col">
                <div class="card">
                  <img src="./assets/dandelion-445228__340.jpg" class="card-img-top" alt="...">
                  <div class="card-body">
                        <h5 class="card-title">Card title</h5>
                        <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
                  </div>
                </div>
          </div>
          <div class="col">
                <div class="card">
                  <img src="./assets/fantasy-2049567__340.jpg" class="card-img-top" alt="...">
                  <div class="card-body">
                        <h5 class="card-title">Card title</h5>
                        <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
                  </div>
                </div>
          </div>
          <div class="col">
                <div class="card">
                  <img src="./assets/flowers-276014__340.jpg" class="card-img-top" alt="...">
                  <div class="card-body">
                        <h5 class="card-title">Card title</h5>
                        <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content.</p>
                  </div>
                </div>
          </div>
          <div class="col">
                <div class="card">
                  <img src="./assets/road-1072823__340.jpg" class="card-img-top" alt="...">
                  <div class="card-body">
                        <h5 class="card-title">Card title</h5>
                        <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
                  </div>
                </div>
          </div>
        </div>

  </div>


</div>
</section>
<!-- End Projects section -->


最後,再加聯繫我們

<!-- Contact section -->
<section id="contact">
  <div class="container mb-5 mt-5">
    <div class="row align-items-center">
      <div class="col">
        <h1>Contact US</h1>
        <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p>
      </div>
    </div>
  </div>
</section>
<!-- End Contact section -->

加個頁腳

<footer class="bg-light text-center text-lg-start">
  <!-- Copyright -->
  <div class="text-center p-3">
    © 2023 Copyright
    <a class="text-dark" href="#">Stackoverflow.ink</a>
  </div>
  <!-- Copyright -->
</footer>

最終,效果如下圖

在手機上瀏覽:

這樣一個基本的網站雛形就差不多了。初步測試,支持基本的設備自適應。

總共,大概180行代碼。

除了使用bootstrap本身的CSS外,不使用其它任何自定義的CSS。

確保足夠dry。便於維護升級。

關鍵字: