平均分配固定大小容器的空间。 Flexbox 的案例?

2024-06-02

如何设计 HTML/CSS 结构,将固定大小的容器水平分成三部分。第一部分的高度应与其内容需求一样高。第二部分和第三部分将共享剩余的空间五五十——无论它们的内容如何。如果其内容的大小超过此限制,则该部分应该是可滚动的。

它的 HTML 部分很简单:Adiv容器有三个div就像孩子一样。

我尝试用 flexbox 来解决这个问题 - 但是可能有更好的选择:

CSS部分:

#container {
  position: absolute;
  width: 100%; height: 100%;
  display: flex;
  flex-direction: column;
}

#item1 { flex: 0 0 auto; }
#item2 { flex: 1 1 auto; }
#item3 { flex: 1 1 auto; }

不幸的是,这仅在第 2 项或第 3 项的内容不太大时才有效。

See 这把小提琴 https://jsfiddle.net/2vjktkfa/1/有关问题的更详细的实现。

body {
  margin: 0;
  overflow: hidden;
}
* {
  box-sizing: border-box;
}
#container {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 2px solid green;
  display: flex;
  flex-direction: column;
}
#item1 {
  flex: 0 0 auto;
  background-color: Bisque;
}
#item2 {
  flex: 1 1 auto;
  background-color: DarkOrange;
}
#item3 {
  flex: 1 1 auto;
  background-color: MediumAquaMarine;
}
<div id="container">
  <div id="item1">I'll be as tall as my content takes.</div>
  <div id="item2">From the rest, I'll take exactly 50%. No matter how short or long my content is. If needed there should be scrollbars.</div>
  <div id="item3">I'll take the other 50% of the rest!
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
    <br>right?
  </div>
</div>

是的,你可以使用弹性。这是对您的代码的一点改进。 Item1 不需要有 Flex 规则,而 item2 和 item3 将有flex: 1.

我还添加了overflow-y: auto;规则使其可滚动。

Example https://jsfiddle.net/2vjktkfa/2/

#item1 {background-color: Bisque ; }
#item2 { flex: 1; background-color: DarkOrange ; overflow-y: auto;}
#item3 { flex: 1; background-color: MediumAquaMarine ; overflow-y: auto;}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

