Bootstrap 垂直居中详解

一、Flexbox 实现 Bootstrap 垂直居中

Bootstrap 的 flexbox 工具类可以让我们很方便地实现垂直居中,具体步骤如下:

<div class="d-flex align-items-center justify-content-center">
  <p>这是居中的文字</p>
</div>

实现方式很简单,直接在外层 <div> 元素上添加 d-flex 和 align-items-center 和 justify-content-center 两个 class 就可以实现垂直居中效果。

其中,d-flex 代表容器为 flex 布局;align-items-center 代表垂直方向上子元素居中对齐;justify-content-center 代表水平方向上子元素居中对齐。

除此之外,Bootstrap 还提供了许多与 flexbox 相关的工具类,例如栅格系统中的与 flexbox 结合使用的类名:justify-content-{breakpoint}-{value} 和 align-items-{breakpoint}-{value}。使用这些工具类可以轻松地实现各种垂直居中效果。

二、Table元素

除了使用 flexbox,我们还可以使用 table 元素来实现垂直居中,具体步骤如下:

<div class="d-table">
  <div class="d-table-cell align-middle">
    <p>这是居中的文字</p>
  </div>
</div>

其中,d-table 代表外层元素为 table 布局;d-table-cell 代表单元格;align-middle 代表单元格垂直居中对齐。

需要注意的是,这种方法虽然可行,但并不推荐使用。因为 table 元素不适合用于布局,会影响语义结构。

三、Translate + Position

如果你不想使用 flexbox 或者 table 元素来实现垂直居中,还可以使用 translate 和 position 属性来实现。具体步骤如下:

<div class="position-relative">
  <div class="position-absolute top-50 start-50 translate-middle">
    <p>这是居中的文字</p>
  </div>
</div>

其中,position-relative 代表相对定位,是为了让它的直属子元素 position-absolute 具有参照物;position-absolute 代表绝对定位;top-50 和 start-50 分别代表上下左右都为50%的距离;translate-middle 代表偏移的距离,为元素自身宽度和高度的一半。

需要注意的是,这种方法虽然可行,但是需要将每个要实现垂直居中的元素的父元素都设置为 position-relative,如果场景过于复杂,会影响代码的可读性。

四、垂直居中网格系统

Bootstrap 推荐的方式是使用垂直居中网格系统。

具体步骤如下:

<div class="container">
  <div class="row align-items-center">
    <div class="col-sm-4">
    </div>
    <div class="col-sm-4">
      <p>这是居中的文字</p>
    </div>
    <div class="col-sm-4">
    </div>
  </div>
</div>

其中,row align-items-center 中的 align-items-center 表示水平居中对齐,这个只针对单行元素有效,如果是多行元素,就需要再加上 text-center 的 class 来实现居中。

五、总结

通过以上几种方式,我们可以轻松地实现 Bootstrap 的垂直居中效果,其中以 flexbox 和垂直居中网格系统最为推荐。当然,对于场景比较特殊的情况,我们还可以使用其他方式来实现垂直居中。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/157288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-18 19:59
下一篇 2024-11-18 19:59

相关推荐

  • Python Bootstrap抽样

    Python Bootstrap抽样是一种统计学方法,可用于估计样本数据集中某些参数的分布情况。以下是Python实现的Bootstrap抽样的详细介绍。 一、Bootstrap抽…

    编程 2025-04-29
  • 理解Bootstrap法和极大似然法

    Bootstrap法和极大似然法是统计学中常用的估计方法,可以帮助我们估计概率分布以及其他统计模型中的参数。 一、Bootstrap法 Bootstrap法是一种非参数统计学方法,…

    编程 2025-04-29
  • Xgboost Bootstrap验证 R

    本文将介绍xgboost bootstrap验证R的相关知识和实现方法。 一、简介 xgboost是一种经典的机器学习算法,在数据挖掘等领域有着广泛的应用。它采用的是决策树的思想,…

    编程 2025-04-27
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25

发表回复

登录后才能评论