2009-09-24 46 views
6

我是新來的html,並且使用了很多希伯來文。我遇到了這個問題,這讓我覺得我誤解了一些東西。使用<span>添加方向(dir =「rtl」)

至於據我所知,元素沒有效果,但它確實允許添加樣式。

然而,試圖做到這一點:

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

似乎並沒有爲我工作(迪爾沒有效果)。

使用< div dir =「rtl」>,另一方面,工作正常。

那麼......爲什麼不是<範圍>的工作?據我的理解,我正在使用<範圍>爲其目的:添加樣式。當我使用它來添加顏色時它工作正常......爲什麼不這樣做?

感謝您的任何見解! Edan

P.S.經過一些測試後,我還發現如果我圍繞文本<p>(在<範圍內>),則目錄確實生效。但在那種情況下,爲什麼我不會只使用< p dir =「rtl」> ......整個想法是我不想想要任何元素,只是爲了樣式化一些東西。

+0

感謝您的括號修復哈珀。猜猜我不應該忘記校對:) – 2009-09-24 19:07:54

+1

''2年內沒有人注意到任何東西? Jeez; dir是一個CSS指令。您需要爲您的跨度創建一個類/ id,併爲該類/ id分配「rtl」。 – yPhil 2011-12-20 12:47:20

回答

13

dir對跨度有影響,但跨度不會與您期望的一致,僅包含其內容。
無論如何,如果以點結束它,您將看到span的效果 - 它將位於左側,而不是右側。
Div是一個display:block元素,意味着它填充整個寬度 - 這就是爲什麼文本可以在其中對齊。 Spandisplay:inline,所以它坐在文本,作爲一個字母(在一個簡單的方法)
(順便說一句 - 它被認爲是無效的有inline元素內block元素)

這裏的工作演示(公告最後一個是在右邊):Test right to left, div and span

+0

試了一下,看起來就是這樣的區別:span rtl的內容,而div也會rtl「位置」。 – 2009-09-24 19:20:45

1

不同之處在於span是一個內聯元素,而且dir不適用於內聯元素(高度和位置不一樣)。它適用於div等的原因是那些是塊元素。所以你會想使用一個塊元素來設置你的文本方向。