【发布时间】:2019-05-05 04:31:16
【问题描述】:
我有一个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 */
}
【问题讨论】:
-
添加
min-width: 0或overflow属性而不是 visible 可解决此问题(grid item 的默认min-width或min-height是自动)...见stackoverflow.com/questions/55773596 -
是的,它也可以修复它,将
minmax(0, 1fr)设置为列也是如此。但我仍然不明白为什么overflow-wrap没有被考虑在内。
标签: css overflow css-grid word-wrap