16

だから私はcss言語タグでいくつかの提案を読みましたが、すべてが高度なタグに言語を配置する必要があるようです. 韓国語の周りの html タグを変更できません。英語と同じ h1 タグがあります。同じサイトの翻訳版だからです。

韓国語版のフォントとフォントサイズを英語版とは変えたいです。言語を知っているだけでこれを行うことはできますか?@font-face { } を使用したユニコード範囲を扱う他の質問をいくつか見つけました。たとえば、韓国語のユニコード範囲がわかりません。すべてのドキュメントを調べてみましたが、ユニコード範囲がどのように計算されるかを理解していませんと書かれています。また、次のようなオプションがあることを望んでいました。

h1{
unicode-range: korean;
font-size: 10px;
}

h1{
unicode-range: english;
font-size 20px;
}

これはできますか?

ありがとう!

4

6 に答える 6

18

あなたの場合、lang属性はhtmlタグに設定されているため、ルールを使用してそれに基づいて必要なすべての要素をスタイルできます。

html:lang(en) h1{
    font-size: 20px;
}

html:lang(ko) h1{
    font-size: 10px;
}

ただし、:lang疑似クラスは IE8+ でのみサポートされていることに注意してください。IE7+ でのサポートが必要な場合は、次のタイプの構文を使用することをお勧めします: a[lang="en"].

于 2013-03-07T09:34:15.093 に答える
5

HTMLで属性を設定してスタイルを変更する場合は、CSS:lang疑似クラスを使用できます。langたとえば、デモまたは次のコードを参照してください。

CSS

:lang(en) {
    font-size:20px;
}

:lang(fr) {
    font-size:10px;
}

HTML

<p lang="en">Lorem</p>
<p lang="fr">Lorem</p>
于 2013-03-07T09:28:43.230 に答える
2

これは役に立つかもしれません: http://billposer.org/Linguistics/Computation/UnicodeRanges.html

「ハングル、[nb 1] または Chosongul とも呼ばれる韓国語のアルファベット」であるハングルを探しています。

よろしく

于 2013-03-07T09:30:00.953 に答える
1

Web サイトのサーバー側として動的言語を使用している場合は、ロケールに基づいて動的 CSS をロードするだけです。

たとえば、css フォルダーには次のようなものがあります。

style.css        // this is the default
style_en_US.css
style_ko_KR.css

そのため、グローバル設定をロケール固有の設定から分離し、必要なスタイルを簡単に動的にロードできます。

代わりに静的な HTML ページがある場合は、JavaScript を使用して CSS を動的にロードするか、

:lang

他の人も指摘した疑似クラス。

どのソリューションを選択する場合でも、ブラウザーの互換性に注意してください。

注: 多くの場合、クライアントのシステム情報に基づいてロケールを自動的に設定するのではなく、ユーザーに優先ロケールを明示的に選択させる方が適切なソリューションです。

于 2013-03-07T09:35:30.140 に答える
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>
于 2013-03-07T09:30:06.400 に答える
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 {

}
于 2013-03-07T09:31:08.883 に答える