搜尋
首頁web前端css教學Bootstrap 與純 CSS 網格:比較指南

Bootstrap vs. Pure CSS Grid: A Comparison Guide

嘿,了不起的人們,歡迎回到我的部落格! ?

介紹

讓我們深入了解何時以及為何選擇 Bootstrap 或純 CSS 網格。本文將引導您了解細微差別,提供視覺輔助工具,並提供實際範例,協助您為 Web 專案做出明智的決策。

您將在本文中學到什麼?

  • Bootstrap 基礎:它的網格系統、自訂和實際使用。

  • 純 CSS 網格:它的運作方式、最新功能及其優點。

  • 視覺比較:佈局範例以直觀方式解釋概念。

  • 實際應用:案例研究和場景。

  • 互動元素:動手體驗的程式碼範例。

  • 工具和資源:在哪裡了解更多資訊並獲得支援。

為什麼選擇 Bootstrap? ?

  • 速度:透過現成的類,您可以快速建立響應式佈局。

  • 一致性:在不同專案中保持統一的設計。

  • 社群和生態系統:廣泛的文件、教學和第三方擴充。

引導網格系統

Bootstrap 的網格是基於具有響應式斷點的 12 列佈局:

html

<div>



<p><strong>Visual:</strong><br>
</p>

<pre class="brush:php;toolbar:false">+---+---+
| 1     |
+---+
| 2 |
+---+

客製化

TL-DR:可以透過 SCSS 變數或使用 bootstrap-customize 工具自訂 Bootstrap。以下是更改預設網格的方法:

$grid-columns: 16;
$grid-gutter-width: 30px;

如果您已經了解自訂,請跳過下一部分並繼續實際用例:電子商務範本。

客製化詳情 :

Bootstrap 提供了多種方法來自訂網站的外觀和行為:

SCSS 變數

Bootstrap 使用 SCSS 構建,允許透過變數進行廣泛的自訂:

  • 顏色:更改主配色方案、按鈕和背景顏色。

  • 排版:調整字體大小、系列和粗細。

  • 間距:修改預設間距比例或網格裝訂線寬度。

範例:

// _variables.scss

// Change primary color
$primary: #3498db;

// Adjust font size
$font-size-base: 1rem;

// Increase grid gutter width
$grid-gutter-width: 30px;

// Import Bootstrap
@import "bootstrap/scss/bootstrap";

引導自訂工具

對於那些不習慣 SCSS 或需要快速客製化的人:

  • 存取 Bootstrap 定制器,您可以在其中調整變數、選擇要包含或排除的元件,以及下載 Bootstrap 的自訂版本。

有效客製化的技巧

  • 從變數開始:如果您剛開始,更改變數是最簡單的自訂方法,無需深入了解框架。

  • 使用快速原型定制器:非常適合在不更改 SCSS 檔案的情況下測試不同的外觀。

  • 建立自訂建置:如果您正在處理具有特定要求的項目,則建立 Bootstrap 的自訂建置可以透過刪除未使用的元件來減少檔案大小。

  • Sass 部分檔案:Bootstrap 對每個元件使用部分檔案。您可以透過在專案中建立具有相同名稱的自己的部分來覆蓋這些內容。

透過提供這些額外的詳細信息,讀者可以更清楚地了解定製過程,從簡單的變數更改到創建更個性化的 Bootstrap 版本。

現實世界用例:電子商務範本?

<div>



<p><strong>Visual:</strong><br>
</p>

<pre class="brush:php;toolbar:false">+---+---+
| 1     |
+---+
| 2 |
+---+

請在 Codepen 上查看這裡,我有完整的範例。

HTML(在上面的 Codepen 範例中)使用 Bootstrap 類別來建立佈局:

  • 固定的頂部導覽列。
  • 主要內容區域內的網格系統,將其分為 8 列產品清單和 4 列購物車側邊欄。
  • 自訂 CSS,用於附加樣式,如邊框、填充和背景顏色,以增強產品和購物車的外觀。

自訂樣式提供了一些基本樣式,但 Bootstrap 的預設樣式在響應式設計和元件樣式方面完成了大部分繁重工作。請記住,Bootstrap 被設計為高度可自訂的,因此您可以輕鬆修改這些樣式或使用 SCSS 更改變數以獲得更自訂的外觀。

為什麼選擇純CSS? ?

  • 控制:完全的設計自由,沒有框架約束。

  • 效能:較小的檔案大小且沒有外部相依性。

  • 現代功能:利用最新的 CSS 功能,如子網格和容器查詢。

CSS 網格設定: CSS 網格允許以最少的標記實現複雜的佈局:

$grid-columns: 16;
$grid-gutter-width: 30px;

視覺:

// _variables.scss

// Change primary color
$primary: #3498db;

// Adjust font size
$font-size-base: 1rem;

// Increase grid gutter width
$grid-gutter-width: 30px;

// Import Bootstrap
@import "bootstrap/scss/bootstrap";

最新 CSS 功能

  • 子網格:TLDR 用於對齊父網格內的巢狀網格。

  • 容器查詢:TLDR 對於回應自身大小而不是視口的元件。

子網格

想像一下您有一個大網格,其中放置了一些盒子(例如牆上的相框)。現在,您想將較小的盒子放入其中一個大盒子中,但您希望這些較小的盒子與大網格的線條完美對齊。

子網格就像在你的大盒子裡有一張透明的網格紙,與大牆網格的圖案相匹配。這樣,當您放置小盒子時,它們不僅可以在大盒子內對齊,還可以與整個牆壁對齊。

