Frage

Welche ist richtig? Dies:

<h2>heading 2</h2>
<p><a href="#" target="_blank" title="Opens in a new window">link 1</a></p>
<h2>heading 2 </h2>
<p><a href="#" target="_blank" title="Opens in a new window">link 2</a></p>
<h2>heading 2 </h2>
<p><a href="#" target="_blank" title="Opens in a new window">link 3</a></p>
<h2>heading 2 </h2>
<p><a href="#" target="_blank" title="Opens in a new window">link 4</a></p>

oder folgt aus:

<h2>heading 2</h2>
<a href="#" target="_blank" title="Opens in a new window">link 1</a>
<h2>heading 2 </h2>
<a href="#" target="_blank" title="Opens in a new window">link 2</a>
<h2>heading 2 </h2>
<a href="#" target="_blank" title="Opens in a new window">link 3</a>
<h2>heading 2 </h2>
<a href="#" target="_blank" title="Opens in a new window">link 4</a>
War es hilfreich?

Lösung

@Jitendra, ich mit Ihrem Punkt einig .. aber nur, wenn Sie mit strict.dtd (HTML / XHTML)
Nach W3C-Empfehlung (für strenge dtd ) .. den Tag <a> muss in einem Blockelement verwendet werden.
Schauen Sie sich das folgende Beispiel:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
   <meta content="text/html; charset=utf-8" http-equiv="content-type"/>
   <title>example</title>
 </head>
 <body>You don't have sufficient privileges to access the page.<a href="www.google.co.in">Click here</a> to go back.
 </body>
</html>

Der obige Code erzeugt Fehler beim HTML-Validierung zu tun .. sagen

document type does not allow element "A" here; missing one of "P", "H1", "H2", "H3", "H4", "H5", "H6", "PRE", "DIV", "ADDRESS" start-tag

Making the dtd als lose / übergangs Sie auf den Fehler loswerden können .. Für Strict HTML oder XHTML Strict dieser Fehler liegt auf der Hand ..

Hope es half ..:)

regards-Säuglings-Pro

Andere Tipps

Beide haben Recht, sowohl validiert

Beide sind in Ordnung, aber haben schwimmend Inline-Elemente stört mich aus irgendeinem Grund

Während ich nie über den "Nicht-Block in Blockelement" Regel gepflegt habe, als HTML-Codes zu schreiben, die Körper Element sollte ein Blockelement sein. (Ich habe vergessen, wo ich es tho 'lesen), das heißt Ihr beide HTML-Code-Fragmente sind recht.

Keiner von ihnen sind wirklich 'richtig' semantisch: -)

sie als eine Liste setzen und versuchen, das Ziel zu vermeiden = „_ blank“. Wahrscheinlich gibt es keinen Grund, eine <p> zu setzen um jeden <a> (nur sicherstellen, dass die gesamte Menge in einem Block-Level-Elemente, wenn Sie überprüfen mögen mit strengem - gutem Punkt Säugling Programmierern )

.

Wenn Sie die <a> wollen als Block-Level-Element wirken und damit die <p> entfernen Sie verwenden

#somewrapper a
{
 display: block;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top