Ganzes <div> als Linkarea verwenden
Tom
- html
0 ChrisB0 Gunnar Bittersmann0 Marc
Hello,
ein <a>-Element darf nur Inline-Elemente enthalten...
Wie kann ich (ohne JavaScript) ein ganzes <div>-Element als Linkfläche verwenden und dann bitte auch die typische Linkunterstreichung (text-decoration) für alle enthaltenden Elemente ausschalten?
Gibt es keine Möglichkeit, oder stehe ich nur gerade auf dem Schlauch?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi,
ein <a>-Element darf nur Inline-Elemente enthalten...
Und auf diese kannst du dich nicht beschränken, weil ...?
Wie kann ich (ohne JavaScript) ein ganzes <div>-Element als Linkfläche verwenden und dann bitte auch die typische Linkunterstreichung (text-decoration) für alle enthaltenden Elemente ausschalten?
Gibt es keine Möglichkeit
Mit HTML gibt es keine direkte Möglichkeit. XHTML 2 sah vor, auch zahlreichen anderen Attributen ein href-Attribut zu erlauben - aber das hat ja von HTML5 den Todesstoß verpasst bekommen.
Du könntest aber ein im DIV-Element liegendes A-Element per CSS entsprechend darüber positionieren.
Das wird dann aber vermutlich wieder andere Nachteile in der Nutzung nach sich ziehen, bspw. wenn Elementinhalte markiert&kopiert werden sollen.
MfG ChrisB
@@Tom:
nuqneH
ein <a>-Element darf nur Inline-Elemente enthalten...
Mit HTML5 fällt diese Beschränkung.
und dann bitte auch die typische Linkunterstreichung (text-decoration) für alle enthaltenden Elemente ausschalten?
?? Wo ist das Problem?
Qapla'
Hi,
ein <a>-Element darf nur Inline-Elemente enthalten...
Mit HTML5 fällt diese Beschränkung.
Und so lange nicht alle Browser HTML5-Parser einsetzen, bleibt sie de fakto bestehen - weil die Fehlerkorrektur eines HTML-TagSoup-Parsers sonst u.U. etwas anderes aus dem Code macht, als beabsichtigt war.
MfG ChrisB
@@ChrisB:
nuqneH
ein <a>-Element darf nur Inline-Elemente enthalten...
Mit HTML5 fällt diese Beschränkung.
Und so lange nicht alle Browser HTML5-Parser einsetzen, bleibt sie de fakto bestehen - weil die Fehlerkorrektur eines HTML-TagSoup-Parsers sonst u.U. etwas anderes aus dem Code macht, als beabsichtigt war.
Prinzipiell ACK. Aber welche gegenwärtig relevanten Browser schließen ein 'a'-Element denn wirklich implizit beim Start-Tag eines Blockelements?
Qapla'
Hello,
ein <a>-Element darf nur Inline-Elemente enthalten...
Mit HTML5 fällt diese Beschränkung.
und dann bitte auch die typische Linkunterstreichung (text-decoration) für alle enthaltenden Elemente ausschalten?
?? Wo ist das Problem?
Da das <a>-Element (noch) keine Blockelemente enthalten darf, kann ich es nicht ausprobieren.
Und das Schlimmste zum Schluss: IE6 muss das Ganze auch darstellen können...
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo Tom,
ein <a>-Element darf nur Inline-Elemente enthalten...
Wie kann ich (ohne JavaScript) ein ganzes <div>-Element als Linkfläche verwenden und dann bitte auch die typische Linkunterstreichung (text-decoration) für alle enthaltenden Elemente ausschalten?
Gibt es keine Möglichkeit, oder stehe ich nur gerade auf dem Schlauch?
Ich weiß ja nciht, was das div enthalten soll, aber prinzipiell kann das a im div verwendet werden und so groß wie das div sein, indem es display:block erhält.
Nur: das weißt Du ja selber - oder stehst Du wirklich auf dem Schlauch? :-)
Viele Grüße,
Marc.
@@Marc:
nuqneH
Ich weiß ja nciht, was das div enthalten soll, aber prinzipiell kann das a im div verwendet werden und so groß wie das div sein, indem es display:block erhält.
Da hätte ich dann aber noch eine Frage: Wozu dann das 'div'?
Qapla'
Hello,
Ich weiß ja nciht, was das div enthalten soll, aber prinzipiell kann das a im div verwendet werden und so groß wie das div sein, indem es display:block erhält.
Da hätte ich dann aber noch eine Frage: Wozu dann das 'div'?
Ja genau. Das <div> benötige ich nur, weil ich variable Inhalte darstellen muss. Und es soll dann das gesamte Feld sensitiv sein für den Link. Scheint so, dass es nicht ohne JavaScript geht. Das versuche ich aber immer zuerst, bevor ich dem Drängen nachgebe ;-)
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Ich weiß ja nciht, was das div enthalten soll, aber prinzipiell kann das a im div verwendet werden und so groß wie das div sein, indem es display:block erhält.
Da hätte ich dann aber noch eine Frage: Wozu dann das 'div'?
Ja genau. Das <div> benötige ich nur, weil ich variable Inhalte darstellen muss. Und es soll dann das gesamte Feld sensitiv sein für den Link. Scheint so, dass es nicht ohne JavaScript geht. Das versuche ich aber immer zuerst, bevor ich dem Drängen nachgebe ;-)
Aber warum das div-Element? Warum nicht einfach ein display: block;
für das a-Element?
Ich verstehe nicht, warum das nicht funktioniert - oder warum ersetzt du nicht das div-Element durch ein span-Element, wenn schon ein zusätzliches notwendig ist?
Hello,
Aber warum das div-Element? Warum nicht einfach ein
display: block;
für das a-Element?Ich verstehe nicht, warum das nicht funktioniert - oder warum ersetzt du nicht das div-Element durch ein span-Element, wenn schon ein zusätzliches notwendig ist?
Ich weiß doch nicht, was da kommen wird.
Der User kann in den Bereich verschiedene (vorgefertigte) Elemente einsetzen. Dazu gehören auch Überschriften, Tabellen, Listen ...
Texte und Bilder wären ja kein Problem.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg