In HTML sollten Elemente auf Blockebene immer <a>
-Tags umbrechen. Was ist, wenn das Element das Block-Level-Element umbrechen muss, um sicherzustellen, dass die richtigen Stile angewendet werden? Zum Beispiel kann dies
sei das
%Vor%NB: Ich gehe für den letzteren Ansatz, um sicherzustellen, dass die richtigen Stile angewendet werden (ich arbeite mit Legacy-Code, der es nicht wert ist, für dieses eine Element überarbeitet zu werden), aber dabei war ich interessiert weiß was die Ansichten der Gemeinschaft sind.
Und ja, ich habe diese Frage gelesen In welchem HTML-Format sollten a und h1 verschachtelt sein? , aber ich bin mir nicht sicher, ob für <h3>
-Tags eine andere oder flexiblere Regel gilt.
Wenn ich die Kommentare unten anschaue und den Code erneut betrachte, habe ich zwei mögliche Lösungen:
<h3>
-Elemente mit <a>
-Elementen (ok in HTML5) .class a
dem CSS hinzu, so dass es die übergeordneten div
-Stile wie folgt erbt: HTML
%Vor%CSS
%Vor% In diesem Kontext ist es absolut erlaubt, dass das a
-Element das h3
-Element enthält, zumindest nach HTML5.
Ein a
-Element ist als "transparentes" Element bekannt: Es kann enthalten, was immer das Elternelement enthalten darf. Das einzige Kriterium ist, dass es keinen anderen "interaktiven" Inhalt enthalten darf, z. andere a
Elemente, button
Elemente, iframe
Elemente. In diesem Fall ist unter der Annahme, dass die erste Version zulässig ist, die zweite Version auch unter HTML5 zulässig.
Dies ist die Seite in HTML5 Spezifikation , die dies angibt. Es braucht leider eine kleine Interpretation, um zu verstehen ...
Beachten Sie, dass es in HTML5 einen Fall gibt, in dem
gilt %Vor%wäre gültig, aber
%Vor% würde nicht, und das ist, wenn das übergeordnete Element des Elements <h3>
ein <hgroup>
-Element ist.
Das <hgroup>
-Element kann nur <h?>
untergeordnete Elemente enthalten. Während das transparente Inhaltsmodell des <a>
-Elements die Verwendung von <h3>
als Kind zulässt, bleibt das <a>
-Element als Kind von% ungültig. co_de%.
In diesem Fall
%Vor%und
%Vor%sind die einzigen gültigen Vereinbarungen.
Beide sind in Ordnung
%Vor% Aber ich werde den ersten verwenden, wenn es mir egal ist, was im Anker ist und ich möchte nur, dass es wie <h3>
Und ich werde den zweiten verwenden, wenn ich mich um einen bestimmten Teil des Ankerbedarfs <h3>
Sorgen mache. Für
Beispiel unten Ich brauche die zweite.
%Vor% In HTML 4.01 und XHTML kann ein h3
-Tag ein a
-Tag enthalten, aber nicht umgekehrt.
In HTML5 sind beide Möglichkeiten gültig. Wenn ein a
-Tag jedoch ein h3
-Tag enthält, darf das a
-Tag NICHT in einem Element verschachtelt sein, das kein h3
-Element enthalten kann.