html - How can I get this layout in bootstrap?
问题描述
I want to have an layout like this. I have a fixed sidebar on the left that is 330px wide. Also I have a gray box that should stay on the center of the screen and only moves up or down if the content of the box above changes height.
I don't get how I can make the gray box and the box with the variable content at the center of the screen. That's what I currently have:
<html style="height: 100%">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet"/>
<body style="height: 100%;">
<div class="container-fluid h-100">
<div class="h-100 d-flex align-items-center">
<div class="row">
<div class="col" style="-ms-flex: 0 0 330px;flex: 0 0 330px;">
<div class="card" style="margin-bottom: 10px; width: 330px;">
<div class="card-body align-items-center">
Sidebar stuff
</div>
</div>
</div>
<div>
<div id="this_is_the_box_with_contant" style="width: 700px;">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</div>
<input id="this_is_the_gray_box" type="button" class="btn" value="" style="background-color:lightblue; width: 350px; height: 350px; border: solid 50px grey;border-radius: 50px;margin:auto" />
</div>
</div>
</div>
</div>
</body>
</html>
On a full screen there is many space at the right of both boxes. I think I need to change something at the div element that doesn't has anything.
What do I need to do? And also don't change the body and the first container-fluid element.
解决方案
What I did is just adding margin:auto;
to the parent div and margin:auto; display:flex;
to grey box so it will be centered.
Keep in mind that it's good practice in general if you include your CSS in a different file though.
<div class="container-fluid h-100">
<div class="h-100 d-flex align-items-center">
<div class="row">
<div class="col" style="-ms-flex: 0 0 330px;flex: 0 0 330px;">
<div class="card" style="margin-bottom: 10px; width: 330px;">
<div class="card-body align-items-center">
Sidebar stuff
</div>
</div>
</div>
<div style="margin: auto;">
<div id="this_is_the_box_with_contant" style="width: 700px;">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</div>
<input id="this_is_the_gray_box" type="button" class="btn" value="" style="background-color:lightblue; width: 350px; height: 350px; border: solid 50px grey;border-radius: 50px; margin:auto; display:flex;">
</div>
</div>
</div>
</div>
推荐阅读
- c - 为另一个共享库加载共享库
- javascript - 为什么 select2 不设置所有数组元素?
- android - 无法使用毕加索将图像加载到视图寻呼机片段中?
- android - 如何使用 AppWidgetHostView 在 android 应用程序上调整小部件的大小?
- angular - 为什么我使用来自 Angular 服务的自签名证书调用 HTTPS API 时会出现此 ERR_CERT_AUTHORITY_INVALID 错误?
- java - 如何将 compareTo 方法转换为实现 Comparable 的泛型类?
- css - Bootsrap Cards:根据内容缩放以适合卡体
- python - Pandas:像堆栈一样使用滚动计数
- apache - Apache UIMA:在运行时修改字典注释器
- sql - 在 SQL Stuck 中试图从 COUNT 的结果中更新表列