2010-12-19 63 views
26

WebKit đã giới thiệu khả năng tạo gradient cho CSS. Ví dụ: với mã sau:Bạn có thể tạo các độ dốc mờ dần sang độ mờ đục bằng cách sử dụng CSS hoặc JavaScript không?

-webkit-gradient(linear, left top, left bottom, from(#fff), to(#000)); 

Tuy nhiên, bạn có thể có độ mờ đục bằng cách sử dụng CSS không? Tôi muốn gradient là một màu duy nhất trên một mặt, và mờ dần về độ mờ trên không.

Tính tương thích của trình duyệt chéo không quan trọng; Tôi chỉ cần nó để làm việc trong Google Chrome.

Có cách nào để thực hiện việc này bằng CSS không? Nếu không, có thể một cái gì đó tương tự được thực hiện bằng cách sử dụng JavaScript (không phải jQuery)?

Cảm ơn sự giúp đỡ của bạn.

Trả lời

14

cho màu sắc, sử dụng rgba (x, y, z, o) trong đó o là độ mờ

nên hoạt động

ví dụ

background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 1)), to(rgba(0, 0, 0, 0))); 

Edit: Đối với giá trị cuối cùng (opacity) 1 là đục & 0 là trong suốt

+1

Bạn có thể có nghĩa là (255, 255, 255, 1) cho giá trị đầu tiên. –

+0

Đúng, cố định rằng – Jasper

+1

mã không thực sự hoạt động, dường như thiếu dấu phẩy và ngoặc vuông –

2

chưa được thử nghiệm, nhưng điều này nên làm việc (trong FF làm việc này (với một cú pháp khác nhau) - Tôi không chắc chắn nếu săn/webkit biết rgba):

-webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,1)), to(rgba(0,0,0,0))); 
+0

Tôi có thể đã hiểu nhầm điều gì đó, nhưng tại sao bạn mong đợi một thuộc tính tiền tố nhà cung cấp '-webkit' hoạt động trong Firefox? ('-webkit' áp dụng cho Chrome và Safari và một hoặc hai trang khác;' -moz' là dành cho Firefox; '-o' là Opera;' -ms' là, rõ ràng, IE ...) –

+0

nhờ gợi ý , tôi đã chỉnh sửa rằng ... tôi chỉ quên viết một số văn bản (thats những gì sẽ xảy ra nếu bạn uống rượu trong khi sufing trên stackoverflow vào buổi tối chủ nhật -.- ') – oezi

15

Yup, rgba(red, green, blue, alpha) là những gì bạn nên sử dụng http://www.w3.org/TR/css3-color/#rgba-color, ví dụ (Hãy thử nó ra trên):

/* Webkit */ 
background: -webkit-gradient(
    linear, 
    left bottom, 
    left top, 
    color-stop(1, rgba(0,0,0,0.0)), /* Top */ 
    color-stop(0, rgba(0,0,0,1.0)) /* Bottom */ 
); 

/* Gecko */ 
background: -moz-linear-gradient(
    center bottom, 
    rgba(0,0,0,1.0) 0%, /* Bottom */ 
    rgba(0,0,0,0.0) 100% /* Top */ 
); 
+0

Cảm ơn bạn đã yêu thích! – KajMagnus

+0

Xin chào, Bạn có giải pháp nào cũng hoạt động trong IE không? – Parham

+0

Tạo một dốc svg và base64 mã hóa nó 'background-image: url (' dữ liệu: image/svg + xml; base64, PD94bWwgdmVyPC9saW5l ... 3N2Zz4g '); ' – antonj

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