"Right to left" 不同方向跨度的顺序
"Right to left" order of different directioned spans
我有以下 html:
<div dir="rtl">
<span>"arabic 1"</span>
<span>"عربي 2"</span>
<span>"arabic 3"</span>
<span>"arabic 4"</span>
</div>
我想做的就是让这些 spans
以相同的顺序从右到左出现,因为它们主要包含阿拉伯语文本,但也可能包含任何其他语言..
我更喜欢 CSS 解决方案而不是 html 属性(为了更灵活)
使用flexboxes,可以将父元素的显示设置为flex
,然后添加flex-direction: row-reverse
来反转元素的顺序;
.parent {
display: flex;
flex-direction: row-reverse;
}
<div class="parent">
<span>"arabic 1"</span>
<span>"عربي 2"</span>
<span>"arabic 3"</span>
<span>"arabic 4"</span>
</div>
或者,在某些情况下,您也可以将元素向右浮动:
.parent span {
float: right;
}
<div class="parent">
<span>"arabic 1"</span>
<span>"عربي 2"</span>
<span>"arabic 3"</span>
<span>"arabic 4"</span>
</div>
还值得指出的是,还有一个 direction
属性。您可以将值设置为 rtl
... 但这与您拥有的 direction="rtl"
属性相同。
.parent {
direction: rtl;
}
<div class="parent">
<span>"arabic 1"</span>
<span>"عربي 2"</span>
<span>"arabic 3"</span>
<span>"arabic 4"</span>
</div>
span
元素默认为 unicode-bidi
属性 的值 normal
。这实际上意味着连续的 span
元素在双向格式中被视为一个单元。在示例中,最后两个 span
元素仅包含拉丁字母、空格、数字和 Ascii 引号,因此它们将被视为一个字符串 "arabic 3" "arabic 4"
,因此将从左到右呈现.
如果在 span
元素上设置 unicode-bidi: embed
,它们将被视为根据 direction
属性 设置的布局方向(即由其父级的 HTML dir
属性隐式设置。
<style>
span { unicode-bidi: embed; }
</style>
<div dir="rtl">
<span>"arabic 1"</span>
<span>"عربي 2"</span>
<span>"arabic 3"</span>
<span>"arabic 4"</span>
</div>
我有以下 html:
<div dir="rtl">
<span>"arabic 1"</span>
<span>"عربي 2"</span>
<span>"arabic 3"</span>
<span>"arabic 4"</span>
</div>
我想做的就是让这些 spans
以相同的顺序从右到左出现,因为它们主要包含阿拉伯语文本,但也可能包含任何其他语言..
我更喜欢 CSS 解决方案而不是 html 属性(为了更灵活)
使用flexboxes,可以将父元素的显示设置为flex
,然后添加flex-direction: row-reverse
来反转元素的顺序;
.parent {
display: flex;
flex-direction: row-reverse;
}
<div class="parent">
<span>"arabic 1"</span>
<span>"عربي 2"</span>
<span>"arabic 3"</span>
<span>"arabic 4"</span>
</div>
或者,在某些情况下,您也可以将元素向右浮动:
.parent span {
float: right;
}
<div class="parent">
<span>"arabic 1"</span>
<span>"عربي 2"</span>
<span>"arabic 3"</span>
<span>"arabic 4"</span>
</div>
还值得指出的是,还有一个 direction
属性。您可以将值设置为 rtl
... 但这与您拥有的 direction="rtl"
属性相同。
.parent {
direction: rtl;
}
<div class="parent">
<span>"arabic 1"</span>
<span>"عربي 2"</span>
<span>"arabic 3"</span>
<span>"arabic 4"</span>
</div>
span
元素默认为 unicode-bidi
属性 的值 normal
。这实际上意味着连续的 span
元素在双向格式中被视为一个单元。在示例中,最后两个 span
元素仅包含拉丁字母、空格、数字和 Ascii 引号,因此它们将被视为一个字符串 "arabic 3" "arabic 4"
,因此将从左到右呈现.
如果在 span
元素上设置 unicode-bidi: embed
,它们将被视为根据 direction
属性 设置的布局方向(即由其父级的 HTML dir
属性隐式设置。
<style>
span { unicode-bidi: embed; }
</style>
<div dir="rtl">
<span>"arabic 1"</span>
<span>"عربي 2"</span>
<span>"arabic 3"</span>
<span>"arabic 4"</span>
</div>