为什么我的 Bootstrap 按钮不是全宽的?

Why aren't my Bootstrap buttons full width?

我正在尝试将 bootstrap 集成到我的 Django 站点中,但它看起来不太正确。我一直在寻找 CSS 冲突,但我唯一能找到的东西是在静态文件夹中,它只有管理相关 CSS。我的所有页面都正常工作,只是 CSS 看起来有点不正常。任何帮助都很好,谢谢。

<!-- templates/base.html -->
<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
    </head>
    <body>
        {% block nav %}
        <ul id="nav">
            <li>{% block nav-home %}<a href="{% url 'home' %}">Home</a>{% endblock %}</li>
        </ul>
        {% endblock %}
     <div id='content' class='main'>
        {% block content %}
        {% endblock %}
     </div>
      {% block scripts %}
      <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
      {% endblock %}
    </body>
</html>
<!-- templates/registration/login.html -->
{% extends "base.html" %}

{% block title %}Log in{% endblock %}

{% block content %}
<section class="vh-100" style="background-color: #508bfc;">
  <div class="container py-5 h-100">
    <div class="row d-flex justify-content-center align-items-center h-100">
      <div class="col-12 col-md-8 col-lg-6 col-xl-5">
        <div class="card shadow-2-strong" style="border-radius: 1rem;">
          <div class="card-body p-5 text-center">

            <h3 class="mb-5">Sign in</h3>

            <div class="form-outline mb-4">
              <input type="email" id="typeEmailX-2" class="form-control form-control-lg" />
              <label class="form-label" for="typeEmailX-2">Email</label>
            </div>

            <div class="form-outline mb-4">
              <input type="password" id="typePasswordX-2" class="form-control form-control-lg" />
              <label class="form-label" for="typePasswordX-2">Password</label>
            </div>

            <!-- Checkbox -->
            <div class="form-check d-flex justify-content-start mb-4">
              <input class="form-check-input" type="checkbox" value="" id="form1Example3" />
              <label class="form-check-label" for="form1Example3"> Remember password </label>
            </div>

            <button class="btn btn-primary btn-lg btn-block" type="submit">Login</button>

            <hr class="my-4">

            <button class="btn btn-lg btn-block btn-primary" style="background-color: #dd4b39;"
              type="submit"><i class="fab fa-google me-2"></i> Sign in with google</button>
            <button class="btn btn-lg btn-block btn-primary mb-2" style="background-color: #3b5998;"
              type="submit"><i class="fab fa-facebook-f me-2"></i>Sign in with facebook</button>

          </div>
        </div>
      </div>
    </div>
  </div>
</section>
{% endblock %}

预计:

实际:

问题不在于您的库导入。这是你的语法。确保您使用的是正确的文档版本。

如果您使用这样的 label 元素,

Inputs 将不会有内部标签。请改用 input 元素上的 aria-labelplaceholder 属性。

Buttons aren't sized with btn-block in Bootstrap 5. Use the w-100 sizing class 代替。

按钮在 Bootstrap 5 中也没有大写标签。该屏幕截图必须来自早期版本。

并且按钮不会有默认边距。根据需要使用 spacing classes

字体大小的计算和配​​置也与早期版本不同。

在邮箱和密码输入标签中包含

<input ..... placeholder="Email">

这样做会将电子邮件放入文本框内。

如果你这样做...

<div class="form-outline mb-4">
    <label class="form-label" for="typePasswordX-2">Password</label>
    <input type="password" id="typePasswordX-2" class="form-control form-control-lg" />
          
</div>

标签将出现在文本框上方。如果你不想摆脱标签标签。我建议保留它,因为它有助于辅助功能。

并添加一个

<br/>

按钮之间的标签