问:如果使用unicode字符,是否有适当的方法来设置页面语言,使其不会导致大量的样式回归?或者有一个简单的解决方案,不需要在整个css中分散一堆:lang伪选择器,这是一个效率很低的解决方案吗?我还有其他一些不吸引人的想法:停止使用unicode字符,而使用图标。在我们庞大而成熟的代码库中,这并不容易。
更新:下面是一个新的可运行示例。似乎只有一些unicode字符有这个问题,而且只有一些字体。
body {
font-family: serif;
}<h3>Blackjack advice (Unicode dabblings)</h3>
<p lang="en-US">If you draw ♤, alway hit</p>
<p lang="zh-Hans">如果你画 ♤,总是打</p>
<p lang="en-US">If you draw ●, alway hit</p>
<p lang="zh-Hans">如果你画 ●,总是打</p>
<p lang="en-US">If you draw ❦, alway hit</p>
<p lang="zh-Hans">如果你画 ❦,总是打</p>
<p lang="en-US">If you draw , alway hit</p>
<p lang="zh-Hans">如果你画 ,总是打</p>
Why is ● so large in Chinese? Interestingly, changing font-family to sans-serif normalizes the size (at least in my current context, Chrome/Windows).
发布于 2019-08-19 16:03:07
来自规格说明
用户代理可以使用元素的语言来确定适当的处理或呈现(例如在选择适当的字体或发音、字典选择或表单控件(如日期选择器)的用户界面中)。
您要求为您提供一种适合于呈现简体中文的字体,browser/OS做到了,而且这种字体(至少在您的系统上)具有不同的●字形。
我建议把你感兴趣的符号分别包装在一个单独的标签上,用它来覆盖字体,使之最合适(也许是一种CSS字体,用来精确控制大小/风格),并将它作为一个极好的机会,给它们以某种形式的备选文本/标题,因为就我个人而言,我已经不知道在你的例子中,圆圈是俱乐部还是钻石,因为在我所知道的任何解释中,音乐音符看起来都不像这两种风格的任何一种。
body {
font-family: serif;
}
abbr.ico {
font-family: sans-serif;
}<h3>Blackjack advice (Unicode dabblings)</h3>
<p lang="en-US">If you draw ●, alway hit</p>
<p lang="ru-RU">Если вам попался ●, ходите</p>
<p lang="zh-Hans">If you draw ●, alway hit</p>
<p lang="zh-Hans">如果你画 ●,总是打
<br>If you draw ●, alway hit</p>
<p lang="en-US">If you draw <abbr class="ico" title="a circle?">●</abbr>, alway hit</p>
<p lang="zh-Hans">如果你画 <abbr class="ico" title="a circle?">●</abbr>,总是打</p>
https://stackoverflow.com/questions/57557008
复制相似问题