Roboto 字体和中断词的错误(在桌面 Chrome)
Bug with Roboto font and break-word (on desktop Chrome)
这似乎是桌面 Chrome 和 Roboto 字体的一个特殊错误。
我在桌面上检测到这个问题:
- beta Chrome 版本 51
- Chrome 53(金丝雀)
问题是,当我的 div
(见下面的 css)小写 rt
时,它以一种非常奇怪的方式显示。
它会自动显示一个奇怪的 "new line" 如图 -
我创建此代码用于演示:
.container {
word-break: break-word;
}
.line {
padding: 5px;
}
.inline-block {
display: inline-block;
padding: 7px 10px;
background-color: #efefef;
border: 1px solid silver;
overflow: auto;
white-space: pre-wrap;
font-family: Roboto;
}
<link href='https://fonts.googleapis.com/css?family=Roboto:400,700&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
<div class="container">
<div class="line">
<div class="inline-block">rt</div>
</div>
<div class="line">
<div class="inline-block">rt rt rt</div>
</div>
<div class="line">
<div class="inline-block">morty</div>
</div>
<div class="line">
<div class="inline-block">mo rty</div>
</div>
<div class="line">
<div class="inline-block">mo Rty</div>
</div>
<div class="line">
<div class="inline-block">mo rTy</div>
</div>
</div>
您可以编写 rt
个字母的其他组合来查看这种奇怪的行为。
顺便说一下 -
- 我的平板电脑或 smart-phone 最新的 Chrome.
没有此类问题
- 我用其他字体没有这样的问题
那么,我怎样才能 disable
这种行为而不改变 css
?
font-kerning: none;
希望不会影响网站设计。
.container {
word-break: break-word;
}
.line {
padding: 5px;
}
.inline-block {
display: inline-block;
padding: 7px 10px;
background-color: #efefef;
border: 1px solid silver;
overflow: auto;
white-space: pre-wrap;
font-family: Roboto;
font-kerning: none;
}
<link href='https://fonts.googleapis.com/css?family=Roboto:400,700&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
<div class="container">
<div class="line">
<div class="inline-block">rt</div>
</div>
<div class="line">
<div class="inline-block">rt rt rt</div>
</div>
<div class="line">
<div class="inline-block">morty</div>
</div>
<div class="line">
<div class="inline-block">mo rty</div>
</div>
<div class="line">
<div class="inline-block">mo Rty</div>
</div>
<div class="line">
<div class="inline-block">mo rTy</div>
</div>
</div>
这似乎是桌面 Chrome 和 Roboto 字体的一个特殊错误。
我在桌面上检测到这个问题:
- beta Chrome 版本 51
- Chrome 53(金丝雀)
问题是,当我的 div
(见下面的 css)小写 rt
时,它以一种非常奇怪的方式显示。
它会自动显示一个奇怪的 "new line" 如图 -
我创建此代码用于演示:
.container {
word-break: break-word;
}
.line {
padding: 5px;
}
.inline-block {
display: inline-block;
padding: 7px 10px;
background-color: #efefef;
border: 1px solid silver;
overflow: auto;
white-space: pre-wrap;
font-family: Roboto;
}
<link href='https://fonts.googleapis.com/css?family=Roboto:400,700&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
<div class="container">
<div class="line">
<div class="inline-block">rt</div>
</div>
<div class="line">
<div class="inline-block">rt rt rt</div>
</div>
<div class="line">
<div class="inline-block">morty</div>
</div>
<div class="line">
<div class="inline-block">mo rty</div>
</div>
<div class="line">
<div class="inline-block">mo Rty</div>
</div>
<div class="line">
<div class="inline-block">mo rTy</div>
</div>
</div>
您可以编写 rt
个字母的其他组合来查看这种奇怪的行为。
顺便说一下 -
- 我的平板电脑或 smart-phone 最新的 Chrome. 没有此类问题
- 我用其他字体没有这样的问题
那么,我怎样才能 disable
这种行为而不改变 css
?
font-kerning: none;
希望不会影响网站设计。
.container {
word-break: break-word;
}
.line {
padding: 5px;
}
.inline-block {
display: inline-block;
padding: 7px 10px;
background-color: #efefef;
border: 1px solid silver;
overflow: auto;
white-space: pre-wrap;
font-family: Roboto;
font-kerning: none;
}
<link href='https://fonts.googleapis.com/css?family=Roboto:400,700&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
<div class="container">
<div class="line">
<div class="inline-block">rt</div>
</div>
<div class="line">
<div class="inline-block">rt rt rt</div>
</div>
<div class="line">
<div class="inline-block">morty</div>
</div>
<div class="line">
<div class="inline-block">mo rty</div>
</div>
<div class="line">
<div class="inline-block">mo Rty</div>
</div>
<div class="line">
<div class="inline-block">mo rTy</div>
</div>
</div>