Trên Chrome và Firefox, nếu tôi áp dụng văn bản trang trí: gạch dưới trên thẻ, theo mặc định gạch chân không áp dụng cho phần tử giả. Nhưng trên trình duyệt IE, tôi không thể xóa nó. Tôi muốn liên kết được gạch dưới, chứ không phải phần tử giả. Nó hoạt động nếu tôi thêm một khoảng bên trong và đặt gạch chân vào nó, nhưng tôi muốn biết nếu nó có thể được thực hiện mà không cần đánh dấu bổ sung.IE: loại bỏ gạch dưới trên phần tử giả
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>
Kudos cho bạn. Đây là giải pháp duy nhất đúng. Bạn cần phải chỉnh sửa câu trả lời của bạn mặc dù. Đó là văn bản trang trí: gạch dưới (không gạch dưới). Cảm ơn rất nhiều, đây là một cơn đau đầu hoàn toàn. IE thông thường. –
Tác phẩm này không hiệu quả với tôi vì khi rút gọn CSS, nó đã xóa kiểu đầu tiên. Giải pháp là thêm một lớp khác vào thẻ và sau đó đặt văn bản trang trí: không có gì trên đó. – Graham