In my previous posts, i explained how we can create gradient without any images. In this , i am going to explain combine background image and css gradient.
Originally, I started with the following css
.button{
width:130px;
padding:20px;
margin:10px;
}
.example1{
background:url(IMG URL) no-repeat;
/* for firefox 3.6+ */
background-image: -moz-linear-gradient(top, #CBf6FA, #A6DD9F);
/* for webkit browsers */
background-image: -webkit-gradient(linear, left top, left bottom, from(#CBf6FA),to(#A6DD9F));
}
<div class="button example1">Button</div>
It will give the out like below:
It was close but not quite what I wanted. My background image was being hidden behind gradient. The problem here is gradient is specified as a background-image, which means they override any previously declared background-image.
So, here I went with few minor changes to my CSS by specifying background color as a fall-back for browsers that don't support CSS3 gradients.
.button{
width:130px;
padding:20px;
margin:10px;
}
.example1{
background-color:#CBf6FA;
/* for firefox 3.6+ */
background-image: url(IMG URL), -moz-linear-gradient(top, #CBf6FA, #A6DD9F);
/* for webkit browsers */
background-image: url(IMG URL), -webkit-gradient(linear, left top, left bottom, from(#CBf6FA),to(#A6DD9F));
/* IE 10 */
background-image: url(IMAGE_URL), -ms-linear-gradient(top, #CBf6FA, #A6DD9F);
/* Opera 11.10+ */
background-image: url(IMAGE_URL), -o-linear-gradient(top, #CBf6FA, #A6DD9F);
/* make IE happy */
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=#CBf6FA, endColorstr=#A6DD9F);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient (GradientType=0, startColorstr=#CBf6FA, endColorstr=#A6DD9F)";
background-position: 4px 50%, 0 0;
background-repeat: no-repeat;
}
<div class="button example1">Button</div>
thats it!


I'm not sure about your IE fix. I'm trying to do the same thing, but the IE filter /*make IE happy */ displays the gradient, but not the background image.
ReplyDeletecan you tell me which IE(IE 6/7/8/9) is that?
Delete