css-grid 和 `fr` 单元不适用于 `overflow-wrap: break-word`

css-grid and `fr` unit does not work with `overflow-wrap: break-word`

我有一个 grid 容器,它具有固定宽度和包含单个单词的单行和单列。当我使用 fr 单位来调整列的大小时, overflow-wrap: break-word 不会换行导致列中的单词溢出。

据我和 docs 的理解,如果没有可接受的断点,overflow-wrap: break-word 应该在任何时候中断以防止溢出。

似乎有两件事可以解决这个问题。一种是为列大小设置 px 单位。其次是在文本容器上使用 overflow: hidden。我在 Chrome(v73) 和 Firefox(v66) 上观察到相同的行为。

有人知道这种行为背后的原因吗?

https://jsfiddle.net/vdx90qeg/2/

<div class="container">
  <div class="item1">
    someverylongword
  </div>
</div>
.container {
  display: grid;
  grid-template-columns: 1fr;
  /*using 'px' instead of 'fr' works */
  grid-template-areas: "item1";
  width: 80px;
  border: 1px solid black;
}

.item1 {
  grid-area: "item1";
  overflow-wrap: break-word;
  /* overflow: hidden; */
  /* works when uncommented */
}

看起来这个问题与 https://css-tricks.com/preventing-a-grid-blowout/ 解决的问题非常相似

将列设置为 minmax(0, 1fr),而不仅仅是 1fr。这种方法为列提供了默认为 auto 的最小宽度。目标是将列从无限大小的容器转变为确定大小的容器。

codepen link: https://codepen.io/thissushiguy/pen/mYdxjb