2013-06-14 25 views
6

Độ dốc tuyến tính hoạt động tốt cho tất cả các trình duyệt ngoại trừ IE8.
Tôi đã thêm progid:DXImageTransform.Microsoft.gradient ... điều này đã cung cấp cho nó một số gradient tuy nhiên kết quả mong đợi là khác nhau.
Code: -Cách áp dụng dốc tuyến tính cho IE8

div{ 
height:500px;width:500px; 
background-size: 50px 50px; 
background-color: #DDEEEE; 
background-image: -webkit-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent); 
background-image: -moz-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent); 
background-image: -ms-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent); 
background-image: -o-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent); 
background-image: linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent); 
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#DDEEEE',GradientType=0);}  

Làm thế nào để làm cho Linear Gradient này?

Trả lời

5

Css tôi sử dụng để tạo ra một dốc tuyến tính như sau. Hoạt động tốt trong IE8 quá. Dường như sự khác biệt duy nhất của bạn là tôi đặt một gradientType thành 1 (ngang), không phải 0 (dọc) và tôi sử dụng các màu riêng biệt.

html

<div></div> 

css

div{width:400px;height:200px; 
    /*gradient background color */ 
    background: #0071a0; /* Old browsers */ 
    background: -moz-linear-gradient(left, #0071a0 1%, #ff0000 100%); /* FF3.6+ */ 
    background: -webkit-gradient(linear, left top, right top, color-stop(1%,#0071a0), color-stop(100%,#ff0000)); /* Chrome,Safari4+ */ 
    background: -webkit-linear-gradient(left, #0071a0 1%,#00a3ca 100%); /* Chrome10+,Safari5.1+ */ 
    background: -o-linear-gradient(left, #0071a0 1%,#ff0000 100%); /* Opera 11.10+ */ 
    background: -ms-linear-gradient(left, #0071a0 1%,#ff0000 100%); /* IE10+ */ 
    background: linear-gradient(to right, #0071a0 1%,#ff0000 100%); /* W3C */ 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0071a0', endColorstr='#ff0000',GradientType=1); /* IE6-9 */ 
    } 

http://jsfiddle.net/yAxbJ/

Vấn đề khác là bạn đang sử dụng gần màu trắng, vì vậy hiệu ứng gradient isnt rằng đáng chú ý. Hãy thử đổi sang màu bắt đầu riêng biệt hơn như # ff000 để xem liệu độ dốc có thực sự hoạt động trước không. Ngoài ra, bạn có một giá trị màu nền trùng lặp.

+0

Cảm ơn Luke đã chỉ ra giá trị màu nền dự phòng của tôi, nó đã được chỉnh sửa ngay bây giờ, tuy nhiên tôi không thể đặt gradientType thành 1 trong fiddle của bạn. Hơn nữa tôi đang sử dụng hình nền thay vì nền. Tôi có thể thử gì khác không? – smons

+0

gradientType chỉ đơn giản là thay đổi hướng của gradient trong IE - http://jsfiddle.net/yAxbJ/1/ - nền là viết tắt của tất cả các thuộc tính nền. background-image nên được sử dụng đặc biệt cho một ảnh, tức là background-image: url ('image.jpg'); xem ở đây - http://stackoverflow.com/questions/10205464/whats-the-difference-between-specifying-background-vs-background-color-in – lukeocom

+0

Tôi không có bất kỳ đề xuất thêm về những gì để thử. Mã tôi đã cung cấp trước đây sẽ hoạt động cho bạn trong IE8 ... – lukeocom

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