平均分配固定大小容器的空间。 Flexbox 的案例? 的相关文章

  • 为民意调查结果创建彩色条

    在我的网络应用程序中 我想用彩色条显示民意调查结果 其长度与选票百分比成正比 如何使用 HTML CSS 实现此目的 该网站包含一些很好的示例 http apples to oranges com blog post css for bar
  • CSS 向后/反向过渡

    我想知道是否有任何方法可以使用相同的 CSS 过渡实例来向前移动然后向后 反向移动 例如 假设我有这样的转变 webkit keyframes fade transition from opacity 0 to opacity 1 以及这次
  • 使用 javascript 加载不同的 CSS 样式表

    我需要使用 javascript 根据正在传递的 URL 变量加载不同的样式表 场景是这样的 我们需要使用一个 CSS 样式表和一个不同的样式表来维护一个移动网站 当通过 iOS 应用程序中加载的 Web 视图访问该页面时 该样式表将用于设
  • 在 ASP.NET Core 2 中的layout.cshtml 中使用和路由Less 文件

    我用过管理部分的模板 引导管理模板 https github com puikinsh Bootstrap Admin Template在我的项目中并安装它Bower我已经申请了ASP NET Core 2 当我运行该项目时 我收到一个错误
  • Firefox 在构建页面时使白色“闪烁”

    我一直致力于构建一个带有 Flash 幻灯片组件的网站 但我有点困惑 当我在 Firefox 3 6 8 中查看该页面时 它似乎首先下载该页面的内容 并在下载幻灯片时发出白色 闪烁 但是当我在 Safari 中查看页面时 它似乎首先构建页面
  • 子 div 超出父 div 范围

    目前我正在使用 CSS 和 HTML 等设计一个网站 但是我遇到了一个问题 当我向子级添加浮动时 我的子级 div 超出了父级 div 的范围 该网站位于此处我的网页设计 http 7sisters in test mintbite 更加详
  • 在画布中心写入 (0,0)-HTML5

    I m currently developing a drawing app which allows the user to click and drag to determine the size of the shape and al
  • PHPExcel - 如何使用 preg_replace 替换文本

    我正在使用 PHPExcel 将数据库中的数据提取到组织好的 Excel 工作表中 除了一件事之外 一切都运转良好 我的数据库条目有时可能包含 HTML 标记 例如 strong strong br p p 等等 所以我设法让这个 PHP
  • 更改打开的下拉菜单上向上箭头的颜色

    我正在使用 twitter bootstrap 2 0 1 我正在尝试更改下拉菜单的颜色 我已经设法改变了本身掉落的容器的颜色 但是我似乎找不到箭头来自哪里 有人知道我在哪里可以找到箭头来自的代码 以及如何更改它的颜色 箭头代码可以在lin
  • 使用 CSS 在浏览器中滚动时更改标题的大小和内容

    知道如何制作这里看到的东西吗http studiompls com case studies crown maple http studiompls com case studies crown maple 标题变小 徽标更改为不同的按钮
  • 在 Javascript 中隐藏按钮

    在我最新的程序中 有一个按钮 单击时会显示一些输入弹出框 这些框消失后 如何隐藏按钮 You can set its visibility财产 http www w3schools com cssref pr class visibilit
  • 为什么视口宽度与实际显示宽度不匹配?

    Chrome 显示我的视口宽度为 1280px 然而 我的实际显示分辨率是2560x1600px 我使用的机器是13 3英寸的MacBook Pro 为什么视口不是 2560px 宽 使用没有任何区别 my display settings
  • 滚动条宽度:细在 Firefox 中不起作用

    我刚刚在 Firefox 67 中实现了新的 css 滚动条颜色和滚动条宽度 滚动条宽度不起作用 无论我将其设置为自动 细化还是无 它都会显示相同的宽度 我想要它薄 但它不薄 我是这样实现的 root scrollbar color rgb
  • 在 Bootstrap 选择器上使用 jQuery 取消选择选项

    我对一些 UI 元素使用 Bootstrap SelectPicker 它允许用户选择多个选项并将其呈现在段落标签中的屏幕上 他们还应该能够删除选定的选项 这是我的代码 用于将选定的选项渲染到屏幕上 以便每个选项旁边都会显示一个 X 单击它
  • css bootstrap 下拉菜单在 IE 中看起来不同

    我正在使用CSS引导程序3 2 0 http getbootstrap com css 然而 当在 IE 中查看该网站时 菜单选项周围有一个黑色边框 而且下拉菜单按钮看起来也有所不同 如果您查看该网站http getbootstrap co
  • Javascript - HTML Canvas 上的 Gecko 边框半径自适应(CSS border-radius)

    我试图弄清楚如何将 border radius css 属性的行为重现到 HTML 画布中 所以我已经在 J avascript 中做了一些事情 以便使用特定的半径 对于每个角 来计算给定形状的正确边界 如果需要的话 这是上一个问题 Gec
  • 单击即可切换背景颜色和过渡

    这看起来应该很容易 但我真的找不到办法做到这一点 动画 http doir ir css gif http doir ir css gif 当您单击这些相应的链接时 我需要更改和过渡页面的背景颜色 我见过的最接近触发这种类型转换的事情是 仅
  • 如何在网页上显示进度条直到网页完全加载?

    我想在网页中显示进度条 加载弹出窗口 直到页面完全加载 我的网页很重 因为它包含一个 HTML 编辑器 这是一个基于 jQuery 的 HTML 编辑器 需要很多时间才能完全加载 在加载时 我希望在页面上显示一个进度条 该进度条将在整个页面
  • Android:Html 锚链接仅在 Web 视图中有效一次

    在使用锚链接加载 html 内容时 我在 webview 中遇到一些奇怪的问题 以下代码非常适合锚标记 但是只有一次 第二次当我按下锚标签时不工作 protected void onCreate Bundle savedInstanceSt
  • CSS 链接图像带有下划线(“a”显示设置为阻止)

    我有一个菜单 我希望每个单独的项目中文本周围的所有空间都能将用户带到指定的页面 我在网上查了一下 发现最好的解决方案是将 a 显示设置为阻止 如下 a display block height 100 text decoration und

随机推荐