Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html CSS Flex:垂直居中且高于视口的项目_Html_Css_Flexbox - Fatal编程技术网

Html CSS Flex:垂直居中且高于视口的项目

Html CSS Flex:垂直居中且高于视口的项目,html,css,flexbox,Html,Css,Flexbox,因此,我使用CSS flex创建垂直居中的模式弹出窗口(align items:center;)。问题在于,当模式高于视口(并且可滚动)时,Flex会优先考虑“居中”,从而使模式顶部无法访问 有人找到办法解决这个问题吗?我可以使用媒体查询使所有模态flex start对齐,但是我仍然希望较小的模态垂直居中 我曾想过尝试使模态弯曲收缩;要始终适合100%的视口,但它需要滚动(并允许内容适应页面下方的进一步位置),所以不确定 .outer { display: flex; align

因此,我使用CSS flex创建垂直居中的模式弹出窗口(
align items:center;
)。问题在于,当模式高于视口(并且可滚动)时,Flex会优先考虑“居中”,从而使模式顶部无法访问

有人找到办法解决这个问题吗?我可以使用媒体查询使所有模态
flex start
对齐,但是我仍然希望较小的模态垂直居中

我曾想过尝试使模态弯曲收缩;要始终适合100%的视口,但它需要滚动(并允许内容适应页面下方的进一步位置),所以不确定

.outer {
    display: flex;
    align-items: center;
}
给你

.parent{
顶部:50px;
}
父母亲
.孩子{
位置:相对位置;
宽度:50px;
高度:50px;
保证金:自动;
背景:#CCC;
}
.孩子{
位置:相对位置;
宽度:25px;
高度:100px;
保证金:自动;
背景:#000;
最高:50%;
转换:翻译(0,-50%);
}

给你

.parent{
顶部:50px;
}
父母亲
.孩子{
位置:相对位置;
宽度:50px;
高度:50px;
保证金:自动;
背景:#CCC;
}
.孩子{
位置:相对位置;
宽度:25px;
高度:100px;
保证金:自动;
背景:#000;
最高:50%;
转换:翻译(0,-50%);
}

感谢@Pete的回答:

解决方案是设置<代码>最大高度:100%
溢出:自动(我以前有
溢出:可见;
,这导致了问题

我还找到了另一种方法:

通过在“outer-outer”容器上放置以下flex属性(在本例中,我们使用的是ReactModal,因此有ReactModalPortal)

我们也是 ```.反应门{ 显示器:flex; 调整项目:灵活启动

.innerContainer {
    display: flex;
    align-items: center;
}
} ```
我想,通过将
flex start
放在父窗口上,它总能确保内容“开始”在窗口顶部。

感谢@Pete的回答:

解决方案是设置
最大高度:100%;
溢出:自动;
(我以前有
溢出:可见;
,这导致了问题

我还找到了另一种方法:

通过在“outer-outer”容器上放置以下flex属性(在本例中,我们使用的是ReactModal,因此有ReactModalPortal)

我们也是 ```.反应门{ 显示器:flex; 调整项目:灵活启动

.innerContainer {
    display: flex;
    align-items: center;
}
} ```
我想通过在父级上放置
flex start
,它总是确保内容“开始”在窗口顶部。

试试这个
。父级{position:relative;}.largerChild{position:relative;top:50%;translate:transform(0,-50%);}
为什么不为您的模式设置100%的最大高度,并使其溢出自动?谢谢@Pete-这解决了问题!仍然使用flex,但最大高度已经完成了以下操作:parent{position:relative;}.largerChild{position:relative;top:50%;translate:transform(0,-50%);}
你为什么不为你的模态设置一个100%的最大高度,让它自动溢出?谢谢@Pete-这已经解决了问题!仍然使用flex,但最大高度已经解决了问题。所以基本上,不要使用flex?我在html/css中做了很多工作,但从来没有真正发现需要使用flex。在某些情况下,它可能很有用,但这只是一个例子在我看来,这是一个干净的固溶体。谢谢你的帮助,亚当!但奇怪的是,这是否解决了“居中”的问题,使高模态在小高度设备上无法访问?我尝试过应用这些属性而不是flex,结果是一样的……高模态确实居中,但顶部区域在没有居中的情况下是无法访问的附加的页边空白应用于conditinal样式,可能没有一种方法可以绕过它,而且它的行为是有意义的。因此,基本上,不使用flex?我在html/css中做了很多工作,但从来没有真正发现需要使用flex。在某些情况下它可能很有用,但这只是工作,而且在我看来是干净的固溶体anks谢谢你的帮助Adam!但奇怪的是-这是否解决了“居中”问题,使高模态在小高度设备上无法访问?我尝试了应用这些属性而不是flex,结果是一样的…高模态确实居中,但顶部区域无法访问,而条件s没有额外的边界泰林,可能没有一种方法可以绕过它,它有点道理,它的行为就是这样。