a href im IE8

51%

Cadet 4th Year
Registriert
Apr. 2008
Beiträge
102
im body steht:

<a id="logo" href="index_n.php"></a>

css sieht so aus:

a#logo:link, a#link:visited{
display:block;
position:absolute;
top:45px;left:40px;
width:110px;height:110px;
background: transparent url( http:// ... /2012_images/logo.png) no-repeat 0 0;
z-index:999;
}


alle browser inkl. IE9 zeigen das Bild an, beim IE8 sieht man es nicht.
Hat wer eine Idee, warum das so ist?
 
Zuletzt bearbeitet:
geht's denn wenn du statt dem Bild einfach eine Hintergrundfarbe setzt?
 
der erste Test wäre, aus dem "transparent" mal ein schönes fieses #f00 zu machen. Wenns zu sehen ist liegts an der URL der Grafik.
 
zuerst mal vielen dank für's lesen!

a#logo:link, a#link:visited

kann ja nicht funktionieren
 
unabhänig vom falschen selector müsste das bild ja im unbesuchten zustand zu sehen sein.

liegts vlt. daran weil du auf eine externe grafik verweist? kannst du die grafik nicht als relativen pfad angeben?

mlglich ist auch das im IE 8 der link schlichtweg zu klein ist!
mach doch mal ein
Code:
overflow: visable;

wobei der background glaube ich nicht als oveflow zählt.
alternativ mal den rahmen anzeigen lassen und die größe verändern.

das problem habe ich im IE oft das der ständig eine größenangabe haben will, und sei es nur wenn sie auto ist. drecks teil :(

wären jetzt meine einzigen erklärungen, natürlich sollte man trotzdem die übliche debug methode awenden und nach und nach attribute verändern / entfernen bis man sieht wo es hakt.

So ganz verstehe ich auch nicht wieso das Bild zu dem Link unbedingt eine hintergrund grafik sein muss.

Code:
<a href='test.html'><img src='logo.png'></a>

würde es doch auch tun und du hast noch möglichkeiten über das DOM an das bild zu kommen :)
Macht das spätere finden und änderen des bildes für dich selber und andere auch leichter.

CSS sollte nach möglichkeit wirklich nur zum designen von elementen dienen, also brete, höhe, position etc. regeln, dein Bild finde ich gehört schon ehr in den content bereich.
Hintergründe für tabellen, zeilen etc. sind das schon ehr für ein bg-bild geignet, wobei ich nicht sagen will das dein weg absolut falsch ist, auch soetwas ist durch aus legitim.

P.S.
sei gewarnt das der IE 6 keine transparenten PNG Datein verarbeiten kann! Gibt zwar ein paar JS fix, aber wenn das auch noch deaktiviert ist hast du ein problem :(
 
Zuletzt bearbeitet:
@Crys
ja, jetzt hat es geklappt.
@Mercsen
bzgl Pfad hab ich mir den absoluten angewöhnt, da ich CSS im Web Developer erstelle und dieser bei relativen Pfaden keine Bilder zeigte (zumindest war das mal so).
Der Link selbst ist das Logo der HP; wollte kein unnötiges div extra platzieren. Aber prinzipiell hast du recht, Logo ist eigentlich content.
tja, und der IE6 bzw IE & CSS, was soll man da noch sagen. andererseits: warum haben die anderen browser das img angezeigt (wurde ja schon mal angeklickt)? eigentlich hätten die das nicht sollen?
 
Zuletzt bearbeitet:
doch hätte es, denn da du für den link 'a#logo' ja keine pseudoklasse :visited erstellt hast, behält er einfach den alten zustand bei, bis auf die sachen die direkt vom browser vordefiniert sind. Du müsstest es dann bei :visited explizit wieder entfernen.

Wozu extra div? Wenn das <img> Tag einfach zwischen <a></a> packst ist es doch automatisch richtig paltziert? Ansonsten schnell noch eine CSS anweisung erstellen ;)

Code:
a#logo img {
position: absolut;
etc. pp. 
}
 
Zurück
Oben