所以我已经阅读了一些css语言标签的建议,但似乎所有内容都需要将语言放在标签中。我无法更改韩语语言的html标签,它与英语具有相同的h1标签。这是因为它是同一网站的翻译版本。
我希望韩文版的字体和字体大小与英文不同。我能通过了解语言来做到这一点吗?我发现一些其他问题涉及使用@ font-face {}的unicode范围,一,我无法弄清楚韩国的unicode范围,我试着查看所有文档,但我只是不理解unicode范围是如何计算的并写。另外,我希望有一个选项,
h1{
unicode-range: korean;
font-size: 10px;
}
h1{
unicode-range: english;
font-size 20px;
}
可以这样做吗?
谢谢!
答案 0 :(得分:15)
在您的情况下,lang
标记上设置了html
属性,因此您可以根据规则设置所需的所有元素:
html:lang(en) h1{
font-size: 20px;
}
html:lang(ko) h1{
font-size: 10px;
}
但要小心,只有IE8 +支持:lang
伪类。如果您需要IE7 +中的支持,最好的选择是使用此类型的语法:a[lang="en"]
。
答案 1 :(得分:4)
如果在HTML中设置lang
属性以更改样式,则可以使用CSS :lang
伪类。例如see demo或以下代码:
<强> CSS 强>
:lang(en) {
font-size:20px;
}
:lang(fr) {
font-size:10px;
}
<强> HTML 强>
<p lang="en">Lorem</p>
<p lang="fr">Lorem</p>
答案 2 :(得分:2)
这可能会有所帮助:http://billposer.org/Linguistics/Computation/UnicodeRanges.html
您正在寻找 Hangul ,这是“韩国字母,也称为韩文,[nb 1]或Chosongul”
此致
答案 3 :(得分:0)
更改语言选择
上的样式表<body onload="set_style_from_cookie()">
//style sheet
<link rel="stylesheet" type="text/css" title="korean"
href="http://example.com/css/korean.css">
<link rel="alternate stylesheet" type="text/css" title="english"
href="http://example.com/css/english.css">
//form to select language using button
<form>
<input type="submit"
onclick="switch_style('korean');return false;"
name="theme" value="korean Language" id="korean">
<input type="submit"
onclick="switch_style('english');return false;"
name="theme" value="english language" id="english">
</form>
//javascript
<script>
// *** TO BE CUSTOMISED ***
var style_cookie_name = "style" ;
var style_cookie_duration = 30 ;
// *** END OF CUSTOMISABLE SECTION ***
function switch_style ( css_title )
{
var i, link_tag ;
for (i = 0, link_tag = document.getElementsByTagName("link") ;
i < link_tag.length ; i++ ) {
if ((link_tag[i].rel.indexOf( "stylesheet" ) != -1) &&
link_tag[i].title) {
link_tag[i].disabled = true ;
if (link_tag[i].title == css_title) {
link_tag[i].disabled = false ;
}
}
set_cookie( style_cookie_name, css_title,
style_cookie_duration );
}
}
function set_style_from_cookie()
{
var css_title = get_cookie( style_cookie_name );
if (css_title.length) {
switch_style( css_title );
}
}
function set_cookie ( cookie_name, cookie_value,
lifespan_in_days, valid_domain )
{
var domain_string = valid_domain ?
("; domain=" + valid_domain) : '' ;
document.cookie = cookie_name +
"=" + encodeURIComponent( cookie_value ) +
"; max-age=" + 60 * 60 *
24 * lifespan_in_days +
"; path=/" + domain_string ;
}
function get_cookie ( cookie_name )
{
var cookie_string = document.cookie ;
if (cookie_string.length != 0) {
var cookie_value = cookie_string.match (
'(^|;)[\s]*' +
cookie_name +
'=([^;]*)' );
return decodeURIComponent ( cookie_value[2] ) ;
}
return '' ;
}
</script>
答案 4 :(得分:0)
你可以使用类似的东西:
h1[lang=en] {
font-size: 10px;
}
h1[lang=kr] {
font-size: 14px;
}
或者如果您只想指定lang=""
一次,而不是每个元素都可以指定
#content[lang=en] h1 {
}
#content[lang=en] p {
}
#content[lang=kr] h1 {
}
#content[lang=kr] p {
}
答案 5 :(得分:0)
如果您使用某种动态语言作为网站的服务器端,则只需根据区域设置进行动态CSS加载。
E.g。你在css文件夹中有以下内容:
style.css // this is the default
style_en_US.css
style_ko_KR.css
因此,您可以将全局设置与特定于语言环境的设置分开,并可以轻松动态地加载所需的样式。
如果你有一个静态HTML页面,你可以让JavaScript动态加载CSS,或者你可以使用
:lang
其他人也指出伪类。
无论您选择何种解决方案,请务必密切关注浏览器兼容性。
注意:通常情况下,让用户明确选择他/她的首选区域设置是一种更好的解决方案,而不是根据客户端的系统信息自动设置区域设置。