asp.net 基于RTL或LTR语言自动设置方向和文本对齐

roejwanj  于 2023-08-08  发布在  .NET
关注(0)|答案(2)|浏览(114)

我们可以为body标签设置direction属性,以指示rtlltr的方向。类似地,我们可以为单个元素设置text-align属性。
有没有什么方法可以最大限度地减少或集中编码工作,以设计一个可以支持LTR(英语)和RTL(阿拉伯语)语言的应用程序。没关系,我可以为两个方向编写单独的css,但是在这些css之间切换的最佳方法是什么(例如,在主页面加载事件中)?
还有一个例外情况,比如在英语中,我需要网格的第一列显示为text-align:left(它包含文本),但其余列应该显示为text-align:left,因为这些列包含数值。同样,阿拉伯语的情况也将相反。

vwhgwdsa

vwhgwdsa1#

您可以将<body>下的元素作为目标,其中direction设置为特定值,如下所示:

body span { text-align: left } /* default value */
body[direction="rtl"] span { text-align: right } /* override for rtl languages */

字符串
但是,如果你有很多元素使用text-align,这可能会让你感到厌烦。也许你可以使用相同的方法为text-align创建一个类:

.aligned { text-align: left }
body[direction="rtl"] .aligned { text-align: right }


最后,对于更复杂的情况,您可能会发现RTLCSS很有用:
RTLCSS是一个用于将从左到右(LTR)层叠样式表(CSS)转换为从右到左(RTL)的框架。

368yc8dk

368yc8dk2#

如果你使用text-align: starttext-align: end,它会自动执行以下操作:
start如果方向是从左到右,则与left相同;如果方向是从右到左,则与right相同。
end如果方向是从左到右,则与右相同;如果方向是从右到左,则与左相同。
https://developer.mozilla.org/en-US/docs/Web/CSS/text-align

相关问题