如何让 Flexbox (flex-grow) 在调整大小时考虑内容?

2023-12-29

当两个元素都在使用时,如何让 Flexbox 停止平衡同级元素中的空间flex-grow: 1。这很难预先解释,因此这里是代码,后面是问题的示例屏幕截图以及所需的行为。

.Parent {
  display: flex;
  flex-direction: column;
  background-color: lightcoral;
  width: 400px;
  min-height: 200px;
}

.Parent>div {
  flex: 1;
}

.child1 {
  background-color: lightblue;
}

.child2 {
  background-color: lightgreen;
}
<div class="Parent">
  <div class="child1">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam sagittis lorem at odio euismod tincidunt. Proin aliquet velit nec augue venenatis laoreet. Etiam nec metus mi. Aliquam sit amet velit non lectus porttitor accumsan sit amet egestas risus.</div>
  <div class="child2">Lorem ipsum</div>
</div>

问题:

Notice the equal space under the content of each div. enter image description here

Desired:

When there is little content in the children divs, the divs should be of equal height: enter image description here

When one of the divs has a lot of content, I would expect the div with more content to only be as tall as the content (if it passes the original flex grow allotment). enter image description here

我怎样才能得到这种行为?看来使用 Flexbox 应该很容易。


flex-basis是您正在寻找的房产。https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis

Flex-basis CSS 属性指定 Flex 基础,它是 Flex 项目的初始主要大小。除非使用 box-sizing 另有指定,否则此属性确定内容框的大小。

默认情况下,flex在计算时会考虑元素中的内容flex-grow- 要禁用它,只需指定flex-basis: 0

.Parent {
  display: flex;
  flex-direction: column;
  background-color: lightcoral;
  width: 400px;
  min-height: 200px;
}

.Parent>div {
  flex-grow: 1;
  flex-basis: 0;
}

.child1 {
  background-color: lightblue;
}

.child2 {
  background-color: lightgreen;
}
<div class="Parent">
  <div class="child1">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam sagittis lorem at odio euismod tincidunt. Proin aliquet velit nec augue venenatis laoreet. Etiam nec metus mi. Aliquam sit amet velit non lectus porttitor accumsan sit amet egestas risus. Etiam nec metus mi. Aliquam sit amet velit non lectus porttitor accumsan sit amet egestas risus </div>
  <div class="child2">Lorem ipsum</div>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 Flexbox (flex-grow) 在调整大小时考虑内容? 的相关文章

