html direction
Cómo forzar que una parte del texto sea ''direction ltr'' dentro de un párrafo ''direction rtl'' (3)
Entonces, los números de teléfono siempre son ltr (de izquierda a derecha).
Trabajando en un sitio web multilingüe, necesito insertar un número de teléfono (con un prefijo ''+'' y los números separados por ''-'') dentro de un párrafo de texto que tiene la dirección rtl (para idiomas relevantes, por supuesto)
Así que tengo algo como esto:
.ltr #test {direction:ltr}
.rtl #test {direction:rtl}
#phone {direction:ltr}
<div class="ltr"><p id="test">Please call to <span id="phone">+44-123-321</span> for some help.</p></div>
<div class="rtl"><p id="test">Please call to <span id="phone">+44-123-321</span> for some help.</p></div>
Por supuesto, esto no funciona porque la '' direction
'' solo funciona para elementos de bloque y '' span
'' es un elemento en línea. Necesito que el número de teléfono esté dentro del párrafo, así que no puedo cambiar '' span
'' a '' display:inline
''
Estoy siendo claro?
¿Cómo hacer que funcione?
Intenta agregar #phone {direction:ltr; display:inline-block}
#phone {direction:ltr; display:inline-block}
Otra opción podría ser usar dir=''ltr''
atributo dir=''ltr''
, en su elemento en línea:
<p id="text">Please call to <span dir=''ltr''>+44-123-321</span> for some help</p>
Tenga en cuenta que incluyendo ‎
en su HTML es tan malo como usar dir=''ltr''
atributo dir=''ltr''
.
Puede usar un marcador de dirección de Unicode justo antes del signo +
para darle al algoritmo la sugerencia que necesita.
Estos son:
LTR: 0x200E
RTL: 0x200F
Asi que:
<p id="text">Please call to <span id="phone">‏+44-123-321</span> for some help</p>
Ver this respuesta SO para más detalles.