範例:

<div>



<p><strong>Visual:</strong><br>
</p>

<pre class="brush:php;toolbar:false">+---+---+
| 1     |
+---+
| 2 |
+---+

視覺概念:

$grid-columns: 16;
$grid-gutter-width: 30px;

容器查詢

將容器查詢想像成讓牆上的每個盒子能夠根據其自身的大小而不僅僅是牆(視口)的大小來決定其外觀。

通常,當您使網站響應時,您會告訴它根據整個螢幕的寬度進行更改。但是,如果頁面的一部分(例如側邊欄)變寬或變窄怎麼辦?透過容器查詢,這個側邊欄可以調整自己的內容,而不影響頁面的其餘部分。

範例:

// _variables.scss

// Change primary color
$primary: #3498db;

// Adjust font size
$font-size-base: 1rem;

// Increase grid gutter width
$grid-gutter-width: 30px;

// Import Bootstrap
@import "bootstrap/scss/bootstrap";

視覺概念:

<div>



<p><strong>Visual:</strong><br>
</p>

<pre class="brush:php;toolbar:false">+--------+--------+
|Product |Cart    |
|List    |Sidebar |
+--------+--------+

這意味著每個組件都可以獨立適應,使您的設計更加模組化和靈活。

案例研究:個人部落格?

Bootstrap 可能會被選用於:

  • 快速設定:如果您想使用範本或入門套件快速啟動。

純 CSS 網格 比較適合:

  • 自訂設計:如果您想要一個不適合 Bootstrap 預設的獨特佈局。

Codepen 上的範例:

(請檢查下面的鏈接,並獲取代碼。)

Codepen 範例中的程式碼設定了一個基本的部落格佈局,其中包含標題、導覽列、主要內容區域、最近貼文的側邊欄和頁腳。它使用 CSS 網格 進行佈局,並包含用於回應的媒體查詢。

何時選擇每種方法

  • Bootstrap:非常適合需要快速部署的項目,其中網站各個部分的設計一致性是關鍵,或者在熟悉 Bootstrap 的團隊中工作時。

  • 純 CSS :當您尋求對設計的完全控制、想要減少依賴性,或者當您準備好利用現代 CSS 的高級功能時,請選擇此選項。

工具和資源?

引導

  • 引導文件

  • 引導定制器

  • 引導主題

純 CSS 網格

  • CSS 網格的 MDN Web 文件

  • CSS-Tricks 的 CSS 網格指南

  • 網格範例

結論

在 Bootstrap 和純 CSS Grid 之間進行選擇並不是哪個更好,而是哪個適合您的專案需求和您的技能水平。 Bootstrap 提供了一種結構化方法,非常適合初學者或需要快速開發的專案。純 CSS 網格為那些希望精確且富有創意地繪製佈局的人提供了畫布。

隨著您在 Web 開發之旅中的成長,您會發現有時最好的選擇是混合兩者或根據專案需求從一種過渡到另一種。

繼續探索,繼續學習,繼續編碼! ?


?您好,我是 Eleftheria,社群經理、 開發人員、公共演講者和內容創作者。

?如果您喜歡這篇文章,請考慮分享。

所有連結 | X | 領英

以上是Bootstrap 與純 CSS 網格:比較指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
模擬鼠標運動模擬鼠標運動Apr 22, 2025 am 11:45 AM

如果您曾經在現場演講或課程中必須顯示一個互動動畫,那麼您可能知道它並不總是那麼容易與您的幻燈片進行互動

通過Astro Action和Fuse.js為搜索提供動力通過Astro Action和Fuse.js為搜索提供動力Apr 22, 2025 am 11:41 AM

對於Astro,我們可以在構建過程中生成大部分網站,但是有一小部分服務器端代碼可以使用Fuse.js之類的搜索功能來處理搜索功能。在此演示中,我們將使用保險絲搜索一組個人“書籤”

未定義:第三個布爾值未定義:第三個布爾值Apr 22, 2025 am 11:38 AM

我想在我的一個項目中實現一條通知消息,類似於您在保存文檔時在Google文檔中看到的信息。換句話說,一個

捍衛三元聲明捍衛三元聲明Apr 22, 2025 am 11:25 AM

幾個月前,我正在使用黑客新聞(就像一個人一樣),並且遇到了一篇(現已刪除的)文章,內容涉及不使用if語句。如果您是這個想法的新手(就像我

使用網絡語音API進行多語言翻譯使用網絡語音API進行多語言翻譯Apr 22, 2025 am 11:23 AM

自科幻小說以來,我們就幻想著與我們交談的機器。今天這很普遍。即便如此,製造的技術

JetPack Gutenberg塊JetPack Gutenberg塊Apr 22, 2025 am 11:20 AM

我記得當古騰堡被釋放到核心時,因為那天我在WordCamp我們。現在已經過去了幾個月,所以我想我們越來越多的人

在VUE中創建可重複使用的分頁組件在VUE中創建可重複使用的分頁組件Apr 22, 2025 am 11:17 AM

大多數Web應用程序背後的想法是從數據庫中獲取數據,並以最佳方式將其呈現給用戶。當我們處理數據時

使用'盒子陰影”和剪輯路徑一起使用'盒子陰影”和剪輯路徑一起Apr 22, 2025 am 11:13 AM

讓我們在一個情況下做一些似乎有意義的事情的情況下逐步進行一些逐步,但是您仍然可以用CSS欺騙來完成它。在這個

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能