2009-09-24 15 views
6

Soy nuevo en html y uso mucho hebreo. Me encontré con este problema, lo que me hace pensar que estoy malinterpretando algo.Usando <span> para agregar una dirección (dir = "rtl")

Por lo que sé, el elemento no tiene ningún efecto, pero permite agregar estilo.

Sin embargo, tratando de hacer esto:

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

no parece funcionar para mí (el directorio no tiene efecto).

El uso de < div dir = "rtl" >, por otro lado, funciona bien.

Entonces ... ¿por qué no está trabajando el <span>? En mi opinión, estoy usando <span> para exactamente su propósito: agregar estilo. Funciona bien cuando lo uso para agregar color ... ¿por qué no para esto?

¡Gracias por cualquier idea! Edan

P.S. Después de algunas pruebas, también descubrí que si rodeo el texto con <p> (dentro del intervalo < >), entonces el toma surta efecto. Pero en ese caso, ¿por qué no debería simplemente usar < p dir = "rtl" > ... la idea es que yo no quiero ningún elemento, solo para darle un estilo a algo.

+0

Gracias por los corchetes arreglar Harper. Supongo que no debería olvidar revisar ... :) –

+1

'' ¿En 2 años nadie notó nada? Por Dios! dir es una directiva CSS. Necesita crear una clase/id para su span, y una regla que asigne "rtl" a la clase/id. – yPhil

Respuesta

13

dir tiene efecto en un tramo, pero un tramo no se alineará a la derecha como espera, solo su contenido.
De todos modos, verá el efecto para span si lo termina con un punto: estará en el lado izquierdo y no en el derecho.
Div es un elemento display:block, lo que significa que ocupa todo el ancho; por eso el texto se puede alinear en él. Span es display:inline, por lo que es sentarse en el texto, como una carta (de una manera simplista)
(por cierto - se considera no válida para tener un elemento block dentro de un elemento inline)

Es una demostración de trabajo aquí (aviso el último está muy a la derecha): Test right to left, div and span

+0

Lo probé, parece que esa es la diferencia: span rtl es el contenido, mientras que div también llamará a la "posición". –

1

La diferencia es que span es un elemento en línea, y dir no se aplica a los elementos en línea (de la misma manera que la altura y la posición no). La razón por la que funciona con div y demás es que esos son elementos de bloque. Por lo tanto, querrá usar un elemento de bloque para establecer la dirección del texto.

Cuestiones relacionadas