随机推荐

  • svn merge --dry-run 显示 svn diff

    我正在使用一个代码库 历史上 是手动合并的 而不是通过svn merge 我试图通过向每个人证明合并是多么有用来改变这一点 但当我进行空运行时 我得到了这个 svn merge Repo URL c 21355 21358 21364 21
  • 如何提高 Google 语音识别对分隔数字的准确性

    我们将此图像提供给我们的用户 在此输入图像描述 https i stack imgur com 2jkBp jpg 这张图片代表单独的数字 我们所有的用户都会在麦克风中将其读为 11 0 9 5 我们使用 Google Speech Eng
  • ASP.NET Core 3.0 [FromBody] 字符串内容返回“JSON 值无法转换为 System.String”。

    Using FromBody 上的字符串内容ApiController在 ASP NET Core 3 0 中返回验证错误 type https tools ietf org html rfc7231 section 6 5 1 title
  • 如何在一行中将输入流重定向到输出流?

    我想做这个 cout lt lt cin 而不是这个 int x cin gt gt x cout lt
  • 整个计算机的文件观察器(替代方案?)

    我想编写一个应用程序来获取整个计算机上每个文件更改的事件 以在文件位置 权限和我的应用程序的数据库之间进行同步 我正在考虑使用 net filewatcher 类 但经过一些测试后我发现了以下限制 1 文件观察器有一个缓冲区 http ms
  • C 中的 String.indexOf 函数

    是否有 C 库函数可以返回字符串中字符的索引 到目前为止 我发现的只是像 strstr 这样的函数 它将返回找到的 char 而不是它在原始字符串中的位置 strstr返回指向找到的字符的指针 因此您可以使用指针算术 注意 此代码未测试其编
  • 找不到使用 sqlplus 控制台创建的目录

    我使用 SQLPlus 控制台创建了一个目录 但在文件系统上找不到它 这是我使用的命令 SQL gt create directory secfile as opt oracle Directory created 我查看了我的 Oracl
  • ModuleNotFoundError:没有名为“django.utils.six”的模块[重复]

    这个问题在这里已经有答案了 HTTP GET admin 500 0 00 127 0 0 1 51425 回溯 最近一次调用最后一次 文件 C Program Files x86 Microsoft Visual Studio Share
  • 在 UnhandledException 上显示消息对话框

    在我的应用程序中 我想在出现任何未处理的异常时显示消息对话框 但当抛出未处理的异常时 似乎没有出现对话框消息 显示消息弹出窗口是否有效 另外在 MSDN 文档中我没有找到太多相关信息 以下是我正在使用的测试代码 public App thi
  • 如何判断元素是否具有流体宽度[重复]

    这个问题在这里已经有答案了 可能的重复 使用 JavaScript 确定元素是否具有固定宽度或百分比宽度 https stackoverflow com questions 1782566 determine whether element
  • “InMemoryUploadedFile”对象没有属性“encode”

    我正在尝试在 Django 中发送一封带有附件的电子邮件 文件是request FILE file 对象 InMemoryUploadedFile 类型 我通过创建消息EmailMessage 然后附加文件message attach f
  • R 中的数据框和列表有什么区别?

    有什么区别数据框 and list in R 什么时候应该使用哪一个 哪个更容易循环 确切的问题 我必须首先存储 3 个字符串元素 如 a b c 稍后 对于其中的每一个 我都需要附加 3 个元素 例如 对于 a 我必须添加 a1 a2 a
  • 合并两个数据框,其中一列根据条件匹配

    模拟数据 set seed 1 df1 lt data frame country c US UK year c 2000 2003 df2 lt data frame country rep c US UK 10 year rep 200
  • java.lang.RuntimeException:无法实例化活动 ComponentInfo

    我试图运行示例代码 在 android 1 5 模拟器中启动应用程序时 我遇到了这些错误 有人有一些提示吗 来自 LogCat 的错误 01 13 02 28 08 392 ERROR AndroidRuntime 2888 FATAL E
  • Android JUnit 首选项测试

    一个相当正常的场景 Android 应用程序有一个首选项活动 从 ListPreference 中选择一个选项会触发代码来更改该 ListPreference 的摘要文本 即 从颜色 ListPreference 中选择 绿色 将通过以下方
  • 在 Python 3 中运行时更改 stdin / stdout 的编码

    在Python 3中 stdin and stdout是具有编码的 TextIOWrappers 因此会输出普通字符串 而不是字节 我可以更改与环境变量一起使用的编码Python编码 http docs python org py3k us
  • 无法运行已发布的 Blazor WebAssembly 应用程序

    当我在 Visual Studio 调试器中运行该应用程序时 它运行得很好 但如果我将其部署到服务器 我会在浏览器控制台中收到此错误 无法在资源 完整性 属性中找到有效的摘要http example com pwaexperiment ww
  • Azure AD - 检索本地 AD 组公用名

    我有一个应用程序需要根据其本地 AD 通用名称来过滤权限 几点注意事项 Azure AD Connect 正在 OnPrem AD 和 Azure 之间同步数据 我成功地将登录用户的组信息从 Azure Graph API 检索到 Web
  • 在 MySQL 中仅检索固定数量的行

    我正在负载下测试我的数据库设计 我只需要检索固定数量的行 5000 我可以指定 LIMIT 来实现此目的 但是查询似乎会构建所有匹配行的结果集 然后仅返回限制中指定的行数 是这样实施的吗 MySQL 是否可以读取一行 读取另一行 并在检索到
  • 如何让 Flexbox (flex-grow) 在调整大小时考虑内容?

    当两个元素都在使用时 如何让 Flexbox 停止平衡同级元素中的空间flex grow 1 这很难预先解释 因此这里是代码 后面是问题的示例屏幕截图以及所需的行为 Parent display flex flex direction co