Html 高度:当父项';它的高度是100vh

Html 高度:当父项';它的高度是100vh,html,css,flexbox,Html,Css,Flexbox,当flex child的父级位置固定且高度为100vh时,如何将flex child的高度设置为自动。下面的代码(class=“firstInnerDiv”是我的弹出窗口) 梅因迪夫先生{ 位置:固定; 显示器:flex; 证明内容:中心; 左:0%; 最高:0%; 宽度:100%; 高度:100vh; 溢出y:滚动; 背景#8c8c; } .main div.firstInnerDiv{ 填充:0px 20px; 利润上限:70像素; 边界半径:18px; 高度:自动; 位置:相对位置; 宽

当flex child的父级位置固定且高度为100vh时,如何将flex child的高度设置为自动。下面的代码(class=“firstInnerDiv”是我的弹出窗口)


梅因迪夫先生{
位置:固定;
显示器:flex;
证明内容:中心;
左:0%;
最高:0%;
宽度:100%;
高度:100vh;
溢出y:滚动;
背景#8c8c;
}
.main div.firstInnerDiv{
填充:0px 20px;
利润上限:70像素;
边界半径:18px;
高度:自动;
位置:相对位置;
宽度:80%;
背景:#fff;
}
一,。更多内容将在这里

jsfiddle如下所示


如果添加
弹性方向:列和更改<代码>调整内容:中心
对齐项目:居中
.maindiv
规则上,
.firstInnerDiv
中的内容不会溢出

.maindiv{
位置:固定;
显示器:flex;
弯曲方向:立柱;
对齐项目:居中;
左:0%;
最高:0%;
宽度:100%;
高度:100vh;
溢出y:滚动;
背景#8c8c;
}
.main div.firstInnerDiv{
填充:0px 20px;
利润上限:70像素;
边界半径:18px;
高度:自动;
位置:相对位置;
宽度:80%;
背景:#fff;
}

1.这太棒了
2.这太棒了
3.这太棒了
4.这太棒了
5.这太棒了
6.这太棒了
7.这太棒了
8.这太棒了
9这太棒了
10这太棒了
11这太棒了
12这太棒了
13这太棒了
14这太棒了
15这太棒了
16这太棒了
17这太棒了
18这太棒了
19这太棒了

height:100vh
在手机上是有问题的,因为当用户向下滚动时,
vh
会发生变化,并且由于查看器高度的变化,所有内容都必须重新计算。“firstInnerDiv”是我的弹出窗口。如何在整个内容中填充白色背景?你看到我附在上面的JSFIDLE了吗。无论如何,感谢您的回复您的CSS已经将高度设置为自动。你到底想做什么,你的CSS有什么问题?请看我的“JSFIDLE链接”,白色背景没有完全覆盖内容,父div的位置是固定的。这正是我的问题@AdrianI意识到这已经得到了回答(答案对我很有帮助,这很好),但是
position:fixed
实际相关吗?我在问题中看到它是粗体的,但是当我运行时,不管父元素上是否设置了
position:fixed
,不需要的行为都是相同的。对于.Hi LGson也是如此,滚动条不能位于“firstInnerDiv”中。这看起来很糟糕。滚动条必须在主体中,这是常见的。
<style>
.maindiv{
    position:fixed;
    display:flex;
    justify-content:center;
    left:0%;
    top:0%;
    width:100%;
    height:100vh;
    overflow-y:scroll;
    background:#8c8c8c;
   }

.maindiv .firstInnerDiv{
    padding:0px 20px;
    margin-top:70px;
    border-radius:18px;
    height:auto;
    position:relative;
    width:80%;
    background:#fff;
 }
</style>
</head>
<body>
<div class="maindiv">
<div class="firstInnerDiv">
<p>1. More contents will be here </p>
</div>
</div>