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

Bootstrap4中col-8无法在栅格系统居中的问题排查

问题

学习Bootstrap4栅格系统时,尝试在row中用两侧空col包裹col-8实现居中,但col-8却向左偏移。视频使用的是Bootstrap4 alpha版本,以下是我的代码,期望col-8自动居中但未实现,该如何调整?

<!DOCTYPE html>
<html lang="en">

<head>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- Bootstrap CSS -->
  <link rel="stylesheet" href="css/bootstrap-grid.min.css">
  <link rel="stylesheet" href="css/bootstrap.min.css">
  <link rel="stylesheet" href="main.css">
</head>

<body class="signin-body">
<div class="container signin-container">
  <div class="row">
      <div class="col"></div>
      <div class="col-8">
        <div class="card signin-card" style="width: 27rem;">
          <div class="card-body">
            <img src="assets/DevslopesLogo.png" class="img-fluid signin-img" alt="Logo here">
            <form class="signin-form">
              <div class="form-group">           
                 <input type="email" class="form-control" id="emailInput" aria-describedby="emailHelp" placeholder="Enter email">
              </div>
              <div class="form-group">               
                 <input type="password" class="form-control" id="passwordInput" placeholder="Password">
              </div>
              <button type="button" class="btn signin-btn btn-lg">Sign In</button>
              <div class="form-check mb-2 mr-sm-2">
                <input class="form-check-input" type="checkbox" id="inlineFormCheck">
                <label class="form-check-label" for="inlineFormCheck">
                  Remember me<a href="#"> Need Help?</a>
                </label>
              </div>
            <p class="card-text">Some quick example text .</p>
          </div>
        </div>
        <a href="#" class="create-new-account">Create New Account</a>
      </div>
      <div class="col"></div>
  </div>  

</div>



  
  <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
  <!--  Always Download latest version of Boostrap and add here-->
  <script src="bootstrap-4.0.0-alpha.6-dist/js/bootstrap.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>

</html>

解决方案

问题根源

  1. Bootstrap4 alpha版本到正式版的栅格逻辑有变更,两侧空col无法自动均分剩余宽度实现居中,这是写法失效的核心原因
  2. 代码中重复引入了Bootstrap的CSS和JS文件,可能引发样式冲突
  3. 卡片设置了固定宽度style="width: 27rem;",会干扰居中效果的呈现

调整方案

推荐两种Bootstrap4官方支持的可靠居中方式:

方式一:使用自动margin工具类

直接给col-8添加mx-auto类,利用Bootstrap的margin自动居中工具类,无需两侧空col:

<div class="row">
  <div class="col-8 mx-auto">
    <!-- 卡片内容 -->
  </div>
</div>

方式二:使用flex布局工具类

给row添加justify-content-center类,通过flex布局直接让子元素居中:

<div class="row justify-content-center">
  <div class="col-8">
    <!-- 卡片内容 -->
  </div>
</div>

完整修正代码

清理重复引入的文件,去掉卡片固定宽度(如需限制宽度可使用max-width或Bootstrap宽度工具类):

<!DOCTYPE html>
<html lang="en">

<head>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- Bootstrap CSS -->
  <link rel="stylesheet" href="css/bootstrap.min.css">
  <link rel="stylesheet" href="main.css">
</head>

<body class="signin-body">
<div class="container signin-container">
  <div class="row justify-content-center">
      <div class="col-8">
        <div class="card signin-card">
          <div class="card-body">
            <img src="assets/DevslopesLogo.png" class="img-fluid signin-img" alt="Logo here">
            <form class="signin-form">
              <div class="form-group">           
                 <input type="email" class="form-control" id="emailInput" aria-describedby="emailHelp" placeholder="Enter email">
              </div>
              <div class="form-group">               
                 <input type="password" class="form-control" id="passwordInput" placeholder="Password">
              </div>
              <button type="button" class="btn signin-btn btn-lg">Sign In</button>
              <div class="form-check mb-2 mr-sm-2">
                <input class="form-check-input" type="checkbox" id="inlineFormCheck">
                <label class="form-check-label" for="inlineFormCheck">
                  Remember me<a href="#"> Need Help?</a>
                </label>
              </div>
            <p class="card-text">Some quick example text .</p>
          </div>
        </div>
        <a href="#" class="create-new-account">Create New Account</a>
      </div>
  </div>  

</div>

  
  <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
  <script src="bootstrap-4.0.0-alpha.6-dist/js/bootstrap.min.js"></script>
</body>

</html>

内容的提问来源于stack exchange,提问作者Ahmed Maged Ali Fetyan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 23:47:34