【问题标题】:Using <span> to add a direction (dir = "rtl")使用 <span> 添加方向 (dir = "rtl")
【发布时间】:2009-09-24 18:58:50
【问题描述】:

我是 html 新手,经常使用希伯来语。我遇到了这个问题,这让我觉得我误解了什么。

据我所知,该元素没有效果,但确实允许添加样式。

但是,尝试这样做:

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

似乎对我不起作用(目录无效)。

另一方面,使用

效果很好。

那么.. 为什么 不起作用?据我了解,我使用 的目的正是为了:添加样式。当我用它来添加颜色时它工作得很好......为什么不这样做呢?

感谢您的任何见解! 埃丹

附:经过一些测试,我还发现如果我用

(在内)包围文本,那么目录确实生效。但在这种情况下,我为什么不直接使用

...整个想法是我不想要任何元素,只是为了设置样式。

【问题讨论】:

  • 感谢括号修复哈珀。我想我不应该忘记校对:)
  • &lt;span what=what ?&gt; 2 年内没人注意到什么?天哪; dir 是一个 CSS 指令。您需要为您的跨度创建一个类/id,以及将“rtl”分配给类/id 的规则。

标签: html


【解决方案1】:

dir 对跨度有影响,但跨度不会像您期望的那样向右对齐,只有它的内容。
如果您以点结尾,您将看到 span 的效果 - 点将放置在左侧,而不是右侧。
Div 是一个display:block 元素,这意味着它填充了整个宽度——这就是文本可以在其中对齐的原因。 Spandisplay:inline,所以它位于文本中,类似于字母(以简单的方式)。
(顺便说一下 - 在 inline 元素中包含 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>

【讨论】:

  • 试过了,好像就是这样的区别:span rtl 是内容,而 div 也会 rtl 的“位置”。
【解决方案2】:

不同之处在于span 是一个内联元素,而 dir 不适用于内联元素(与高度和位置不一样)。它与 div 等一起工作的原因是这些是块元素。因此,您需要使用块元素来设置文本方向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-26
    • 2014-01-12
    • 1970-01-01
    相关资源
    最近更新 更多