为什么在使用 Bootstrap 5 时页眉不在导航和页脚之间垂直居中?
Why isn't header vertically centered, between navigation and footer, while using Bootstrap 5?
header
包含一个 h1
元素。
我添加到 header
: class="d-flex flex-column justify-content-center align-items-center min-vh-100"
但是出现了一个垂直滚动条。我通过在 body
中添加 overflow-hidden
class 来删除它,但是 header
不是垂直居中的(它略低于 x 轴中心)。
注意:如果我删除导航,垂直居中会起作用。
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" />
<nav class="navbar navbar-expand-sm bg-primary navbar-dark">
<div class="container-fluid">
<span class="navbar-brand mb-0 h1">Βάκχος</span>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a href="#" class="nav-link active" aria-current="page">Αρχική</a>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" id="navbarDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">Ανέκδοτα</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<li><a href="#" class="dropdown-item">Με βιλία</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<main>
<header class="d-flex flex-column justify-content-center align-items-center min-vh-100">
<h1 class="bg-primary">Όταν οι έφτιαχναν μιμς, οι άλλοι έτρωγαν βελανίδια και κρέμονταν από τα δέντρα!</h1>
</header>
</main>
<footer>
<p>Footer</p>
</footer>
一种解决方案是将导航栏绝对定位,并将宽度设置为 100%。
这可以通过在导航中附加一些 Bootstrap 类 来完成。
<nav class="navbar navbar-expand-sm bg-primary navbar-dark position-absolute w-100">
这使得页眉相对于屏幕垂直居中。
header
包含一个 h1
元素。
我添加到 header
: class="d-flex flex-column justify-content-center align-items-center min-vh-100"
但是出现了一个垂直滚动条。我通过在 body
中添加 overflow-hidden
class 来删除它,但是 header
不是垂直居中的(它略低于 x 轴中心)。
注意:如果我删除导航,垂直居中会起作用。
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" />
<nav class="navbar navbar-expand-sm bg-primary navbar-dark">
<div class="container-fluid">
<span class="navbar-brand mb-0 h1">Βάκχος</span>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a href="#" class="nav-link active" aria-current="page">Αρχική</a>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" id="navbarDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">Ανέκδοτα</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<li><a href="#" class="dropdown-item">Με βιλία</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<main>
<header class="d-flex flex-column justify-content-center align-items-center min-vh-100">
<h1 class="bg-primary">Όταν οι έφτιαχναν μιμς, οι άλλοι έτρωγαν βελανίδια και κρέμονταν από τα δέντρα!</h1>
</header>
</main>
<footer>
<p>Footer</p>
</footer>
一种解决方案是将导航栏绝对定位,并将宽度设置为 100%。
这可以通过在导航中附加一些 Bootstrap 类 来完成。
<nav class="navbar navbar-expand-sm bg-primary navbar-dark position-absolute w-100">
这使得页眉相对于屏幕垂直居中。