You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何复用重复的Bootstrap CSS代码?实现容器样式继承

实现Bootstrap居中类的复用,避免代码重复

当然可以实现类的复用,核心思路是把通用的居中样式抽离成基础自定义类,再让垂直居中类继承基础类并添加额外的flex-column对应样式。下面分两种常用场景给出方案:

1. 使用Sass(推荐,适配Bootstrap原生预处理器)

因为Bootstrap本身基于Sass开发,用Sass的@extend可以直接继承Bootstrap的内置类,避免手动重复写CSS属性:

// 定义基础居中容器类,复用Bootstrap的通用flex居中样式
.my-centered-container {
  @extend .d-flex;
  @extend .align-items-center;
  @extend .justify-content-center;
  @extend .h-100;
}

// 垂直居中容器,继承基础类并添加列方向布局
.my-centered-container-vertical {
  @extend .my-centered-container;
  @extend .flex-column;
}

之后在HTML中直接使用自定义类即可:

<!-- 水平居中容器 -->
<div class="my-centered-container">
  你的内容
</div>

<!-- 垂直+水平居中容器(列方向) -->
<div class="my-centered-container-vertical">
  你的内容
</div>

2. 原生CSS方案(无需预处理器)

如果不用预处理器,直接把通用样式写在基础类里,垂直类只需补充flex-direction: column:

.my-centered-container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.my-centered-container-vertical {
  /* 继承基础类的所有样式 */
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  /* 添加垂直布局的额外样式 */
  flex-direction: column;
}

或者更灵活的方式,直接在HTML中叠加类(无需额外写垂直类):

.my-centered-container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
<!-- 水平居中 -->
<div class="my-centered-container">
  你的内容
</div>

<!-- 垂直居中 -->
<div class="my-centered-container flex-column">
  你的内容
</div>

这种方式同样能避免重复写大量Bootstrap类,同时保持代码简洁。


内容的提问来源于stack exchange,提问作者Goran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 10:45:37