引导如何使导航栏保持在外面,而内容有vh-100



我有一些简单的列保留在视口中。无论你做什么,它都会停留在视口上(缩小,它们都停留在屏幕上而不滚动(。目前,我的导航栏附在中间一列,但如果我把它放在外面,页面就会变成可滚动的。我将提供的代码是完全工作的,除了我希望导航栏在外面,例如:

这个

--------------------
col1 | navbar | col3
|  col2  |
--------------------

进入这个

--------------------
navbar
col1 | col2 | col3
--------------------

所以所有这些都需要在一个视口上(不需要像下面的示例代码那样滚动(。我想列保持在一行中,但导航栏在它之外,仍然可以一起使用vh-100。

.bg-darkblue{
background-color: #012832;
}
#testbox{
overflow-y: scroll;
overflow-x: hidden;
}
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
</head>
<body>
<div class="container-fluid bg-light p-0">
<div class="row m-0">
<div class="col-sm-1 p-0">
<div class="card rounded-0">
<div class="card-body p-0">
col-left
</div>
</div>
</div>
<div class="col-sm col-auto p-0 d-flex flex-column vh-100 border">
<nav class="navbar navbar-expand-lg navbar-light p-0 bg-darkblue">
<div class="container-fluid">
<a class="navbar-brand text-light" href="/">navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</nav>
<div id="testbox" class="flex-fill d-flex flex-column-reverse">
<div class="card rounded-0">
<div class="card-body p-0">
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
</div>
</div>
</div>
<div class="card-footer text-muted">
<form id="test-form" class="m-0">
<div class="row">
<div class="col">
<input type="text" id="test-input" class="form-control rounded-pill" autocomplete="off" placeholder="Type something...">
</div>
</div>
</form>
</div>
</div>
<div class="col-sm-2 p-0">
<div class="card rounded-0">
<div class="card-body p-0">
<ul class="list-group list-group-flush">
col-right
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

只需将导航栏移出容器并声明新类vh-100-navbar-out:

.bg-darkblue{
background-color: #012832;
}
#testbox{
overflow-y: scroll;
overflow-x: hidden;
}
.vh-100-navbar-out {
height: calc(100vh - 2.5rem);
}
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light p-0 bg-darkblue">
<div class="container-fluid">
<a class="navbar-brand text-light" href="/">navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</nav>
<div class="container-fluid bg-light p-0">
<div class="row m-0">
<div class="col-sm-1 p-0">
<div class="card rounded-0">
<div class="card-body p-0">
col-left
</div>
</div>
</div>
<div class="col-sm col-auto p-0 d-flex flex-column vh-100-navbar-out border">
<div id="testbox" class="flex-fill d-flex flex-column-reverse">
<div class="card rounded-0">
<div class="card-body p-0">
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero perspiciatis veniam magnam! Sed rerum repellat ab illum consectetur culpa illo delectus, excepturi perferendis aspernatur officiis distinctio aliquam consequatur quisquam fuga.</p>
</div>
</div>
</div>
<div class="card-footer text-muted">
<form id="test-form" class="m-0">
<div class="row">
<div class="col">
<input type="text" id="test-input" class="form-control rounded-pill" autocomplete="off" placeholder="Type something...">
</div>
</div>
</form>
</div>
</div>
<div class="col-sm-2 p-0">
<div class="card rounded-0">
<div class="card-body p-0">
<ul class="list-group list-group-flush">
col-right
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

相关内容

最新更新