So entfernen Sie eine Unterstreichung auf einer pseudo-element?
Auf Chrome und Firefox, wenn ich eine text-Dekoration:unterstreichen Sie auf eine Markierung, standardmäßig der Unterstrich gilt nicht für das pseudo-element.
Aber auf IE ist es nicht, und ich kann nicht entfernen Sie es.
Ich möchte den link hier hervorgehoben werden, aber nicht die pseudo-element.
Es funktionieren, wenn ich einen span im inneren und setzen Sie die Unterstreichung auf, aber ich möchte wissen, ob es gemacht werden kann, ohne zusätzliches markup.
CSS:
a{
padding-left: 9px;
position:relative;
display:inline-block;
}
a:before{
content:'\203A\00a0';
position:absolute;
top:0;
left:0;
display: inline-block;
}
#underline{
text-decoration: none;
}
#underline:hover{
text-decoration:underline;
}
/* special for IE */
#underline:hover:before
{
text-decoration:none !important; /* does nothing ! */
}
#color{
color:green;
}
#color:hover{
color:red;
}
#color:hover:before{
color:green; /* work ! */
}
#span{
text-decoration: none;
}
#span:hover span{
text-decoration: underline;
}
HTML:
<a href="#" id="underline">underline</a>
<br>
<a href="#" id="color">color</a>
<br>
<a href="#" id="span"><span>with span</span></a>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es, dass der IE nicht lassen überschreiben Sie die text-decoration im pseudoelement, wenn er nicht in Sie.
Lassen Sie uns zunächst die pseudo-Elemente werden Unterstrichen text-decoration: underline - und danach überschreiben Sie diese mit textdecoration: none.
CSS:
Als
text-decoration: underline;
können nicht überschrieben werden, im IE, die Sie verwenden konntenborder-bottom: 1px solid green;
statt. Diese können dann überschrieben werden, auf der:before
durch einstellen der Rahmenfarbe auf die Hintergrundfarbe (in diesem Fall weiß). Dies funktioniert nur auf einfarbigen Hintergründen obwohl.CSS:
HTML:
können Sie fügen Sie diese, um Ihren css. das half mir im IE