代码之家  ›  专栏  ›  技术社区  ›  Edan Maor

使用<span>添加方向(dir=“rtl”)

  •  6
  • Edan Maor  · 技术社区  · 15 年前

    我不熟悉HTML,而且经常使用希伯来语。我遇到了这个问题,这让我觉得我误解了一些事情。

    正如我所知,元素没有任何效果,但它允许添加样式。

    但是,尝试这样做:

    <span dir="rtl"> some text that should be rtl'ed </span>
    

    似乎不适合我(目录没有效果)。

    另一方面,使用<DIV dir=“rtl”>,效果很好。

    所以…为什么<SPAN>不起作用?据我所知,我使用<SPAN>的目的正是:添加样式。当我用它来添加颜色的时候,效果很好…为什么不呢?

    感谢您的洞察力! 关卓键

    P.S.在一些测试之后,我还发现,如果我用<P>(在<SPAN>中)包围文本,那么目录 生效。但在这种情况下,我为什么不直接使用<p dir=“rtl”>…整个想法是我不 希望 任何元素,只是为了设计风格。

    2 回复  |  直到 6 年前
        1
  •  13
  •   Kobi    7 年前

    dir 对范围有影响,但范围不会如您预期的那样右对齐,只对齐其内容。
    你会看到效果 span 如果你以一个圆点结束它-圆点将放在左边,而不是右边。
    div是一个 display:block 元素,表示它填充整个宽度-这就是为什么文本可以在其中对齐。 Span display:inline 所以它就放在文本中,类似于一封信(以一种简单的方式)。
    (顺便说一句-有一个 block 元素内部 inline 元素)

    这是一个有效的演示。注意最后一个分区在右边:

    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>
        2
  •  1
  •   Dan Davies Brackett    15 年前

    区别在于 span 是一个内联元素,dir不应用于内联元素(与高度和位置不同)。它与DIV等一起工作的原因是那些是块元素。因此,您需要使用块元素来设置文本方向。