Flexbox 子项可以有溢出滚动条吗?

2023-12-09

我想使用CSS3 弹性盒模型创建跨设备布局并发现HugoGiraudel 的一个很好的布局示例我用它作为起点。

布局基本上是这样的:

enter image description here

HTML 的结构如下:

<div class="wrapper">
  <header class="header">Header</header>
  <article class="main">
    ...
  </article>
  <aside class="aside aside-1">Aside 1</aside>
  <aside class="aside aside-2">Aside 2</aside>
  <footer class="footer">Footer</footer>
</div>

CSS 最重要的部分如下:

.wrapper {
  display: flex;
  flex-flow: row wrap;
}
.wrapper > * {
  padding: 10px;
  flex: 1 100%;
}
.aside { flex: 1 auto; }
.main    { flex: 3 0px; }

我的问题是,当文章包含的内容超出屏幕显示范围时,外部旁边会出现一个垂直滚动条.wrapper页脚不再可见。

我尝试添加overflow: scroll and flex-flow: column wrap到文章的风格,但没有成功 - 滚动条可见,但文章总是会增长以完全包含其内容。

如果内容增长,如何保持页脚可见和文章滚动?


您的文章内容扩展整个布局的原因是它没有任何高度限制。就像是max-height会限制其增长,然后会出现垂直滚动条。

这是您的代码,经过一些调整:

HTML(为文章和旁白添加了一个嵌套的弹性容器)

<div class="wrapper">
  <header class="header">Header</header>
  <section class="inner-wrapper">
    <article class="main">
      <p>Pellentesque habitant morbi tristique senectus et netus et malesuada 
         fames ac turpis egestas...</p>
      <p>Pellentesque habitant morbi tristique senectus et netus et malesuada 
         fames ac turpis egestas...</p>
      <p>Pellentesque habitant morbi tristique senectus et netus et malesuada 
         fames ac turpis egestas...</p>
                            .
                            .
                            .
    </article>
    <aside class="aside aside-1">Aside 1</aside>
    <aside class="aside aside-2">Aside 2</aside>
  </section>
  <footer class="footer">Footer</footer>
</div>

CSS(仅限关键调整)

html, body {
  height: 100%;
}

.wrapper {
  display: flex;  
  height: 100%;
  flex-direction: column;        /* switch main container from row direction */
}

.inner-wrapper {
  display: flex;                 /* nested flex container; row direction */
  flex: 0 0 50%;                 /* limit height of container; adjust as necessary */
  min-height: 0;                 /* addresses a scrolling bug in Firefox;
                                    http://stackoverflow.com/a/34982902/3597276 */
}

.header {
    flex: 1;                     /* header to occupy all available height */
}

.footer {
  flex: 1;                       /* footer to occupy all available height */
}

.main {
  overflow-y: scroll;            /* enable vertical scrollbar */
}

修订版代码笔

