首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设置元素的语言属性会导致儿童中unicode字符风格的错误

设置元素的语言属性会导致儿童中unicode字符风格的错误
EN

Stack Overflow用户
提问于 2019-08-19 12:42:40
回答 1查看 48关注 0票数 1

问:如果使用unicode字符,是否有适当的方法来设置页面语言,使其不会导致大量的样式回归?或者有一个简单的解决方案,不需要在整个css中分散一堆:lang伪选择器,这是一个效率很低的解决方案吗?我还有其他一些不吸引人的想法:停止使用unicode字符,而使用图标。在我们庞大而成熟的代码库中,这并不容易。

更新:下面是一个新的可运行示例。似乎只有一些unicode字符有这个问题,而且只有一些字体。

代码语言:javascript
运行
复制
body {
  font-family: serif;
}
代码语言:javascript
运行
复制
<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).

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-19 16:03:07

来自规格说明

用户代理可以使用元素的语言来确定适当的处理或呈现(例如在选择适当的字体或发音、字典选择或表单控件(如日期选择器)的用户界面中)。

您要求为您提供一种适合于呈现简体中文的字体,browser/OS做到了,而且这种字体(至少在您的系统上)具有不同的字形。

我建议把你感兴趣的符号分别包装在一个单独的标签上,用它来覆盖字体,使之最合适(也许是一种CSS字体,用来精确控制大小/风格),并将它作为一个极好的机会,给它们以某种形式的备选文本/标题,因为就我个人而言,我已经不知道在你的例子中,圆圈是俱乐部还是钻石,因为在我所知道的任何解释中,音乐音符看起来都不像这两种风格的任何一种。

代码语言:javascript
运行
复制
body {
  font-family: serif;
}
abbr.ico {
  font-family: sans-serif;
}
代码语言:javascript
运行
复制
<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>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57557008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档