Bild ist nicht anklickbar inneren Anker nur im IE7
Html-Struktur
<a>
<span> <!-- Span has width & height -->
<img>
</span>
<span> Some text <span>
</a>
Anker ist nicht anklickbar, nur im IE7, ich weiß, das Problem geschieht, weil der hasLayout, wenn wir entfernen die Höhe & Breite der Spanne, wird es funktionieren.
Aber ich brauche, um es Arbeit mit, entfernen der Höhe & Breite.
EDIT:die Sie anpassen können, ein Beispiel hier: http://jsfiddle.net/rxcAb
InformationsquelleAutor der Frage gviswanathan | 2011-04-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur CSS Lösung
Tomas-Ich veränderte Ihre Geige in ein funktionierendes Beispiel. Ich änderte Ihr code
span
innerhalb dera
tag, weil es ungültig ist, um einen standard-block-level-element (eindiv
) in einem inline-element (eina
tag). Geben Sie diea
tag-layout (ich habeinline-block
) und dann die Einstellung einposition:relative
auf, dassspan
mit einemz-index: -1
schiebt diespan
"unterhalb" dera
tag und macht IE7 erkennen diea
tag wieder aktiv. Unten ist der geänderte code in meinem Turnschuh. Möchten Sie vielleicht die Einrichtung einer allgemeineren Klasse name als meineie7AFix
(Sie werden wahrscheinlich auch wollen, nur Ziel IE7 für diese CSS-Eigenschaften, die notwendig sind, für die es nur). Ich nehme an, Sie sind die Variation derwidth
undheight
von Bildern, und also, warum haben Sie diese als inline-styling.HTML
CSS
Aktualisiert Fiddle mit
line-height
Hinzugefügt, um "cross-browser", wenn man nicht will, um den Gegner IE7 nur. Ich hielt diewidth
undheight
imspan
html oben, nur weil die ursprüngliche Frage (von beiden gviswanathan und Tomas) angefordert. Wenn Sie nicht benötigen, um die Maße auf derspan
aus irgendeinem Grund sind, sondern einfach versuchen zu tun, eine doppelte Grenze auf das Bild, dann thirtydot die Antwort in den Kommentar unten ist viel einfacher.InformationsquelleAutor der Antwort ScottS
Mit jQuery, das folgende zu zwingen, alle links zu arbeiten, und haben den "Cursor" cursor:
Ich habe getestet dieses simulieren IE7 mit dem IE8 im compatibility view-Modus, kann aber nicht garantieren, es wird für IE7 auf seine eigenen.
Können Sie anwenden möchten dieses mehr selektiv-ich vermute, dass, wie es ist, dies könnte sich verlangsamen ältere browser-Leistung-in dem Fall gilt a-Klasse (wie
<a href='myClass'>
) für alle links, die defekt sind, und Sie ändern Sie einfach$('a')
zu$('.myClass')
InformationsquelleAutor der Antwort Faust
Haben Sie versucht, mithilfe des HTML5-shim? Es hilft viel, sich mit Fragen, die durch hasLayout.
InformationsquelleAutor der Antwort 472084
Nehmen Sie nur die SPANNE von der IMG. Das IMG-element kann gestylt werden-mit einem Klasse-genau wie jedes andere element, daher brauchen Sie nicht eine Spannweite um.
InformationsquelleAutor der Antwort MistaPrime
geben Sie die folgenden CSS-Regeln auf ein element:
InformationsquelleAutor der Antwort Stephen
Ah eine weitere Eigenart hasLayout
es ist nicht möglich, Sie zu erreichen, im IE7 und behalten Sie noch die Breite der Spanne, wenn man zeigen könnte, was Sie zu erreichen versuchen, in ein JS-fiddle könnten wir vielleicht helfen, einen Weg finden, um es z.B. und das ist nur eine Vermutung, setzen Sie die Breite auf die
anchor
mit einigen Polsterung würde helfen, erstellen Sie eine völlig clickable area und immer noch erlauben, ein "caption" span zurückhaltend wenn es das ist, was Sie nach..Beispiel Abhilfe nicht eine fix
CSS:
HTML:
Das oben ist nur ein Gedanke, und wenn es ist nicht, was Sie nach, dann geben Sie bitte ein Beispiel jsfiddle.net
InformationsquelleAutor der Antwort clairesuzy
Kann sein das es ein problem ist, dass, weil Sie nicht definieren
href="#"
in Ihrem<a>
TAG So legtehref="#"
in Ihrem<a>
TAG. Schreiben wie dieses:InformationsquelleAutor der Antwort sandeep
Nur wickeln Anker-tag in Div-oder Span. Seine arbeiten im IE7.
Dieser Weg ist falsch..?
InformationsquelleAutor der Antwort SR query
Aus deinem post denke ich u wollte ein anklickbares Bild mit span-info-text !! Ich hoffe, dies hilft u 😉
http://jsfiddle.net/ajinkyax/v5KH5/3/
CSS:
InformationsquelleAutor der Antwort STEEL
Sehen fiddle für code und demo
Fiddle: http://jsfiddle.net/rxcAb/29/
Demo: http://jsfiddle.net/rxcAb/29/embedded/result/
Perfekt funktioniert im IE7, IE8, FF, Chrome, Safari.
Keine änderungen im code: Siehe unten
InformationsquelleAutor der Antwort w3uiguru
Einen einfachen Weg, dies zu tun ist:
InformationsquelleAutor der Antwort Pavol Hudran
Wenn Sie so etwas wie:
Fügen Sie einfach eine style-Eigenschaft, um den Anker wie diese:
Dadurch wird das div-Element und alles, was darin anklickbar im IE7+ und firefox & Chrom.
InformationsquelleAutor der Antwort Eagl3