【发布时间】:2023-03-24 09:40:01
【问题描述】:
如果我给一个元素 white-space: nowrap 的所有子元素,则空白不会在 webkit 中应该在的元素之间中断(和闪烁):
.pairs {
width: 180px;
overflow: hidden;
}
.pairs > span {
white-space: nowrap;
}
<div class="pairs">
<span>
<strong>bread:</strong>
<em>crust</em>
</span>
<span>
<strong>watermelon:</strong>
<em>rind</em>
</span>
...
</div>
CSS 的目的是将单词对保持在一起,但允许文本在 <span> 元素之间中断。这在 IE 和 FireFox 中按预期工作。
但是,在基于 Webkit 的浏览器(safari、chrome、opera)中,不是将过长的跨度推送到下一行,而是将跨度截断。
这是 webkit(和闪烁)中的一个错误,对吗?有解决办法吗?
【问题讨论】:
-
文本被换行,正如您在小提琴和屏幕截图中看到的那样:第 3 个
span被换行到下一行,然后第 5 个换行到新行。这似乎是 Chrome 包装方式中的一个错误,而不是根本不包装。似乎它没有正确计算元素的宽度。剪裁当然是由oveflow: hidden声明引起的。
标签: css google-chrome webkit blink