2013-06-04 51 views
16

Tôi đang gặp sự cố khi chuyển đổi từ màu xám sang màu, nó hoạt động trong chrome, nhưng chính là nó.Bộ lọc CSS màu xám không hoạt động trong Firefox

Dưới đây là HTML:

<div id="post" style="background-image:url('bg.png');background-repeat:no-repeat;"> 
    <p><a href="/post.php?id=1">Title - Date</a></p> 
</div> 

Đây là CSS:

#post{ 
    padding:0; 
    margin:0 auto; 
    margin-bottom:25px; 
    border:solid 1px #000; 
    height:150px; 
    width:750px; 
    display:block; 
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'saturate\' values=\'0.5\'/></filter></svg>#grayscale"); 
    filter: gray alpha(opacity=50); 
    -webkit-filter: grayscale(50%); 
    -webkit-transition: 0.3s all ease; 
    -o-transition: 0.3s all ease; 
    -moz-transition: 0.3s all ease; 
    transition: 0.3s all ease; 
    -webkit-backface-visibility: hidden; 
} 

#post:hover{ 
    filter: none; 
    -webkit-filter: grayscale(0%); 
} 

Cảm ơn sự giúp đỡ nào, nó đánh giá cao.

Trả lời

29

Hãy thử thiết #post: hover này:

filter:grayscale(0%); 
    -webkit-filter: grayscale(0%); 
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale"); 

Bạn có thể nhìn nó lên đây. http://www.cheesetoast.co.uk/add-grayscale-images-hover-css-black-white/

trong trường hợp liên kết hướng dẫn sẽ chết công trình: Safari 6.1.1, Firefox 26.0, Chrome 32.0.1700.77

.slides li img{ 
    filter: grayscale(100%); 
    -webkit-filter: grayscale(100%); /* For Webkit browsers */ 
    filter: gray; /* For IE 6 - 9 */ 
    -webkit-transition: all .6s ease; /* Fade to color for Chrome and Safari */ 
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */ 
} 
.slides li img:hover{ 
    filter: grayscale(0%); 
    -webkit-filter: grayscale(0%); 
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale"); 
} 

Theo ghi nhận của Adam dưới đây: Từ Firefox 35 bộ lọc: thang độ xám (100%); nên làm việc.

+3

dụ của ông làm việc cho tôi, mới nhất Firefox @ OSX – JOSEFtw

+1

cho những người không thể có được nó để làm việc, bạn nên truy cập vào hướng dẫn được liên kết trong câu trả lời này, đã giúp tôi hiểu rõ hơn về cách để dùng nó. – rmagnum2002

+1

Chỉ cần thông tin: Điều gì làm cho ví dụ này hoạt động là dòng 'lọc: url ("dữ liệu: hình ảnh/svg + xml; utf8, # grayscale ");' cho 100% thang độ xám và ngược lại - 'bộ lọc: url (" dữ liệu: hình ảnh/svg + xml; utf8, #grayscale "); } '0% grayscale – DrewT