Det är en bugg i IE.
Du kanske kan göra såhär:
#menu ul li a.indicate:link,
#menu ul li a.indicate:visited{color:#f00;}
7 svar · 745 visningar · startad av J.N.
HEJ!
Jag har en meny där jag vill markera aktuell sida. I Firefox/Opera fungerar det med en class, men i IE går det inte, inget markeras.
Efter en del felsökande, har jag kommit fram till att det beror på att a:visited gäller först. De blir de gula i IE men röda i FF/O när man har klickat på länken.
Vad gör man åt detta?
Skaffar sig ett annat sätt att markera aktuell sida? :(
<head>
<style>
#menu ul li a:link{color:#000;}
#menu ul li a:visited{color:#ff0;}
#menu ul li a:hover{color:#f00;}
#menu ul li a:active{color:#f00;}
#menu ul li a.indicate{color:#f00;}
</style>
</head>
<body>
<div id="menu">
<ul>
<li><a href="a.htm" class="indicate">sida</a></li>
<li><a href="b.htm" class="indicate">sida</a></li>
<li><a href="c.htm">sida</a></li>
</ul>
</div>
</body>
</html>
Det är en bugg i IE.
Du kanske kan göra såhär:
#menu ul li a.indicate:link,
#menu ul li a.indicate:visited{color:#f00;}
HEJ!
Tyvärr fungerar det inte. :(
Har jag missförstått något i din kod; buggar ska man väl kunna komma runt?
<head>
<style>
#menu ul li a:link{color:#000;}
#menu ul li a:visited{color:#ff0;}
#menu ul li a:hover{color:#f00;}
#menu ul li a:active{color:#f00;}
#menu ul li a.indicate{color:#f00;}
#menu ul li a.indicate:link, #menu ul li a.indicate:visited{color:#f00;}
</style>
</head>
<body>
<div id="menu">
<ul>
<li><a href="a.htm" class="indicate">sida</a></li>
<li><a href="b.htm" class="indicate">sida</a></li>
<li><a href="c.htm">sida</a></li>
</ul>
</div>
</body>
</html>
Kan detta vara en lösning?
<li><a href="a.htm"><span class="indicate">sida</span></a></li>
<li><a href="b.htm"><span class="indicate">sida</span></a></li>
<li><a href="c.htm">sida</a></li>
Det funkar för mig; de två första är röda och den sista är svart (eller gul när den är besökt).
HEJ!
Jovisst fungerar det!
Jag skyller på att jag klyddade till det när jag översatte min exempelkod till den riktiga. :stud
Tillkommande fråga:
#menu ul li a.indicate:link, den används väl endast för en länk som går till en sida som inte är besökt?
Dvs, eftersom detta är en meny, och man måste vara på den sidan som menyn indikerar, är väl denna överflödig?
Mitt exempel är ett exempel, två menyer kan inte vara markerade på samma gång, ej heller kan man besöka en sida utan att menyn markeras.
The_Hulk:
Tack för hjälpen, det fungerar också, men eftersom markeringen i menyn sker automatiskt, vill jag undvika att behöva stoppa in markeringskod på två ställen. Jag tyckte min kod borde fås att fungera i IE också.
Jag skulle nog inkludera :link också. Folk kan komma direkt in på a.html#foo och då är a.html inte besökt.
HEJ!
Du menar att a.html och a.html#ankare inte är samma sida ur detta perspektiv?
Hmm, det får jag anse inte händer, OM nu inte besökaren får för sig att skriva till ankaret själv; på dessa sidor existerar det inte.
Kan dock vara bra att veta för nästa projekt!