/ / Darf ein <div> in ein <a> [Duplikat] - html, css eingefügt werden?

Ist es in Ordnung, ein <div> innerhalb eines <a> [duplicate] - html, css zu platzieren?

Mögliche Duplikate:
Ist es richtig, ein Div in einen Anker zu setzen?

Ich möchte einen Link zu einem komplexen Element (Bilder, Absätze und anderes) enthalten. Ich weiß, dass es funktioniert, aber ist es in Ordnung, eine zu haben? <div> Element in einem <a> Element ?

Antworten:

1 für die Antwort № 1

In XHTML1.0 und HTML4.01: Nein. a ist ein Inline-Element, das nur andere Inline-Elemente enthalten kann (aber kein anderes a).

In HTML5: Ja, das darfst du. ABER Überlegen Sie, warum Sie hunderte von Zeichen in einem Link haben.
Es ist schlecht für SEO (Verwässerung, glaube ich) und schlecht für viele behinderte Nutzer ("Hey Screenreader, sag mir, was macht dieser Link?" - "Lassen Sie mich diesen Link eine halbe Minute lang vorlesen") und vielleicht schlecht für die Benutzerfreundlichkeit.

Eine andere Lösung wäre, einen Link zu sagenIhre Überschrift in Ihrem Div oder einem sinnvollen Text. Dann machen Sie in JS, dass sich Ihr div so verhält, wie Sie es anfangs tun wollten. Dann wird es für Benutzer mit einer unterstützenden Technologie (Bildschirmlesegeräte und dergleichen), für Tastaturbenutzer (sie können durch den Link navigieren) UND für sehende Mausbenutzer mit JS funktionieren.


6 für die Antwort № 2

Ja und nein.

Keine vollständige HTML- oder XHTML-Empfehlung erlaubt dies.

Der HTML 5-Entwurf erlaubt dies, aber Sie müssen möglicherweise bestimmte Einstellungen vornehmen, z. B. explizit festlegen display: block auf dem Anker, damit es in einigen Browsern funktioniert. Möglicherweise stellen andere fest, dass dies nicht einfach unterstützt wird (Ich möchte gerne auf eine Referenz verweisen, die die Browserunterstützung dafür anzeigt, aber ich kenne keine, bitte kommentieren Sie dies.)

Das heißt, während schöne große Klickziele haben könnenEs ist nützlich, dies ist kein Ansatz, der dem "Skim-By-Links-Modus", den einige Browser (insbesondere Bildschirmlesegeräte) bieten, freundlich ist. Sie sollten möglicherweise einen regulären Link im Inhalt verwenden und JavaScript anwenden, um darauf zu reagieren Ein Klick auf das gesamte Element.


0 für die Antwort № 3

Nein, es sei denn, Sie interessieren sich nicht für IE7 und nicht. Der Link funktioniert in IE7 nicht ordnungsgemäß, selbst wenn auf display: block eingestellt ist.


Verwandte Fragen


Kommentare (0)

Einen Kommentar hinzufügen