2013-03-11 15 views

Trả lời

27

Có thực sự là một sửa chữa CSS rất dễ dàng. IE 10 thay đổi background-color các thẻ neo khi chúng ở trạng thái :active. Để ngăn điều đó xảy ra hoặc thay đổi màu, bạn có thể sử dụng quy tắc CSS bên dưới.

a:active{ 
    background-color: transparent; /* Can be any colour, not just transparent */ 
} 

Live Demo: http://jsfiddle.net/tw16/NtjK7/

Trên một mặt lưu ý, đó là đáng nói đến là khi phong cách liên kết bạn cần đảm bảo rằng bạn viết các quy tắc theo đúng thứ tự để đảm bảo rằng phong cách trước đó không bị ghi đè :

a:link{} /* 1st */ 
a:visited{} /* 2nd */ 
a:hover{} /* 3rd */ 
a:active{} /* 4th */ 
+0

Tốt hơn nhiều so với việc sửa chữa tôi đã tìm thấy. – Diego

+0

Rõ ràng cần phải cẩn thận nếu neo của bạn thực sự có màu nền trên nó khi bạn sẽ nhận được một đèn flash màu sau nó khi bạn nhấp vào – hcharge

0

tôi đã không thể tìm thấy nhiều thông tin nhưng tôi đã tìm thấy một sửa chữa:

Gói nội dung của neo trong một span

Working Solution

Nếu bạn không muốn thay đổi mọi neo trong HTML của bạn, bạn có thể sử dụng tập lệnh như sau:

$("a:not(.dont-use-span)").each(function() { 
    $(this).html("<span>" + $(this).html() + "</span>"); 
}); 

Working solution

Lưu ý: chỉ cần thêm lớp dont-use-span đến neo mà bạn không muốn thay đổi

4

Tôi thấy thực tế là: tiêu điểm đã thêm nền màu xám.

này làm việc cho tôi:

a:focus { 
    background-color: transparent; 
} 
+1

Kết hợp câu trả lời ở trên và câu trả lời của @ tw16 (ở trên) giải quyết được vấn đề hoàn toàn cho tôi. Tôi đã phải làm điều này để có được IE11 trên Windows 8.1 để hoạt động đúng: 'a: focus, a: active' –

0

Sau nhiều thử nghiệm unfructuous, tôi cuối cùng đã làm cho nó làm việc với điều này:

a    {color:#fff; background-color:#f77927 !important;} 
    a:hover   {color:#fff; background-color:#e65e06 !important;} 
    a.active  {color:#fff; background-color:#e65e06 !important;} 
    a.focus   {color:#fff; background-color:#e65e06 !important;} 

See in action