CSS样式表可以是双向的吗?

CSS可以是双向的,或者是与脚本方向(RTL vs. LTR)固有相关的样式表?

也就是说,一个和一个样式表可以从左到右(英语)和从右到左(希伯来语)的语言工作吗?

如果是这样,那么需要考虑哪些准则?

如果不是,一个ltr样式表怎么能转换为rtl?


我以前使用CSSJanus将ltr样式表转换为rtl。 它是一个命令行工具,这意味着我可以在每次构建应用程序时运行它,只需要维护一个文件版本。 转换切换所有float:left:float:right(以及其他一些难以猜测的属性,如background-position)。 不要忘记设置方向:ltr; 在你的默认样式表中!

希望你得到它的工作!


您可以考虑采用iGoogle使用的方法,该方法包含一组特殊变量__BIDI_START_EDGE__, __BIDI_END_EDGE__, __BIDI_DIR__, and __BIDI_REVERSE_DIR__ 。 你像往常一样编写你的CSS规则,除了写一些类似边距的东西外 - 你写了margin-__BIDI_START_EDGE__ 。 然后编写一些服务器端代码,将你的样式表和方向(ltr或rtl)填入变量中,并根据需要用值“left”,“right”,“ltr”和“rtl”填充变量。

这不会让你提供单个文件,但它非常强大,它的优点是你不想被翻转的任何东西都可以用文字“左”或“右”来书写。

(请参阅OpenAjaxIDE邮件列表中的此电子邮件,其中说:“IBM的本地化专家已经对OpenSocial中的BIDI功能给予了赞许”,并建议将它们用于OpenAjax项目。)


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

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

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

您可以查看本教程以了解如何'RTL'LTR页面。

链接地址: http://www.djcxy.com/p/46357.html

上一篇: Can CSS stylesheets be bidirectional?

下一篇: How to convert an Array to a Set in Java