【问题标题】:How to add vertical spacing between Bootstrap Cards如何在引导卡之间添加垂直间距
【发布时间】:2021-01-25 23:56:50
【问题描述】:

我正在使用 boostrap 卡片,以下是我目前拥有的卡片:

现在我想做的是在卡片之间添加垂直空间,这样卡片 1 和卡片 3 就不会像卡片 2 和卡片 4 一样粘在一起。

以下是我目前拥有的卡的代码和设置:

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
  <div class="row">
    <div class="col-sm-6">
      <div class="card">
        <div class="card-body">
          <h5 class="card-title">CARD 1</h5>
          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
          <a href="#" class="btn btn-primary">Go somewhere</a>
        </div>
      </div>
    </div>
    <div class="col-sm-6">
      <div class="card">
        <div class="card-body">
          <h5 class="card-title">CARD 2</h5>
          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
          <a href="#" class="btn btn-primary">Go somewhere</a>
        </div>
      </div>
    </div>
    <div class="col-sm-6">
      <div class="card">
        <div class="card-body">
          <h5 class="card-title">CARD 3</h5>
          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
          <a href="#" class="btn btn-primary">Go somewhere</a>
        </div>
      </div>
    </div>
    <div class="col-sm-6">
      <div class="card">
        <div class="card-body">
          <h5 class="card-title">CARD 4</h5>
          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
          <a href="#" class="btn btn-primary">Go somewhere</a>
        </div>
      </div>
    </div>
  </div>
</div>

【问题讨论】:

  • 您使用的是哪个版本的 BS?

标签: html bootstrap-4


【解决方案1】:

&lt;div class="col-sm-6 mb-3"&gt;添加类mb-3

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
  <div class="row">
    <div class="col-sm-6 mb-3">
      <div class="card">
        <div class="card-body">
          <h5 class="card-title">CARD 1</h5>
          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
          <a href="#" class="btn btn-primary">Go somewhere</a>
        </div>
      </div>
    </div>
    <div class="col-sm-6 mb-3">
      <div class="card">
        <div class="card-body">
          <h5 class="card-title">CARD 2</h5>
          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
          <a href="#" class="btn btn-primary">Go somewhere</a>
        </div>
      </div>
    </div>

    <div class="col-sm-6 mb-3">
      <div class="card">
        <div class="card-body">
          <h5 class="card-title">CARD 3</h5>
          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
          <a href="#" class="btn btn-primary">Go somewhere</a>
        </div>
      </div>
    </div>
    <div class="col-sm-6 mb-3">
      <div class="card">
        <div class="card-body">
          <h5 class="card-title">CARD 4</h5>
          <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
          <a href="#" class="btn btn-primary">Go somewhere</a>
        </div>
      </div>
    </div>

  </div>
</div>

如果您想要更多空间,可以使用引导类,例如 mb-4 mb-5

更多信息 here

【讨论】:

    【解决方案2】:

    css 文件的card 类中添加margin-bottom: 20px。检查以下简单的 css。

    在 style.css 文件中

    .card { 
        margin-bottom: 20px !important;
     }
    

    【讨论】:

      【解决方案3】:

      我会添加这样的东西(SCSS):

      div[class^="col-"] {
         padding-top: 1rem;
         padding-bottom: 1rem;
      
         > h1,
         > h2,
         > h3,
         > h4,
         > h5,
         > h6 {
            margin-top: 0;
         }
      }
      
      * + * {
         :last-child {
             margin-bottom: 0;
         }
      }
      

      ... 处理一般的垂直空间。

      【讨论】: