2011-01-02 37 views
17

Tôi muốn có thanh cuộn webkit tùy chỉnh để tạo hoạt ảnh cho màu nền khác cho trạng thái di chuột. Mã bên dưới thay đổi màu khi di chuột nhưng không làm động bất kỳ thứ gì. Nó hoạt động trên một div vì vậy tôi nghi ngờ webkit-scrollbar không chơi tốt đẹp với quá trình chuyển đổi.Thanh công cụ webkit có hoạt động với chuyển đổi webkit không?

::-webkit-scrollbar-thumb { 
    background-color: #a8a8a8; 
    -webkit-transition: background-color 1s linear; 
} 

::-webkit-scrollbar-thumb:hover { 
    background-color: #f6f6f6; 
} 
+3

Bạn đã bao giờ tìm thấy câu trả lời cho điều này chưa? – roryf

Trả lời

4

Không, nó không được triển khai. Chúng tôi nên gửi lỗi trên http://bugs.webkit.org/

+1

Cảm ơn. Tôi đã gửi một lỗi Radar cho việc này. – Scrollwheelie

+4

@Trev: Có phải lỗi công cộng trên Radar và/hoặc có lỗi tương tự trên bugzilla của webkit để chúng tôi theo dõi không? –

+1

Vẫn chưa được triển khai. :( – marksyzm

1

Bạn vẫn có thể áp dụng chuyển đổi của mình bằng cách đặt -webkit-scrollbar-thumb màu nền thành inherit và áp dụng chuyển đổi thành phần tử chính - trong trường hợp này là vùng chứa thanh cuộn.

Hạn chế duy nhất là, bạn phải tạo vùng chứa bên trong sẽ che dấu màu gốc của nó và đặt nền theo dõi thanh cuộn thành cùng màu mặt nạ. Dưới đây là một ví dụ:

màu Set container và chuyển

.container { 
    -webkit-transition: background-color 1s linear; 
    background-color: #fff; 
} 

.container:hover { 
    background-color: #cfcfcf; 
} 

.container .inner { 
    background-color: #FFFFFF; 
} 

Set scrolbar màu

::-webkit-scrollbar-thumb { 
    background-color: inherit; 
} 

::-webkit-scrollbar-track { 
    background: #fff; 
} 
+0

Thông minh! Nên được đánh dấu là câu trả lời đúng. –

0

Nó là khá dễ dàng để đạt được sử dụng kỹ thuật xb1itz của background-color: inherit; ngoài với -webkit-background-clip: text; .

Bản trình diễn trực tiếp; https://jsfiddle.net/s10f04du/

@media screen and (-webkit-min-device-pixel-ratio:0) { 
    .container { 
    overflow-y: scroll; 
    overflow-x: hidden; 
    background-color: rgba(0,0,0,0); 
    -webkit-background-clip: text; 
    transition: background-color .8s; 
    } 
    .container:hover { 
    background-color: rgba(0,0,0,0.18); 
    } 
    .container::-webkit-scrollbar-thumb { 
    background-color: inherit; 
    } 
} 
Các vấn đề liên quan