我正在使用CSS Bootstrap 4,其中包含多列放置在容器内的行。根据屏幕大小,这些列可以堆叠在彼此之上,并使容器变得更高,有时会超出屏幕可显示的范围并需要滚动。我似乎无法找到一种方法来同时满足以下两个条件:
- 如果容器比浏览器窗口高度短,则将容器居中放置在屏幕中央
- 如果容器比浏览器窗口高度更高,则不要将容器居中放置(以便它不会超出屏幕)
我已经有了以下代码,可以将容器居中放置,但是当文本行数变得比屏幕更高时,由于.centered,它会直接超出屏幕范围,而不能像普通页面一样滚动。
以下是我的HTML代码:
<div class="container centered" style="width: 100%">
<div class="row justify-content-center">
<div class="col-8" id="main">
Text<br>
Text<br>
Text<br>
<!-- Any number of more lines may be added here -->
</div>
</div>
</div>
我的CSS如下所示:
html,
body {
width: 100%;
}
body {
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
padding-top: 40px;
padding-bottom: 40px;
background-color: rgb(0, 0, 0);
}
.centered {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
#main {
background-color: rgb(30,29,38.3);
border-radius: 6px;
box-shadow: 0 0 30px rgb(25, 25, 35);
}