3

CSS は双方向性がありますか、それともスタイルシートは本質的にスクリプトの方向 (RTL と LTR) に関連付けられていますか?

つまり、1 つのスタイルシートで、左から右 (英語) と右から左 (ヘブライ語) の両方の言語に対応できますか?

もしそうなら、考慮すべきガイドラインは何ですか?

いいえの場合、ltr スタイルシートを rtl に変換するにはどうすればよいですか?

4

3 に答える 3

2

以前、CSSJanusを使用して、ltr スタイルシートを rtl に変換しました。これはコマンド ライン ツールとして提供されるため、アプリケーションをビルドするたびに実行でき、ファイルの 1 つのバージョンを維持するだけで済みます。変換は、すべての float: left を float: right に切り替えます (および background-position などの他のいくつかの推測しにくいプロパティ)。方向を設定することを忘れないでください: ltr; デフォルトのスタイルシートに!

うまくいくことを願っています!

于 2009-10-06T19:17:15.903 に答える
0

RTL スタイルと LTR スタイルの両方をサポートするために単一のスタイルシートを使用することはお勧めしません。大きな CSS ファイルをダウンロードして、その半分だけをページで使用します。

これを行いたい場合は、たとえば('rtl' と 'ltr') などのクラスを html タグに追加し、以下のようにスタイルシートで使用できます。

.ltr .class {padding-left:10px;}
.rtl .class {padding-right:10px;}

このチュートリアルをチェックして、LTR ページを「RTL」する方法を知ることができます。

于 2010-08-02T09:37:13.177 に答える
0

特殊な変数のセット を持つ iGoogle で使用されているアプローチを検討することもできます__BIDI_START_EDGE__, __BIDI_END_EDGE__, __BIDI_DIR__, and __BIDI_REVERSE_DIR__。margin-left のようなものを書く代わりに、 CSS ルールを通常どおりに記述しますmargin-__BIDI_START_EDGE__。次に、スタイル シートと方向 (ltr または rtl) を受け取り、必要に応じて変数に "left"、"right"、"ltr"、および "rtl" の値を入力するサーバー側コードを少し記述します。

これにより、単一のファイルを提供することはできませんが、非常に堅牢であり、反転させたくないものは文字通り「左」または「右」で記述できるという利点があります。

( OpenAjaxIDE メーリング リストからのこのメールを参照してください。このメールには、「IBM のローカリゼーション エキスパートが OpenSocial の BIDI 機能を高く評価しています」とあり、OpenAjax プロジェクトに BIDI 機能を採用することが提案されています。)

于 2009-10-07T00:14:53.317 に答える