有没有办法使用CSS根据语言来设置文本样式?
例如,字体Tahoma在阿拉伯文本中被广泛使用,但是当使用相同的文本大小时,英文文本的大小非常小。
因此,当我们在阿拉伯文本中有一些英文文本时,是否有办法自动检测文本语言的变化,然后使用更大的字体大小来显示英文文本?
谢谢。
有没有办法使用CSS根据语言来设置文本样式?
例如,字体Tahoma在阿拉伯文本中被广泛使用,但是当使用相同的文本大小时,英文文本的大小非常小。
因此,当我们在阿拉伯文本中有一些英文文本时,是否有办法自动检测文本语言的变化,然后使用更大的字体大小来显示英文文本?
谢谢。
match(/^[a-z]+$/i)
)(尽管这并不能保证文本是英语)。appears-english
,然后像这样使用CSS:.appears-english { font-size: 120% }
。var divs = document.getElementsByTagName('div');
for (var i = 0, divsLength = divs.length; i < divsLength; i++) {
var div = divs[i];
if (div.firstChild.nodeValue.match(/^[a-z]+$/)) {
div.className += 'appears-english';
}
}
.appears-english {
font-size: 170%;
}
jsFiddle中的代码无法匹配数字,你可以通过将正则表达式中的[a-z]
改为\w
来匹配数字、字母和下划线。
另外,如果你想更新包含阿拉伯字符的元素中的英文字符,你需要使用replace()
并用span
元素包裹它们,然后添加appears-english
类名。