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

Bootstrap网格布局问题求助:登录页面列排版异常排查

登录页面Bootstrap布局问题排查与修复

问题描述

使用Bootstrap开发登录页面,创建了两个分别带有col-lg-5和col-lg-7类的div,计划左侧div放置图片、右侧div放置登录表单。但实际效果是,无论在何种屏幕分辨率下,col-lg-5始终显示在上方,col-lg-7始终显示在下方。

原代码如下:

<!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="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

    <title>Hello, world!</title>
  </head>
  <body>
      <section class="Form my-4 mx-5">
        <div class="container">
          <div class="row">
            <div class="col">

              <div class="col-lg-5">
                <img src="./images/login2.png"   alt="">
              </div>

              <div class="col-lg-7">
                <form action="">
                  <div class="form-row">
                    <div class="col-lg-7">
                      <input type="email" placeholder="Email-Address" class="form-control">
                    </div>
                  </div>

                  <div class="form-row">
                    <div class="col-lg-7">
                      <input type="passsword" placeholder="******" class="form-control">
                    </div>
                  </div>

                  <div class="form-row">
                    <div class="col-lg-7">
                      <button type="button" class="btn1">Login</button>
                    </div>
                  </div>
                  
                  <a href="#">Forgot Password</a>
                  <p>Don't have a account yet? <a href="#">Register here</a></p>
                </form>
              </div>
              
            </div>
          </div>
        </div>
      </section>

    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.7/dist/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
  </body>
</html>

效果截图:
登录页面排版效果

问题原因

Bootstrap栅格系统的核心规则是列元素(.col-*)必须直接作为.row的子元素。你在.row和目标列之间多嵌套了一层.col,这个额外的.col会占据整行宽度,内部的col-lg-5和col-lg-7会成为它的子元素,自然会上下堆叠,无法触发横向排列的逻辑。

修复方案

移除.row内部多余的.col容器,让col-lg-5和col-lg-7直接作为.row的子元素,这样栅格系统就能在大屏幕(≥992px)上自动将两列横向排列,小屏幕下则保持堆叠。

修正后的代码:

<!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="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

    <title>Hello, world!</title>
  </head>
  <body>
      <section class="Form my-4 mx-5">
        <div class="container">
          <div class="row">
              <!-- 移除了外层多余的.col -->
              <div class="col-lg-5">
                <img src="./images/login2.png"   alt="">
              </div>

              <div class="col-lg-7">
                <form action="">
                  <div class="form-row">
                    <div class="col-lg-7">
                      <input type="email" placeholder="Email-Address" class="form-control">
                    </div>
                  </div>

                  <div class="form-row">
                    <div class="col-lg-7">
                      <input type="password" placeholder="******" class="form-control">
                    </div>
                  </div>

                  <div class="form-row">
                    <div class="col-lg-7">
                      <button type="button" class="btn1">Login</button>
                    </div>
                  </div>
                  
                  <a href="#">Forgot Password</a>
                  <p>Don't have a account yet? <a href="#">Register here</a></p>
                </form>
              </div>
          </div>
        </div>
      </section>

    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.7/dist/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
  </body>
</html>

注:顺便修正了原代码中input的type="passsword"拼写错误,改为type="password"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:33:38