html - 使用 flexbox 和 overflow hidden & scroll 在 Firefox 中不起作用?

标签 html css firefox overflow flexbox

我有一个相对简单的单页网站框架。 我想保留的标题区域(至少在 Chrome 和我的智能手机的 native 浏览器中)是通过在整个容器上设置 overflow:hidden,然后设置 overflow:scroll 到可滚动区域。

但后来我在 FireFox 上仔细检查了一下,基本上遇到了各种各样的问题。故障排除导致大量困惑的事情发生。

    <div id="mainBlock">

        <div id="tabContent">
            <div id="one">
                <h1>one</h1>
            </div>
            <div id="two">
                <h1>two</h1>
            </div>
            <div id="three">
                <h1>three</h1>
            </div>
            <div id="four">
                <h1>four</h1>
            </div>
        </div>

        <div id="bottomBlock">
            <div>hellow</div>
        </div>

    </div>

使用这些样式规则

#mainBlock {
    overflow-y: scroll;
    margin: 0;
    padding: 0;
    width: 100%;
    display: flex;
    flex-flow: column;
    align-content: center;
    align-items: center;
}
#tabContent {
    height: 100%;
    width: 100%;
}
#tabContent > *{
    height: 500px;
}
#bottomBlock {
    background-color: #444;
    height: 24px;
    width: 100%;
}

工作时,这会导致头部区域保持不变,同时允许其余内容滚动,bottomBlock 出现在可滚动区域的末尾。 但是,在 Firefox 中,虽然可以滚动,但 bottomBlock 卡在初始视口(viewport)的末尾。如果视口(viewport)高度为 900px,bottomBlock 看似绝对定位在 901px。

如果我将 bottomBlock 移动到 tabContent 中,它就会正常工作。
但是这个问题让我非常头疼,无法简单地放弃它。

我不确定如何解决这个问题,因为滚动条是这里的主要问题,而 fiddle 的渲染框也有一个。

非常感谢任何帮助!

最佳答案

如果您从 #tabContent 中完全删除 height:100%,它在 firefox 45.0.1 中对我有用。你需要它做什么?作为最后一个 block 元素 #bottomBlock 将始终位于最底部。 也许这是一个奇怪的 css 覆盖/优先级问题。我可以想象 FF 无法正确计算整体内容高度,因为有竞争力的 #tabContent > *#bottomBlock 选择器。

您是否也尝试过将 tabContent 作为一个类?有时这会解决奇怪的 css 继承或覆盖问题(对我来说)。

关于html - 使用 flexbox 和 overflow hidden & scroll 在 Firefox 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36535656/

相关文章:

javascript - 刷新 div 容器中的广告横幅

javascript - 内容变化引起的过渡元素大小

CSS 背景从 5 部分图像、大小到文本编译

html - 为什么它的 bordercolour 似乎只在 chrome 而不是 internet explore 或 firefox 中运行

javascript - Firefox jquery position() 关闭 1px

firefox - 地理定位不适用于 Firefox

html - 页面 A 的大小与页面 B 不同,使用的样式表相同

android - Instagram 风格的安卓布局?

css - 更改 Bootstrap Carousel 淡入淡出过渡

javascript - 在 Firefox Addon 中获取 HTTP 响应 header