html - Firefox 基于空格的存在强制执行分词属性
问题描述
下面是两个片段。它们唯一的区别是HTML-Whitespace -placement,除了空格之外,它们应该以相同的方式呈现。虽然在 Chrome 中是这种情况,但在 Firefox 中,它们会脱离其父容器。
这提出了两个问题:
- 这是预期的行为还是错误?
- 我怎样才能在这里摆脱 Firefox 的怪癖?
#inner {
width: 300px;
word-break: break-word;
}
.unit {
white-space: nowrap;
}
<div id="inner">
<span class="unit">
<span>Group One:</span>
<span>One</span>
<span>Two</span>
<span>Three</span>
</span>
<span class="unit">
<span>Group Two:</span>
<span>Four</span>
<span>Five</span>
<span>Six</span>
</span>
<span class="unit">
<span>Group Three:</span>
<span>Seven</span>
<span>Eight</span>
<span>Nine</span>
</span>
</div>
#inner {
width: 300px;
word-break: break-word;
}
.unit {
white-space: nowrap;
}
<div id="inner"><span class="unit"><span>Group One:</span><span>One</span><span>Two</span><span>Three</span></span><span class="unit"><span>Group Two:</span><span>Four</span><span>Five</span><span>Six</span></span><span class="unit"><span>Group Three:</span><span>Seven</span><span>Eight</span><span>Nine</span></span></div>
解决方案
使用break-all
代替break-word
并添加inline-block
到单元元素
#inner {
width: 300px;
word-break: break-all;
}
.unit {
display: inline-block;
white-space: nowrap;
}
<div id="inner"><span class="unit"><span>Group One:</span><span>One</span><span>Two</span><span>Three</span></span><span class="unit"><span>Group Two:</span><span>Four</span><span>Five</span><span>Six</span></span><span class="unit"><span>Group Three:</span><span>Seven</span><span>Eight</span><span>Nine</span></span></div>
推荐阅读
- sql - Regexp_replace 返回无效数字
- python-3.x - ValueError:年份超出使用 matplotlib.pyplot 的范围
- javascript - 将整数传递给查询时,NodeJS MySQL返回空数组
- javascript - 在本地地理编码器中访问函数外部变量
- android-studio - 如何在资源布局 xml 文件的组件树中启用/显示设备屏幕?
- ios - 如何在 wkwebview 中打开“window.open”
- java - 我如何测试保存方法?
- jquery - 为什么 select2 没有用最新数据填充控件?
- javascript - Terser 不提供缩小文件
- python - 将字典中的键与字符串匹配。而不是循环字典或字符串单词中的键