搜索
首页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
揭开屏幕读取器的神秘面纱:可访问的表格和最佳实践揭开屏幕读取器的神秘面纱:可访问的表格和最佳实践Mar 08, 2025 am 09:45 AM

这是我们在形式可访问性上进行的小型系列中的第三篇文章。如果您错过了第二篇文章,请查看“以:focus-visible的管理用户焦点”。在

使用智能表单框架创建JavaScript联系表格使用智能表单框架创建JavaScript联系表格Mar 07, 2025 am 11:33 AM

本教程演示了使用智能表单框架创建外观专业的JavaScript表单(注意:不再可用)。 尽管框架本身不可用,但原理和技术仍然与其他形式的建筑商相关。

将框阴影添加到WordPress块和元素将框阴影添加到WordPress块和元素Mar 09, 2025 pm 12:53 PM

CSS盒子阴影和轮廓属性获得了主题。让我们查看一些在真实主题中起作用的示例,以及我们必须将这些样式应用于WordPress块和元素的选项。

创建一个具有可满足属性的内联文本编辑器创建一个具有可满足属性的内联文本编辑器Mar 02, 2025 am 09:03 AM

构建内联文本编辑器并不是微不足道的。 该过程首先要使目标元素可编辑,并在此过程中处理潜在的语法异常。 创建您的编辑器 要构建此编辑器,您需要动态修改内容

使您的第一个自定义苗条过渡使您的第一个自定义苗条过渡Mar 15, 2025 am 11:08 AM

Svelte Transition API提供了一种使组件输入或离开文档(包括自定义Svelte Transitions)时动画组件的方法。

使用GraphQL缓存使用GraphQL缓存Mar 19, 2025 am 09:36 AM

如果您最近开始使用GraphQL或审查了其优点和缺点,那么您毫无疑问听到了诸如“ GraphQl不支持缓存”或

在node.js中使用multer上传并上传express在node.js中使用multer上传并上传expressMar 02, 2025 am 09:15 AM

该教程通过使用node.js,express和multer构建文件上传系统来指导您。 我们将介绍单个和多个文件上传,甚至演示在MongoDB数据库中存储图像以进行以后的检索。 首先,设置您的projec

比较5个最佳的PHP形式构建器(和3个免费脚本)比较5个最佳的PHP形式构建器(和3个免费脚本)Mar 04, 2025 am 10:22 AM

本文探讨了Envato Market上可用的PHP表单构建器脚本,比较了其功能,灵活性和设计。 在研究特定选项之前,让我们了解PHP形式构建器是什么以及为什么要使用一个。 PHP形式

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脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。