2012-02-09 5 views
5

tôi không thể nhận opacity để làm việc trên a: visited siêu liên kết trong firefox hay IEopacity a: visited

Nếu tôi đặt màu nền của a: visited nó sẽ làm việc tốt, nhưng opactity sẽ không được thiết lập.

Bất kỳ ý tưởng nào?

Đây là css của tôi:

a.photo 
{ 
    display: inline-block; 
} 
a.photo img 
{ 
    border: 1px solid #C8C8C8; 
    background-color: #ffffff; 
} 
a:hover.photo img, 
a:active.photo img { 
    background-color: #FF2D59; 
    border: 1px solid #FF2D59; 
} 
a:visited.photo img 
{ 
    opacity: 0.4; 
    filter: alpha(opacity=40); /* For IE8 and earlier */ 
} 
a.small img 
{ 
    width: 80px; 
    height: 80px; 
    padding: 6px; 
} 


<a href="#" class="photo small"> 
    <img src="http://www.w3schools.com/css/klematis.jpg" alt="small photo hyperlink" /> 
</a> 

Tôi không nghĩ rằng có điều gì sai trái với trật tự của CSS, bởi vì nếu tôi thêm một màu nền, nó hoạt động tốt:

a:visited.photo img 
{ 
    opacity: 0.4; 
    filter: alpha(opacity=40); /* For IE8 and earlier */ 
    background-color: Gray; 
} 
+3

nên không phải là được 'a.photo: visited'? –

+2

@Jelel Etherton: Các lớp và các lớp giả có thể được sắp xếp theo thứ tự bất kỳ, vì vậy 'a: visited.photo' là tốt. – BoltClock

Trả lời

9

SEC7115:: đã truy cập và: kiểu liên kết chỉ có thể khác nhau theo màu. Một số kiểu không được áp dụng cho: đã truy cập.

Điều này từ bảng điều khiển Công cụ dành cho nhà phát triển của IE. Tôi khá chắc chắn Firefox cho thấy một lỗi tương tự.

Rất tiếc. Không thể làm gì được ở đó.

+0

Bạn biết đấy, tôi chưa bao giờ thực sự hiểu điều này. Chắc chắn bạn có thể đọc computedStyle.color và tìm các liên kết đã truy cập? Tôi không biết ... –

+0

Tôi sẽ để lại câu hỏi này chưa được trả lời chỉ trong trường hợp có giải pháp khác. –

+0

Có vẻ như không. 'document.querySelectorAll (": visited ")' trả về một danh sách rỗng bất kể sự hiện diện hay vắng mặt của các liên kết đã truy cập, vì vậy không có cách nào để tìm ra chúng. Tôi sẽ thử tìm kiếm kiểu màu. –

3

Từ năm 2010, trình duyệt Mozilla hạn chế các thuộc tính CSS có thể được sử dụng để phong cách liên kết truy cập đến: - màu sắc, - background-color, - biên giới - * - màu - phác thảo màu - và màu sắc các bộ phận của các thuộc tính tô và đột quỵ.

Đối với bất kỳ phần nào khác của kiểu cho các liên kết đã truy cập, thay vào đó, kiểu dành cho liên kết chưa được xem sẽ được sử dụng. Ngoài ra, đối với danh sách các thuộc tính bạn có thể thay đổi ở trên, bạn sẽ không thể đặt màu rgba() hoặc hsla() hoặc trong suốt trên các thuộc tính đó.

Nguồn: http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/