CSS中,如何指定中文楷体,英文Italic?
如题,中文当中有时用楷体与英文中的Italic部分相对应。
但是如果使用font-style: italic
的话,中文也会跟着变为斜体。
对于一段中英文混排的文字,怎么才能仅使其中的英文部分变为Italic,而中文的效果不变?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
CSS选择器有一个
:lang()
伪类,可以指定特定语言的样式:值得注意的是,CSS只能根据
lang
属性标定好的语言来分配样式,而不能承担语言判断的任务。你需要自己使用各种方法把(和文档语言不一致的)其他语言部分包裹标定好。因为有一点是容易混淆,但必须明确的是:语言和文字其实是两回事。我们中文开发者的确习惯于看到汉字就是汉语,看到A~Z就是英语。但实际上汉字和拉丁字母(A~Z)都只是文字系统,而不是确定语言的标志。
同一套文字系统往往是多语言共享的,这样就造成了拿出一段文字,如果不理解其意义就无法反推出是哪一种语言的结果。例如:
police
可能是英语或法语;文字
(U+6587 5B57)可能是汉语或日语*。说了半天,就是为了说明“CSS和HTML只能标注,而不可能鉴别语言。一个CSS全自动标定英语文本”的想法是不可行的。
也许给拉丁字母一律标注
lang="en"
的步骤可以自动化,但也只好请题主自己动手。* CJK统一表意文字系统保证了中(含各种变体和方言,含简正两种书写系统)、日、韩、越这几个涉及汉字的语言中,只要是字形等同(或可以认为是等同)的同一汉字,就统一编为同一个编码。
这可以保证同一个汉字的同一种字形,不因为语言的不同而被无意义的做出多个编码。
这除了便利性(不言而喻)之外,更有一个额外的优点:维护了文字编码的语言无关性,保证语言是语言,文字是文字,两者不被混淆在一起。
用font-family 来控制, 英文用斜体的字体,中文用常规的