html根据DIRECTION设置更改元素的水平对齐

html changing horizontal align of elements depending on the DIRECTION setting

本文关键字:元素 水平 对齐 根据 DIRECTION 设置 html      更新时间:2023-09-26

我有一个支持所有语言的网站,包括RTL(希伯来语、阿拉伯语、波斯语等)。这些应用程序是使用AngularJS、Bootstrap和JavaScript开发的。

通过设置dir="auto",我可以正确显示文本(英语为LTR,阿拉伯语为RTL)。我的问题是元素的对齐。

假设您需要显示一个列表。当语言是英语时,列表会显示:

- Entry 1; this is with a short tail,
- Entry 2; no tail,
- Entry 3; this is with a tail that is longer than the one of the 1st entry

如果这个列表是阿拉伯语的,它看起来如下:

دخول 1؛ هذا هو الحال مع ذيل قصير -
دخول 2؛ بلا ذيل، -
دخول 3؛ هذا هو الحال مع ذيل أطول من واحد من دخول 1ST - 

显然应该像一样正确对齐

                         دخول 1؛ هذا هو الحال مع ذيل قصير -
                                           دخول 2؛ بلا ذيل، -
    دخول 3؛ هذا هو الحال مع ذيل أطول من واحد من دخول 1ST - 

(我向所有讲阿拉伯的人道歉,但我不是你们中的一员,也使用过谷歌翻译,所以我不知道翻译的质量如何)。

那么,有没有一种方法可以测试内容的字符集并设置horizontal-align:lefthorizontal-align:right

希望我的问题很清楚。。。

提前谢谢。

我找到了一个解决方案。有关于正在接收的数据的语言的指示。然后我将div设置为:

<div .... style="text-align:{{User_This_Align}}">
...

在控制器中,根据数据的语言将变量$scope.User_This_Align设置为"left"或"right"。

(这依赖于Angular的数据绑定功能)。

感谢那些发表评论的人。

这很简单。您所要做的就是将以下内容放入一个css文件中:

文本对齐:右;---------------将其与右侧对齐

文本对齐:左;---------------将其与左侧对齐

文本对齐:居中;---------------在的中心对齐

首先尝试在课堂上给出指导。(参考W3学校的CSS方向属性)然后根据所选语言使用ng类更改方向。