css - Chrome 中的 HTML 标签断字

标签 css google-chrome line-breaks

将 Google Chrome 更新到最新版本后,我的 HTML 文档中的所有标签都有不需要的分词符。看看这个 fiddle :http://jsfiddle.net/hc9avcd3/

它应该是这样的(旧版 chrome 的屏幕截图):

enter image description here

虽然灰色的div有width: 100%标签上有 width: auto , 但这是它在 chrome 上的样子(新版 Chrome 的屏幕截图):

enter image description here

  • ltr 没问题和英文标签。

  • 表格和 <p>元素也有这个问题。

我该如何解决这个问题?我也得到 ERR_CACHE_MISS每次打开文档时都会出错。

而且我没有启用任何扩展或附加组件。

最佳答案

这似乎是 Chrome 中 float 元素中从右到左文本的布局算法中的一个错误。这不依赖于 direction 设置;如果您删除 direction: rtl,文本仍会在 Chrome 中换行。阿拉伯字母固有的方向性仍然会导致从右到左的布局,这会以某种方式让 Chrome 将文本分成两行,即使它可以很好地适合一行。

这个问题可以简化为只有一个 p 元素 float 的简单情况:

body {
    font-size: 14px;
    font-family: Tahoma, Geneva, sans-serif;
}
p {
    float: right;
}
<p>
    سلام سلام سلام سلام سلام سلام سلام
</p>

在其他浏览器中,文本显示在一行中。在 Chrome 中,它会被拆分。奇怪的是,这取决于字体大小。如果将其更改为 15px,则文本不会拆分。

为了避免这个错误,不要使用 float 。在给定的情况下,将 div 元素的内容设置为右对齐可能就足够了:

body {
    margin: 0px;
    font-size: 14px;
    font-family: Tahoma, Geneva, sans-serif;
}
div {
    padding: 5px;
    text-align: right;
    background-color: #E7E7E7;
}
<div>
    <label>سلام سلام سلام سلام سلام سلام سلام</label>
</div>

关于css - Chrome 中的 HTML 标签断字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26491036/

相关文章:

google-chrome - Chrome扩展程序在扩展程序上吗?

javascript - 平滑的鼠标滚轮滚动

Java,删除字符串缓冲区中的文本和换行符

css - 无法将背景图像添加到 Django 站点中的 div

css - 如何编辑导航栏以使背景不可见?

css - 从 Visual Studio 编辑时 Chrome 中的实时 CSS 更新

python - 基于用户参数的输出格式

CSS padding 自动换行

html - flex 空间之​​间不起作用

html - 在网站内容上方定位一个 Div,使用位置 :relative