Respuestas:
3 - No importa.
PERO, tiendo a usar solo un <span>
interior <a>
si es solo para una parte del contenido de la etiqueta, es decir
<a href="#">some <span class="red">text</span></a>
Más bien que:
<a href="#"><span class="red">some text</span></a>
Que obviamente debería ser:
<a href="#" class="red">some text</a>
Es perfectamente válido (al menos según los estándares HTML 4.01 y XHTML 1.0) anidar un <span>
inside a <a>
o un <a>
inside a <span>
.
Solo para demostrárselo a usted mismo, siempre puede consultarlo en el Servicio de validación de marcado W3C
Intenté validar:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Title</title>
</head>
<body>
<p>
<a href="http://www.google.com/"><span>Google</span></a>
</p>
</body>
</html>
Y también lo mismo que el anterior, pero con el <a>
interior del<span>
es decir
<span><a href="http://www.google.com">Google</a></span>
con los tipos de documento HTML 4.01 y XHTML 1.0, ¡y ambos pasaron la validación con éxito!
Lo único que debe tener en cuenta es asegurarse de cerrar las etiquetas en el orden correcto. Por lo tanto, si comienza con una, <span>
luego una <a>
, asegúrese de cerrar la <a>
etiqueta primero antes de cerrar <span>
y viceversa.
No importa, ambos están permitidos el uno dentro del otro.
Depende de para qué sea el tramo. Si se refiere al texto del enlace y no al hecho de que es un enlace, elija el número 1. Si el intervalo se refiere al enlace como un todo, elija el número 2. A menos que explique lo que representa el intervalo, no hay mucha más respuesta que esa. Ambos son elementos en línea, se pueden anidar sintácticamente en cualquier orden.
Puede importar si, por ejemplo, está utilizando algún tipo de fuente de iconos. Acabo de tener esto con:
<span class="fa fa-print fa-3x"><a href="some_link"></a></span>
Normalmente, pondría el tramo dentro de la A, pero el estilo no surtió efecto hasta que lo cambié.
Funcionará a ambos, pero personalmente prefiero la opción 2 para que el intervalo esté "alrededor" del enlace.