Su Chrome e Firefox, se applico una decorazione di testo: sottolineatura su un tag, per impostazione predefinita la sottolineatura non si applica allo pseudo elemento. Ma su IE lo fa, e non riesco a rimuoverlo. Desidero sottolineare il collegamento, ma non lo pseudo elemento. Funziona se aggiungo uno span all'interno e metto la sottolineatura, ma voglio sapere se può essere fatto senza markup addizionale.IE: rimuovi la sottolineatura sullo pseudoelemento
a{ \t \t
\t padding-left: 9px;
\t position:relative;
\t display:inline-block;
}
a:before{
\t content:'\203A\00a0';
\t position:absolute;
\t top:0;
\t left:0;
\t display: inline-block;
}
#underline{
\t text-decoration: none; \t \t \t
}
#underline:hover{
\t text-decoration:underline;
}
/* special for IE */
#underline:hover:before
{
\t text-decoration:none !important; \t /* does nothing ! */
}
#color{
\t color:green;
}
#color:hover{
\t color:red;
}
#color:hover:before{
\t color:green; \t /* work ! */
}
#span{
\t text-decoration: none;
}
#span:hover span{
\t text-decoration: underline;
}
<a href="#" id="underline">underline</a>
<br>
<a href="#" id="color">color</a>
<br>
<a href="#" id="span"><span>with span</span></a>
Complimenti a voi. Questa è l'unica soluzione corretta. È necessario modificare la risposta però. È una decorazione testuale: sottolinea (non sottolineata). Grazie mille, questo è stato un mal di testa completo. IE tipico. –
Funziona ma non ha funzionato per me perché quando si ridimensionava il CSS, veniva rimosso il primo stile. La soluzione era aggiungere un'altra classe al tag e quindi impostare la decorazione del testo: nessuna su questo. – Graham