html - 如何将 Bootstrap 卡片放置在另一张具有可滚动内容的卡片下方?
问题描述
我的网页有两张卡片:一张在另一张下方。顶部卡片具有包含大量输入组的可滚动正文。我希望将底部卡插入顶部卡的正下方。
我遇到的问题是底部卡片放置在页面底部很远,好像布局考虑到顶部卡片的输入组占用的空间,但这些应该隐藏在可滚动部分内。
下面的代码显示了我的设置。
干杯。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Scrollable Cards</title>
<!-- Bootstrap -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="card text-center col-xl-12 col-lg-12 col-md-12" style="height: 45%;">
<div class="card-header"> Card 1</div>
<div class="card-body">
<div class="scrollable" style="max-height: 35%; overflow-y: auto;">
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="card text-center col-xl-12 col-lg-12 col-md-12" style="height: 45%;">
<div class="card-header"> Card 2 </div>
<div class="card-body">
<div class="scrollable" style="max-height: 35%; overflow-y: auto;">
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
</body>
</html>
解决方案
您必须制作一些height
以 px 为单位的固定大小。
例如,删除 style="height: 45%;"
、替换 style="max-height: 35%; overflow-y: auto;"
为style="max-height: 150px; overflow-y: auto;"
通常,您的代码非常混乱。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Scrollable Cards</title>
<!-- Bootstrap -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="card text-center col-xl-12 col-lg-12 col-md-12">
<div class="card-header"> Card 1</div>
<div class="card-body">
<div class="scrollable" style="max-height: 150px; overflow-y: auto;">
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="card text-center col-xl-12 col-lg-12 col-md-12" style="height: 45%;">
<div class="card-header"> Card 2 </div>
<div class="card-body">
<div class="scrollable" style="max-height: 35%; overflow-y: auto;">
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
<div class="input-group mb-3">
<div class="input-group-prepend"> <span class="input-group-text" id="basicaddon1">@</span> </div>
<input type="text" class="form-control" placeholder="normal sized input group" aria-describedby="basicaddon1">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
</body>
</html>
推荐阅读
- algorithm - 简化的 3 路分区排序的时间复杂度
- algorithm - 内存黑客中的指针扫描
- r - 使用R的分段样条的弧长
- java - Jersey NameBinding 过滤器未在子资源方法上调用
- vim - VIM:退格键在正常模式下删除,但在插入模式下不执行任何操作。
- javascript - 需要在所有屏幕尺寸上进行不寻常的导航工作
- html - InAppBrowser 离子测试浏览器不显示页面说无法获取我的网址
- sqlite - Sqlite,连接两个查询结果
- c# - C# String to DateTime 格式为 2018-05-26T00:00:00
- javascript - 使用 html 输入文件多次选择文件后的事件