Html 基于rtl或ltr语言自动设置方向和文本对齐

Html 基于rtl或ltr语言自动设置方向和文本对齐,html,css,asp.net,Html,Css,Asp.net,我们可以为body标记设置direction属性,以指示方向rtl到ltr。同样,我们可以为单个元素设置文本对齐属性 是否有任何方法可以最大限度地减少或集中编码工作,以设计一个既支持LTR(英语)又支持RTL(阿拉伯语)语言的应用程序。 没关系,我可以为两个方向编写单独的css,但是在这些css之间切换的最佳方式是什么(例如,在母版页加载事件中) 还有一个例外情况,比如在英语中,我需要网格的第一列显示为text align:left(它包含文本),但其余的列应该显示为text align:lef

我们可以为
body
标记设置
direction
属性,以指示方向
rtl
ltr
。同样,我们可以为单个元素设置
文本对齐
属性

是否有任何方法可以最大限度地减少或集中编码工作,以设计一个既支持
LTR
(英语)又支持
RTL
(阿拉伯语)语言的应用程序。 没关系,我可以为两个方向编写单独的css,但是在这些css之间切换的最佳方式是什么(例如,在母版页加载事件中)


还有一个例外情况,比如在英语中,我需要网格的第一列显示为
text align:left
(它包含文本),但其余的列应该显示为
text align:left
,因为这些列包含数值。同样,阿拉伯语的情况也将相反

您可以在
下定位元素,其中方向设置为特定值,如下所示:

body span { text-align: left } /* default value */
body[direction="rtl"] span { text-align: right } /* override for rtl languages */
但是,如果有很多元素使用文本对齐,这可能会让人厌烦。也许您可以使用相同的方法为
文本对齐创建一个类:

.aligned { text-align: left }
body[direction="rtl"] .aligned { text-align: right }
最后,对于更复杂的情况,您可能会发现:

RTLCSS是一个用于从左到右(LTR)级联转换的框架 样式表(CSS)从右到左(RTL)


谢谢@daylan,离我要找的东西足够近了。似乎我不必为RTL和LTR创建单独的css文件,我可以在一个文件中编写css设计,并基于属性选择器进行左右对齐。