CSS样式表可以双向吗?

时间:2009-10-06 19:11:06

标签: html css internationalization hebrew

CSS可以是双向的,还是一个与脚本方向固有的样式表(RTL与LTR)?

即。一个和一个样式表可以用于从左到右(英语)和从右到左(希伯来语)的语言吗?

如果是这样,需要考虑哪些指导原则?

如果不是,如何将ltr样式表转换为rtl?

3 个答案:

答案 0 :(得分:2)

我之前使用CSSJanus将ltr样式表转换为rtl。它作为一个命令行工具,这意味着我可以在每次构建应用程序时运行它,只需要维护一个版本的文件。转换将所有浮动:左转为浮动:右转(以及其他一些难以猜测的属性,如背景位置)。别忘了设定方向:ltr;在您的默认样式表中!

希望你能开始工作!

答案 1 :(得分:0)

您可以考虑采用iGoogle使用的方法,该方法有a set of special variables __BIDI_START_EDGE__, __BIDI_END_EDGE__, __BIDI_DIR__, and __BIDI_REVERSE_DIR__。你像往常一样编写你的CSS规则,除了写一些像margin-left之类的内容你写margin-__BIDI_START_EDGE__。然后编写一些服务器端代码,其中包含样式表和方向(ltr或rtl),并根据需要使用值“left”,“right”,“ltr”和“rtl”填充变量。

这不允许您提供单个文件,但它非常强大,并且它的优势在于您不想翻转的任何内容都可以使用文字“左”或“右”来编写。< / p>

(参见this email from the OpenAjaxIDE mailing list,其中说“IBM的本地化专家对OpenSocial中的BIDI功能表示赞同”,并建议将其用于OpenAjax项目。)

答案 2 :(得分:0)

我不建议使用单个样式表来支持RTL和LTR样式。您将下载一个大型CSS文件,只在页面中使用一半。

虽然如果你想这样做,你可以在html标签中添加一个类,例如('rtl'和'ltr'),并在样式表中使用,如下所示:

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

您可以查看此tutorial以了解如何'RTL'LTR页面。