Antworten:
3 - Es spielt keine Rolle.
ABER ich neige dazu, nur ein <span>
Inside zu verwenden, <a>
wenn es nur für einen Teil des Inhalts des Tags ist, dh
<a href="#">some <span class="red">text</span></a>
Eher, als:
<a href="#"><span class="red">some text</span></a>
Welches sollte natürlich nur sein:
<a href="#" class="red">some text</a>
Es ist absolut gültig (zumindest nach HTML 4.01- und XHTML 1.0-Standards), entweder ein <span>
innerhalb eines <a>
oder eines <a>
innerhalb eines zu verschachteln <span>
.
Um es sich selbst zu beweisen, können Sie es jederzeit beim W3C MarkUp Validation Service überprüfen
Ich habe versucht zu validieren:
<!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>
Und auch das gleiche wie oben, aber mit der <a>
Innenseite der<span>
dh
<span><a href="http://www.google.com">Google</a></span>
mit beiden HTML 4.01- und XHTML 1.0-Doctypes, und beide haben die Validierung erfolgreich bestanden!
Beachten Sie lediglich, dass Sie die Tags in der richtigen Reihenfolge schließen. Wenn Sie also mit einem <span>
Dann beginnen <a>
, stellen Sie sicher, dass Sie das <a>
Tag zuerst schließen, bevor Sie das schließen, <span>
und umgekehrt.
Es spielt keine Rolle - beide sind ineinander erlaubt.
Es hängt davon ab, wofür die Spanne ist. Wenn es sich auf den Text des Links bezieht und nicht auf die Tatsache, dass es sich um einen Link handelt, wählen Sie # 1. Wenn sich die Spanne auf den gesamten Link bezieht, wählen Sie # 2. Wenn Sie nicht erklären, was die Spanne darstellt, gibt es kaum eine bessere Antwort. Sie sind beide Inline-Elemente und können in beliebiger Reihenfolge syntaktisch verschachtelt werden.
Es kann wichtig sein, ob Sie beispielsweise eine Sortiersymbolschrift verwenden. Ich hatte das gerade mit:
<span class="fa fa-print fa-3x"><a href="some_link"></a></span>
Normalerweise würde ich die Spanne in das A setzen, aber das Styling wurde erst wirksam, wenn es vertauscht wurde.
Es wird beides funktionieren, aber ich persönlich würde Option 2 bevorzugen, damit die Spanne "um" den Link liegt.