我正在尝试从此聊天中复制对话框的布局。聊天本身有一个固定的高度。里面的聊天分为3个区块。1 块具有固定高度并被压到顶部。3块有一个固定的高度并压到底部。块 2 占据了所有剩余空间,并能够在其内部滚动内容。主要问题是我不明白如何调整聊天块的高度。也就是说,主聊天块随着浏览器窗口的减少而减少。有任何想法吗?
html
<div class="cart">
<div class="cart-header">
<p>Прижать к верху.</p>
</div>
<div class="cart-body">
<p>Занять все свободное место с возможностью прокрутки (overflow).</p>
</div>
<div class="cart-footer">
<p>Прижать к низу.</p>
</div>
</div>
css
.cart {
position: fixed;
right: 15px;
bottom: 15px;
// 576 px и больше.
@include media-breakpoint-up(sm) {
right: 30px;
bottom: 30px;
}
&.show {
width: 100%;
height: 100%;
// 576 px и больше.
@include media-breakpoint-up(sm) {
max-width: 380px;
max-height: 600px;
}
}
}
.cart-body {
display: none;
.cart.show > & {
display: block;
}
}
.cart-footer {
display: none;
.cart.show > & {
display: block;
}
}

一切都非常简单。对于父块
.chat_contanier,您需要设置浏览器窗口的全高,即 100%。计量单位vh。就像它的子块一样chat。此外,不要忘记为您的聊天窗口设置最大高度max-height。我不知道这对你有多大帮助,但如果你给块
然后他会根据自己的需要伸展。
这个想法是使用度量单位
vh。在这个例子中,整个聊天窗口将是屏幕高度的 30%
或者。在这个例子中,聊天的“body”将是屏幕高度的 30%,而整个聊天将是顶部和底部的 30% + 100px。