Respostas:
3 - Não importa.
MAS, eu tendo a usar apenas <span>
dentro de uma <a>
se for apenas para uma parte do conteúdo da tag, ou seja,
<a href="#">some <span class="red">text</span></a>
Ao invés de:
<a href="#"><span class="red">some text</span></a>
O que obviamente deveria ser:
<a href="#" class="red">some text</a>
É perfeitamente válido (pelo menos para os padrões HTML 4.01 e XHTML 1.0) aninhar um <span>
dentro de um <a>
ou um <a>
dentro de a <span>
.
Só para provar a si mesmo, você sempre pode verificar no W3C MarkUp Validation Service
Tentei 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>
E também o mesmo que acima, mas com o <a>
interior do<span>
ie
<span><a href="http://www.google.com">Google</a></span>
com ambos os tipos de documentos HTML 4.01 e XHTML 1.0, e ambos passaram na validação com sucesso!
A única coisa que você deve estar ciente é garantir que você feche as tags na ordem correta. Portanto, se você começar com um <span>
depois um <a>
, certifique-se de fechar a <a>
tag antes de fechar o <span>
e vice-versa.
Não importa - ambos são permitidos dentro um do outro.
Depende de para que serve o período. Se se referir ao texto do link, e não ao fato de ser um link, escolha # 1. Se a extensão se referir ao link como um todo, escolha # 2. A menos que você explique o que a extensão representa, não há muito mais resposta do que isso. Ambos são elementos embutidos, podem ser sintaticamente aninhados em qualquer ordem.
Pode ser importante se, por exemplo, você estiver usando alguma fonte de ícone de classificação. Eu tive isso agora com:
<span class="fa fa-print fa-3x"><a href="some_link"></a></span>
Normalmente, eu colocaria o intervalo dentro do A, mas o estilo não entraria em vigor até trocá-lo.