NOTES:

  • 现在主要的弹性容器(.wrapper) 具有三个垂直堆叠的弹性项目。
  • 每个项目的高度可以单独设置。在上面的代码中,页眉和页脚被告知消耗所有可用空间(flex: 1)。中间的弹性项目(.inner-wrapper) 限制为 50%,从而启用滚动。尝试 25% 和 75% 作为替代示例。
  • 中间的项目兼作弹性容器,并将文章和旁白水平排列。每个项目的宽度可以单独设置。上一点也适用于此。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flexbox 子项可以有溢出滚动条吗? 的相关文章

  • 根据变量值将 LESS 编译为多个 CSS 文件

    有一个指定颜色的变量variables less文件 例如 themeColor B30F55 和一个 json构成实体列表的文件 其中每个键是一个实体 ID 键的值是该实体的颜色 例如 8ab834f32 B30F55 3cc734f31
  • 使用 CSS 自定义字体?

    我见过一些在其网站上使用自定义字体的新网站 除了常规的 Arial Tahoma 等 他们支持大量的浏览器 如何做到这一点 同时 如果可能的话 还会阻止人们免费下载该字体 一般来说 您可以使用自定义字体 font face在你的 CSS 中
  • 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403

    我使用的是 Linux Elementary OS 并在 opt 中安装了 lampp My CSS and JS won t load When I inspect my page through browser The console
  • div 边框上的内边距

    我想在 css 边框上添加填充 将其拉入 div 内 远离边缘 使用 css 可以吗 css3 很好 webkit 这是设计 我通过将一个 div 放在一个 div 中 然后给内部 div 一个边框来做到这一点 我想让标记尽可能精简 所以如
  • 如何倾斜 div 并保持背景图像不倾斜

    我已经花了几个小时了 所以希望有人能提供帮助 我有一个网站 其中大部分 div 都是倾斜的 大多数 div 都包含背景图像 现在我已经让 div 倾斜了 内容完美地位于其中 唯一的问题是背景图像 它与父级一起倾斜 我用谷歌搜索了很多 但找不
  • 调整文本区域大小

    我需要使用文本区域来显示一些文本 问题是 如果我放置 4 5 行文本 就会出现滚动条 如何使用 CSS HTML 使文本区域与其内容一样大 没有滚动条 文本区域不需要动态更改其大小 我仅使用它来显示文本 我也可以使用禁用的文本区域 我希望文
  • Modernizr - 加载 polyfills / 使用自定义检测的正确方法

    我想在网页上使用一些新的 HTML5 表单属性和输入类型 有些浏览器已经支持它们 有些浏览器不支持 也永远不会支持 这就是我想使用 Modernizr 的原因 这就是我的麻烦开始的原因 据我了解 Modernizr 本身并不是一个 poly
  • 在网页上的文本框中键入内容时删除所有空格

    我如何在用户打字时即时删除输入到文本框中的空格 function var txt myTextbox var func function txt val txt val replace s g txt keyup func blur fun
  • 防止用户在下拉菜单中选择默认值

    我试图阻止用户选择默认的下拉菜单选项 有没有办法在下拉菜单选项中添加文本而不是值 我的代码
  • HTML2canvas 和 Canvas2image,下载的屏幕截图不显示我的 HTML 图像

    我一直在开发一个 HTML 页面 我想将其转换为图像 我一直在使用 html2canvas 和 canvas2image 脚本并采用此代码http jsfiddle net 8ypxW 3 http jsfiddle net 8ypxW 3
  • 如何通过php获取网页的Open Graph协议?

    PHP 有一个简单的命令来获取网页的元标记 get meta tags 但这仅适用于具有名称属性的元标记 然而 开放图谱协议如今变得越来越流行 从网页获取 opg 值的最简单方法是什么 例如 我看到的基本方法是通过 cURL 获取页面并使用
  • 如何在背景剪辑中包含文本装饰:文本;影响?

    我在用 webkit background clip text border and color transparent在锚标记上 下划线似乎永远不可见 我想要的是将文本装饰包含在背景剪辑中 这是我的CSS background clip
  • 使用 JS 合并具有相同值的相邻 HTML 表格单元格

    我已经为此苦苦挣扎了一段时间 我有一个根据一些 JSON 数据自动生成的表 该数据可能会有所不同 我想合并第一列中具有相同值的相邻单元格 例如此表中的 鱼 和 鸟 table tr td fish td td salmon td tr tr
  • 如何将送货地址复制到帐单地址

    我想知道是否可以将送货地址复制到帐单地址 当用户单击与送货地址相同的复选框时 送货地址值将被复制到账单输入字段 我完成了大部分部分 但我不确定如何将选择菜单 状态 值复制到帐单地址 我真的很感谢任何帮助 My code document r
  • Twitter 嵌入时间轴小部件

    我继续下载http platform twitter com widgets js http platform twitter com widgets js And the http platform twitter com embed t
  • JSTL 在循环中每 5 个字段集创建一个新行

    您好 我目前正在迭代并在表中显示字段集列表 为了让布局变得更得体一些 我想在每次循环到达第五个字段集时创建一个新行 谢谢 JSP div class det table class det tr td td tr table div
  • 悬停时为 SVG 制作动画

    我正在尝试在悬停时为 SVG 文件设置动画 默认情况下 它可以使用 svg 函数实现出色的动画效果 例如
  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we
  • 单击引导分页链接时调用 jquery 函数

    我想在单击引导分页链接时调用 jquery 函数 假设我想从第1页遍历到第2页 应该调用一个jquery函数 我正在使用以下代码 但它不起作用 ul pagination on click li function alert page ch
  • 需要有关 React Js 的帮助

    我是 React Js 新手 我的代码无法正常工作 请看下面 这是我的脚本文件Main jsx 该文件由 React 编译 输出放置在 dist 文件夹下的 main js 文件中 var react require react react

