我是html的新手,并且经常使用希伯来语.我遇到了这个问题,这让我觉得我误解了一些事情.
但是,尝试这样做:
<span dir="rtl"> some text that should be rtl'ed </span>
似乎对我不起作用(dir没有效果).
另一方面,使用< div dir =“rtl”>,工作正常.
那么..为什么不是< span>工作?据我所知,我正在使用< span>正是为了它的目的:添加样式.当我使用它来添加颜色时它工作正常…为什么不呢?
感谢您的任何见解!
鹅蛋
附:经过一些测试,我还发现,如果我用< p>包围文本(在< span>内),然后dir生效.但在那种情况下,为什么我不会只使用< p dir =“rtl”> …整个想法是我不想要任何元素,只是为了设计一些东西.
解决方法
dir对跨度有影响,但是跨度不会像您期望的那样与右侧对齐,仅与其内容对齐.
如果以点结尾,您将看到跨度的效果 – 点将放在左侧,而不是右侧.
Div是一个display:block元素,意味着它填充整个宽度 – 这就是为什么文本可以在其中对齐的原因.跨度显示:内联,因此它位于文本中,类似于字母(以简单的方式).
(顺便说一句,在内联元素中有一个块元素被认为是无效的)
如果以点结尾,您将看到跨度的效果 – 点将放在左侧,而不是右侧.
Div是一个display:block元素,意味着它填充整个宽度 – 这就是为什么文本可以在其中对齐的原因.跨度显示:内联,因此它位于文本中,类似于字母(以简单的方式).
(顺便说一句,在内联元素中有一个块元素被认为是无效的)
这是一个有效的演示.请注意,最后一个div位于右侧:
Test right to left,div and span: <br /> <span>(span) Hello World!</span> <br /> <span dir='rtl'>(span rtl) Hello World!</span> <div>(div) Hello World!</div> <div dir='rtl'>(div rtl) Hello World!</div>