gpt4 book ai didi

html - 带有滚动面板的动态高度模态

转载 作者:行者123 更新时间:2023-11-28 02:23:20 25 4
gpt4 key购买 nike

我正在尝试创建一个模式。我希望此模式使用除 96px View 高度之外的所有内容(顶部和底部填充 48px)。

要注意的是模态需要有两个可滚动的面板。这是给我带来麻烦的部分。因为模态高度是动态的,所以很难为滚动区域提供一个高度,同时响应并允许面板的所有内容都可以滚动。

有没有办法为滚动面板提供响应高度,无论 View 高度如何,都可以查看所有面板内容?

示例:https://codepen.io/dean-o-saur/pen/OzjQvQ

HTML

<!DOCTYPE html>
<html>
<head>
<title>Scroll Test</title>
<link rel="stylesheet" type="text/css" href="styles.css">
<script src="https://use.fontawesome.com/0b7dc70bea.js"></script>
</head>
<body>
<div class="modalContainer">
<div class="modalContent">
<div class="titleBar">
<p>Title</p>
<i class="fa fa-times" aria-hidden="true"></i>
</div>
<div class="modalBody">
<div class="MBLeft">
<div class="sectionTop">
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
</div>
<div class="sectionBottom">
<p><strong>TOP</strong></p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p><strong>BOTTOM</strong></p>
</div>
</div>
<div class="MBRight">
<div class="rightContent">
<p><strong>TOP</strong></p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p>TEST</p>
<p><strong>BOTTOM</strong></p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

CSS

html {
min-height: 100%;
height: 100%;
}

body{
min-height: 100%;
height: 100%;
background: #7F7F7F;
}

.modalContainer{
display: flex;
align-items: center;
justify-content: center;
padding-top: 48px;
padding-bottom: 48px;
height: calc(100vh - 96px);
max-height: calc(100vh - 96px);
}

.modalContent{
height: 100%;
max-width: 950px;
vertical-align: middle;
background-color: #FFF;
border: 1px solid rgb(201, 201, 209);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
overflow-y: hidden;
}

.titleBar {
display: grid;
grid-template-columns: auto 22px;
background-color: gray;
padding: 0 20px 0 17px;
}

.titleBar i {
color: white;
font-size: 22px;
align-self: center;
}

.modalBody{
display: grid;
grid-template-columns: 340px auto;
height: calc(100vh - 18.5%);
}

.modalBody p{
margin:3px;
}

.modalBody p:nth-child(even){
background-color: #cccccc;
}

.modalBody p:nth-child(odd){
background-color: #f2f2f2;
}

.MBLeft{
border-right: 2px solid gray;
height: 100%;
}

.MBRight{
overflow-y: auto;
}

.rightContent{
padding: 23px 20px 20px;
}

.sectionTop {
padding: 23px 20px 20px;
border-bottom: 2px solid gray;
}

.sectionBottom{
padding: 23px 20px 20px;
overflow-y: auto;
height: 55vh;
}

.sectionBottom p{
padding-bottom: 7px;
}

最佳答案

好吧,我尝试了这个并找到了一个令我满意的解决方案。我更新了问题中链接的 CodePen。

看起来我试图滚动的面板需要一个高度。出于某种原因,我假设面板的父 div 是需要高度的 div。

像这样格式化高度样式也有帮助:

height: calc(100vh - 385px);

我必须尝试使用​​ 385 像素值才能使其正常工作,但这似乎可以解决问题。

关于html - 带有滚动面板的动态高度模态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48084591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com