随机推荐

  • 如何在 Django Rest Framework 中显示 ManyToMany 字段的值而不是 Id?

    Model class Genre models Model name models CharField max length 100 def str self return self name class Song models Mode
  • 带有悬挂缩进的内联描述列表

    我想创建一个描述列表 其中每个术语和描述对都出现在一行中 但这些 行 带有悬挂缩进 以防它们换行 这是我想要的视觉效果 但使用p元素代替 p margin 0 0 0 2em text indent 2em p b H b Himenaeo
  • 为什么 Java 8 中的函数式接口有一个抽象方法?

    我们知道 在Java 8中 引入了函数式接口的概念 函数式接口有一个abstract方法和几个默认或静态方法是可能的 但为什么功能接口应该只有一个抽象方法呢 如果接口有多个抽象方法 为什么这不是函数式接口 函数式接口也称为单一抽象方法接口引
  • 具有多个配置文件模型的 Django-allauth

    我有一个 django 项目 其中有多个配置文件模型 每个模型都有一个指向 User 模型的外键 它用django allauth进行注册 目前 当使用社交帐户注册时 用户注册 创建用户和社交帐户 然后将用户重定向到要填写的表单 具体取决于
  • Python:numpy数组列表,不能执行index()吗?

    center 是 numpy 数组的列表 Shortest dist 1 是一个 numpy 数组 但是 当我这样做时 centers index shortest dist 1 它告诉我 ValueError The truth valu
  • TCP 多播和多线程

    我需要提出能够可靠地多播到其他客户端的客户端 这意味着我将使用 TCP 在多播组内的客户端之间进行可靠连接 这不是达到了 n 2 个连接吗 这对我来说似乎有点愚蠢 是否 不应该有一种方法可以更轻松 更可靠地进行多播 编辑 UNIX C 编辑
  • 页面未正确重定向 Ruby on Rails

    由于某种原因 我在单击页面的受保护部分时收到错误 Firefox 页面未正确重定向 这是我在我的中使用的方法ApplicationController protected def authorize unless User find by
  • 如何让 RabbitMQ 具有可扩展性?

    我尝试测试RabbitMQ 但发现rabbitmq存在一些问题 如果我创建了一个包含 3 个节点的集群 我无法发布 交付超过 6000 s 另一方面 如果我使用一个节点 我可以发布 交付直到 25000 s 这意味着 添加的节点越多 性能就
  • cmap、vmin、vmax 内部做什么(matplotlib)?

    假设我使用 matplotlib 的 imshow 显示图像 如下所示 plt imshow IMG cmap hot vmin 0 20 vmax 0 90 where IMG是一个二维灰度图像 数据类型为 float64 数据值在 0
  • Android - 如何绘制2个方向的渐变?

    我开始使用渐变 我发现绘制 1 向渐变非常容易 例如从上到下 从左到右 或对角线 但如何绘制 2 向渐变 我的意思是这样的 大蓝色矩形是 2 向渐变 右上角是蓝色 左侧转变为白色 底部转变为黑色 这个要怎么画呢 答案是 你必须组合2个不同的
  • WasapiLoopbackCapture 内部音频识别在没有音频时给出乱码和文本

    我终于构建了一个程序来使用 NAudio 监听内部音频环回 并输出识别的文本 问题是它会听 并且总是说 例如 Recognized text had Recognized text had Recognized text had Recog
  • iOS应用程序更改仅适用于iPhone

    我们有一个应用程序作为通用应用程序提交 支持所有设备 iPad 和 iPhone 但我们不再希望它在商店中显示为 iPad 应用程序 我们希望它只是 iPhone 专用应用程序 这个应用程序是用Appcelerator构建的 所以我已经更改
  • reactjs.net - 渲染时是否需要react-text标签?

    我一直在关注这个教程http reactjs net getting started tutorial html一切都很好 但是在最终的输出源中 我得到以下注释标签 为什么文本包裹在react text标签 它们是必需的标签吗 为什么它们出
  • 何时更喜欢 JSON 而不是 XML?

    我的要求只是在跨页上显示从数据库检索到的一组值 我正在使用jquery 当满足以下任一条件时 优先选择 XML 而不是 JSON 您需要消息验证 您正在使用 XSLT 您的消息包含大量标记文本 您需要与不支持 JSON 的环境进行互操作 当
  • 尝试引用活动工作簿中的另一个工作表

    我试图在单击命令按钮时使另一个工作表处于活动状态 但我仍保留在同一个活动工作簿中 Sub Submit Warranty Set warranty data worksheet as active page Sheets Sheet2 Ac
  • 基于 pandas 数据框 python 同一列中的先前值的条件替换

    感觉我几乎到处都看过了 我知道这可能是非常简单的事情 我正在使用 pandas 数据框 并希望根据同一列中的数据填充 替换其中一列中的数据 我通常更喜欢使用 Excel 而且 Excel 非常简单 如果我们有 df pd DataFrame
  • 访问 python 超类属性时遇到问题[重复]

    这个问题在这里已经有答案了 我有两个类 大致采用以下形式 class Foo def init self foo self foo foo class Bar Foo def bar self print self foo 当我尝试调用ba
  • AWS Lambda 和 python numpy 模块

    我正在尝试在 aws lambda 中导入 python 部署包 python代码使用numpy 我按照虚拟环境的部署包说明进行操作 但它仍然给出 Missing required dependency numpy 我按照上给出的指示进行操
  • JspWriter 和 PrintWriter 有什么区别?

    JspWriter 和 PrintWriter 之间有什么区别 来自javadoc 这个抽象类模拟 java io BufferedWriter 和 java io PrintWriter 类中的一些功能 但不同之处在于它从打印方法中抛出
  • Flexbox 子项可以有溢出滚动条吗?

    我想使用CSS3 弹性盒模型创建跨设备布局并发现HugoGiraudel 的一个很好的布局示例我用它作为起点 布局基本上是这样的 HTML 的结构如下 div class wrapper div