CSS設置DIV背景色漸變顯示

CSS設置DIV背景色漸變顯示
在學習網頁設計的過程中,對於背景的漸變色,好多代碼的規則都一樣,只是看怎麼找到這個規則,現在51RGB小編帶領大家看一下,這些是怎麼顯示的:

<style type="text/css">   
   .linear{   
       width:100%;   
       height:600px;   
       FILTER: progidXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#b8c4cb,endColorStr=#f6f6f8);/*IE 6 7 8*/   
       background: -ms-linear-gradient(top, #fff,  #0000ff);       /* IE 10 */  
       background:-moz-linear-gradient(top,#b8c4cb,#f6f6f8);/*火狐*/   
       background:-webkit-gradient(linear, 0% 0%, 0%100%,from(#b8c4cb), to(#f6f6f8));/*谷歌*/   
       background: -webkit-gradient(linear, 0% 0%, 0% 100%,from(#fff), to(#0000ff));      /* Safari 4-5, Chrome 1-9*/
       background: -webkit-linear-gradient(top, #fff, #0000ff);  /*Safari5.1 Chrome 10+*/  
       background: -o-linear-gradient(top, #fff, #0000ff); /*Opera 11.10+*/  
   }   
</style>  
  
<body>
   <div class="linear"></div>  
</body>
一、有點俗態的開場白
要是兩年前,實現兼容性的漸變效果這個說法估計不會被提出來的,那個時候,說起漸變背景,想到的多半是IE的漸變濾鏡,其他瀏覽器尚未支持,但是,在對CSS3支持日趨完善的今天,實現兼容性的漸變背景效果已經完全成爲可能,本文就將展示如何實現兼容性的漸變背景效果。在衆多的瀏覽器中,目前不支持Opera瀏覽器。
本文實例效果都是同樣的效果,就是垂直漸變,起始顏色紅色,結束顏色藍色,結束的藍色的透明度是0.5
二、IE瀏覽器下的漸變背景
IE瀏覽器下漸變背景的使用需要使用IE的漸變濾鏡。如下代碼:
[css]
filter:progidXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=1);
相關說明:
上面的濾鏡代碼主要有三個參數,依次是:startcolorstr, endcolorstr, 以及gradientType
其中gradientType=1代表橫向漸變,gradientType=0代表縱向淅變。startcolorstr=”色彩” 代表漸變漸變起始的色彩,endcolorstr=”色彩” 代表漸變結尾的色彩。
上面代碼實現的是紅色至藍色的漸變,但是不含透明度變化,這是由於IE目前尚未支持opacity屬性以及RGBA顏色,要實現IE下的透明度變化,還是需要使用IE濾鏡,IE的透明度濾鏡功能比較強大,這種強大反而與Firefox或是Safari瀏覽器下的css-gradient背景漸變的用法類似。例如下面的使用:
[css]
filter:alpha(opacity=100finishopacity=0 style=1 startx=0,starty=5,finishx=90,finishy=60)  
其中各個參數的含義如下:
opacity表示透明度,默認的範圍是從 100,他們其實是百分比的形式。也就是說,0代表完全透明,100代表完全不透明。
finishopacity是一個可選參數,如果想要設置漸變的透明效果,就可以使用他們來指定結束時的透明度。範圍也是 100
style用來指定透明區域的形狀特徵:
代表統一形狀
代表線形
代表放射狀
代表矩形。
startx 漸變透明效果開始處的 X座標。
starty 漸變透明效果開始處的 Y座標。
finishx漸變透明效果結束處的 X座標。
finishy漸變透明效果結束處的 Y座標。
綜合上述,實現IE下含透明度變化紅藍垂直漸變的代碼如下:
[css]
.gradient{
   width:300px;  
   height:150px;  
   filter:alpha(opacity=100 finishopacity=50 style=1startx=0,starty=0,finishx=0,finishy=150) progidXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=1);
   -ms-filter:alpha(opacity=100 finishopacity=50 style=1startx=0,starty=0,finishx=0,finishy=150)progidXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=1);
}
  
<divclass="gradient"></div>  
三、Firefox瀏覽器下的漸變背景
對於Firefox瀏覽器下(Firefox 3.6+)漸變背景的實現需使用CSS3漸變屬性,-moz-linear-gradient屬性,在之前文章我詳細介紹了Firefox3.6下漸變背景的實現,您有興趣可以狠狠地點擊這裏:CSS漸變之CSS3 gradientFirefox3.6下的使用 。這裏我就不再具體講述了,對於本文開頭提到的要實現的效果的實現可以參見下面的代碼:
[css]
.gradient{
   width:300px;  
   height:150px;  
   background:-moz-linear-gradient(top, red, rgba(0, 0, 255, 0.5));   
}
  
<divclass="gradient"></div>  
四、chrome/Safari瀏覽器下的漸變背景實現
對於webkit核心的瀏覽器,如Chrome/Safari瀏覽器下漸變背景的實現也是使用CSS3 漸變方法,css-gradient,具體爲-webkit-gradient,使用語Firefox瀏覽器是有一些差異的。我在上上一篇文章對此進行了非常詳細的介紹,您可以狠狠地點擊這裏:CSS gradient漸變之webkit核心瀏覽器下的使用 。具體使用就不詳述了,參見下面的代碼:
[css]
.gradient{
   width:300px;  
   height:150px;  
   background:-webkit-gradient(linear, 0 0, 0 bottom, from(#ff0000),to(rgba(0, 0, 255, 0.5)));   
}
  
<divclass="gradient"></div>  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章