【问题标题】:Bootstrap Card - Align two buttons in card footerBootstrap Card - 对齐卡页脚中的两个按钮
【发布时间】:2019-07-01 14:47:22
【问题描述】:

我正在使用 Bootstrap Card,在页脚中,我有两个按钮。我需要做的是在绝对中心对齐一个按钮,在页脚左侧对齐另一个较小的按钮。并且两个按钮都应该垂直居中对齐。

这是我的代码:

<div class="card">
    <div class="card-header">Header</div>
    <div class="card-body">Content</div> 
    <div class="card-footer">      
      <div class="btn-wrapper text-center">
        <a class="btn btn-secondary text-dark btn-sm">Remove</a> 
        <a class="btn btn-warning" style="">Next</a>
      </div>
    </div>
  </div> 

这会将两张卡片对齐到中心。但是我需要中间的 Next 按钮,而左侧的 Remove 按钮。我该怎么做?

这里是它的 jsbin:https://jsbin.com/vesobayuci/1/edit?html,js,output

【问题讨论】:

    标签: css bootstrap-4


    【解决方案1】:

    查看更新的JSBIN

    .remove-btn {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
    }
    
    .btn-wrapper {
      position: relative;
    }
    

    【讨论】:

    • 我喜欢这个解决方案。但是当我将鼠标悬停在按钮上时,它会移动到底部太多。能解决吗?
    • @asanas 它工作正常。我没有发现这样的问题
    • @asanas,没有这样的问题。你能确认你是否更新了任何代码
    【解决方案2】:

    请查看演示 https://output.jsbin.com/cezegetufe

    .btn-wrapper .btn-secondary {
      line-height: 1;
    }
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <title>Bootstrap Card Example</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
    </head>
    
    <body>
    
      <div class="container">
        <h2>Card Header and Footer</h2>
        <div class="card">
          <div class="card-header">Header</div>
          <div class="card-body">Content</div>
          <div class="card-footer">
            <div class="btn-wrapper text-center d-flex justify-content-between">
              <a class="btn btn-secondary  btn-sm text-white d-flex align-items-center">Remove</a>
              <a class="btn btn-warning" style="">Next</a>
            </div>
          </div>
        </div>
      </div>
    
    </body>
    
    </html>

    【讨论】:

      【解决方案3】:

      你完全可以这样定位它们

      .card-footer .btn-wrapper{
        position: relative;
        min-height: 40px;
      }
      
      .card-footer .btn-wrapper .btn{
        position: absolute;
        top: 50%;
      }
      
      .card-footer .btn-wrapper .btn-warning{
        left: 50%;
        transform: translate(-50%, -50%);
      }
      
      .card-footer .btn-wrapper .btn-secondary{
        left: 0;
        transform: translate(0, -50%);
      }
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
      <div class="container">
        <h2>Card Header and Footer</h2>
        <div class="card">
          <div class="card-header">Header</div>
          <div class="card-body">Content</div> 
          <div class="card-footer">      
            <div class="btn-wrapper text-center">
              <a class="btn btn-secondary pull-left text-dark btn-sm">Remove</a> 
              <a class="btn btn-warning" style="">Next</a>
            </div>
          </div>
        </div>
      </div>

      【讨论】:

        【解决方案4】:

        您可以使用 transform 属性和 Bootstrap 4 类来做到这一点

        .btn-warning {
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%);
        }
        <!DOCTYPE html>
        <html lang="en">
        
        <head>
          <title>Bootstrap Card Example</title>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
        </head>
        
        <body>
          <div class="container">
            <h2>Card Header and Footer</h2>
            <div class="card">
              <div class="card-header">Header</div>
              <div class="card-body">Content</div>
              <div class="card-footer">
                <div class="btn-wrapper position-relative">
                  <a class="btn btn-secondary text-dark btn-sm">Remove</a>
                  <a class="btn btn-warning position-absolute">Next</a>
                </div>
              </div>
            </div>
          </div>
        </body>
        
        </html>

        【讨论】:

          猜你喜欢
          • 2022-01-23
          • 2017-08-19
          • 2017-09-24
          • 2021-06-10
          • 2016-03-26
          • 2020-07-12
          • 1970-01-01
          • 2018-07-02
          相关资源
          最近更新 更多