小编mam*_*zie的帖子

flex 容器内的 `white-space: nowrap` 只增长到文本的宽度,就好像它被包裹一样

我正在尝试实现一个 flexbox 布局,其工作方式如下:

  • 一个flex-direction: row包含两个子项的flexbox 容器。

  • 父级的大小应仅与容纳子级所需的一样大(通过 实现display: inline-flex)。

  • 子项包含不同长度的文本,不换行(即全部在一行上)。

  • 孩子的宽度应该完全相同,这是两个文本中最宽的宽度。这非常重要,并且排除了 的使用flex-basis: auto,因为这将导致两个文本的长度不同而不是完全相同。

为了使孩子的宽度完全相同,由两者中的最大者决定,我使用flex: 1 0 0px.

布局完全按预期工作,除了文本似乎只增长到宽度,好像它没有white-space: nowrap! 我创建的这个 codepen的以下屏幕截图说明了这个问题:

显示有和没有空格会发生什么:nowrap

有没有办法在没有换行的情况下实现这种确切的行为?我知道我可以做一些类似添加固定宽度的事情,但我想知道这是否可以使用 flexbox 动态实现(始终增长到任意文本的正确宽度)。

谢谢

.parent {
  display: inline-flex;
  margin-bottom: 60px;
}

.child {
  flex: 1 0 0px;
  padding: 20px;
}

.nowrap {
  white-space: nowrap;
  overflow: hidden;
}

.left {
  background-color: #89e7dc;
}

.right {
  background-color: #e7cc89;
}
Run Code Online (Sandbox Code Playgroud)
<p>In the first example, when the text is allowed …
Run Code Online (Sandbox Code Playgroud)

css nowrap flexbox css-grid

2
推荐指数
1
解决办法
128
查看次数

标签 统计

css ×1

css-grid ×1

flexbox ×1

nowrap ×1