当前位置: 首页 > 知识库问答 >
问题:

防止flexbox的子项溢出父项?[副本]

薛承基
2023-03-14

JSFIDLE

如何阻止flexbox的子项溢出容器?

  • 我不希望溢出设置为隐藏

超文本标记语言

<div>
  <form>
    <input type="text">
    <input type="submit">
  </form>
</div>

CSS:

div {
  background: gold;
  width: 120px;
}

form {
  display: flex;
}

input[type='text'] {
    ??
}

input[type='submit'] {
    ??
}

共有1个答案

顾跃
2023-03-14

CSS输入很难调整,因为它们是被替换的元素。您必须覆盖操作系统中的某些默认样式:

 input {
    min-width:0;
    flex: 1 1 0;
 }

上述代码将使它们的宽度相等(从0的弹性基础开始,并彼此相等地增长)。你可能不想那样。

如果希望其中一个按比例比另一个大,可以将其更改为:

input[type='text'] {
    flex: 2 1 0;
}

input[type='submit'] {
    flex: 1 1 0;
}

这使得文本输入以两倍于提交按钮的速度增长。i、 e.-文本元素占2/3,提交按钮占1/3。

 类似资料:
  • 我正在玩flexbox,我的flex项似乎溢出了它的父容器。我能做些什么来确保它能呆在它的范围内? 抱歉,它有点长:) 但我正试图垂直列出一些控件,我想在一行上订购两个控件<因此,UL以一个灵活的方向(柱)和LI的方向(水平)保存所有内容 但是,即使控件嵌套在具有设置宽度的div中,它们仍然在其边缘上运行。有谁能给我一些建议,说明我应该做些什么:)<谢谢!

  • 我试图找出如何使列表中的最后一个flex项不扩展到容器的底部。它有一个contenteditable div,当有人输入多行文本时,我需要将其展开。 主要的灵活项目是一列中的3个div,标题栏宽度为100%,内容容器宽度为100%,有增长和收缩,页脚是灵活的,应该会导致内部容器收缩。 目前,当你在div.detail聊天输入中输入多行文本时,它确实会向上扩展,但也会向下推按钮。 这样地:

  • 我正在开发一个web应用程序,它显示了一个巨大的卡片网格,其高度本质上是可变的。 为了美观起见,我们使用jQuery的来均衡每行卡片的高度。 它的性能没有得到很好的扩展,所以今天我一直在迁移到一个基于flex box的解决方案,它的速度要快得多。 然而,我失去了一个行为——如果卡头的内容不合适,应该用省略号将其截断。 目标: 3列 列宽度变化以填充父 行间距不变 高度在一排内相等 如何安排容器大小

  • 我有以下的布局在脑海中的一个列表。每个列表项由两列表示。第二列应该占用所有可用空间,但是如果第一列占用太多空间,它应该以最小大小固定在右边。然后,第一列应显示省略号。 问题发生在最后一个案例中。当第一列包含太多文本时,它不会显示省略号,而是将自身从flexbox中伸出,从而显示水平滚动条,而第二列不会定位到右侧。 我想让它呈现如下(模型): 我怎样才能做到这一点? 这是提琴样品。

  • 问题 阻止类似按钮的内容会导致我的flex项目展开并溢出flexbox容器。 预期行为 在本例中,按钮应与按钮文本并排,并用省略号隐藏。flex项的宽度应基于兄弟项而非内容,并在容器更改宽度和添加或删除flex项时保持在容器内的响应性。另一个警告是,对于我的特定场景,我不能在flex项或buttons父div上使用overflow:hidden。 这是小提琴手。 例Html 示例CSS 编辑:现在

  • 问题内容: 我将以下布局考虑在内。每个列表项由两列表示。第二列应占用所有可用空间,但 如果第一列占用太多空间,则应以最小大小将其固定在右侧。第一栏应显示省略号。 问题在最后一种情况下发生。当第一列包含太多文本时,它没有显示省略号,而是将其自身拉伸到弹性框之外,从而导致出现水平滚动条,而第二列则没有锚定在右侧。 问题答案: 更新 添加有效的代码: 原始答案/解释。W3C规范说:“ 默认情况下,弹性项