添加对RTL(右到左)语言的支持,涉及到覆写横向的样式,可以通过级联和基于相对的样式表进行命名来实现.对RTL样式表的包含是自动完成的.基于站点语言的设置来决定是否包含RTL样式表.
例如,在核心主题Garland中, "style.css"是主样式表.而对于从右到左的语言,比如阿拉伯语或希伯来语,它将会包含"style-rtl.css".对两个样式表的加载次序是,首先加载主样式,然后加载RTL样式.这允许后者对前者的覆盖,从而在主样式中,不用担心RTL样式表中所需要考虑的特殊性.
这里有一个编码标准,用来管理规则.依赖于横向定位或者纬度的规则,应该带有注释 /*LTR */以指示该属性是特定于从左到右布局的.这包括floats, margins, padding,等等.内置文本应该自动浮动,而主题则通过"page.tpl.php"模板设置文档的语言.
例如 基样式:
ul.primary-links {
margin-top: 1em;
padding: 0 1em 0 0; /* LTR */
float: left; /* LTR */
position: relative;
}
相应的RTL样式:
ul.primary-links {
padding: 0 0 0 1em;
float: right;
}
由于和主CSS文件一起使用,这使得可以非常容易的指出在RTL样式中,哪些地方需要修改.
注意,如果你的主体覆写一个模块的样式,那么与之关联的RTL样式将被忽略,除非你明确的对其进行声明.
原文:http://drupal.org/node/222782
译者:葛红儒, Think in Drupal