2013-01-07 35 views
6

Có thể thêm hình nền: thuộc tính vào liên kết được truy cập không?hình nền: cho: các liên kết đã truy cập?

a.coolLinks:visited{ 
    background-image:url("http://www.ledr.com/colours/black.jpg"); 
} 

Cảm ơn

Edit: Vì vậy, có vẻ như đây là một lỗ hổng bảo mật và đây là lý do tại sao nó không thể được thực hiện. Không có dấu hiệu nào cho thấy các trình duyệt đang chặn kiểu css này.

+2

Bạn đã thử chưa? Nên làm việc. –

+0

Tôi nghĩ, không phải 100%, bạn chỉ có thể sử dụng ': visited' trên một thẻ. Vì vậy, bạn cần 'a.coolLinks: visited {}' để nó hoạt động đúng. – phpisuber01

+0

Tôi quên thêm 'a'. Nó vẫn không hoạt động. Hãy để tôi thêm một JSfiddle vào bài viết. – user1530249

Trả lời

11

Mã của bạn là chính xác theo hầu hết các thông số kỹ thuật. Tuy nhiên, many browsers xem xét hình nền trên các liên kết đã truy cập có khả năng vi phạm quyền riêng tư của người dùng, vì vậy họ không cho phép.

Quan sát ví dụ này:

<p><a href="/unvisited">Unvisited link</a></p> 

<p><a href="http://jsfiddle.net/">Visited Link</a></p> 

<style> 
a { 
    background:red url("http://placekitten.com/100/101?image=2") center center no-repeat; 
    display: block; 
    height: 200px; 
    width: 200px; 
    overflow: hidden; 
    text-align: center; 
    background-color: red; 
} 

a:visited { 
    background:blue url("http://placekitten.com/100/100?image=1") center center no-repeat; 
} 
</style> 

(Cũng tại http://jsfiddle.net/Yq5GY/1/). Firefox bỏ qua việc khai báo hình ảnh nền cho các liên kết đã truy cập và không bao giờ hiển thị con mèo độc thân. Bạn có thể thực hiện một số sự khác biệt với màu nền . Đó là khả năng sử dụng xấu để dựa vào hình ảnh một mình, dù sao đi nữa.

+1

Có cách nào khác không? – user1530249

+2

@KatieK bạn có bất kỳ tham chiếu nào về lý do khiến các trình duyệt coi đó là vi phạm quyền riêng tư không? Tôi không thể nghĩ tại sao lại như thế. – Zack

+5

[Tham khảo] (http://stackoverflow.com/questions/3788855/google-chrome-avisited-background-image-not-working) – Malkus

1

Như @KatieK đã đề xuất, hầu hết trình duyệt sẽ không cho phép đặt hình nền [thậm chí một số quy tắc khác như màu nền] thành liên kết :visited vì đó là vấn đề bảo mật. Bạn có thể đọc về nó bằng cách sử dụng liên kết sau đây:

  1. Privacy Related Changes
  2. Reported Bug
+0

Hrm, bản demo của Sharp dường như không hoạt động trong Firefox của tôi (mới nhất). – KatieK

+0

oops, yeah tôi chỉ nhận ra nó không hoạt động với FF4 trở lên. Xin lỗi về điều đó, Cập nhật câu trả lời. – Amyth

Các vấn đề liên quan