有創意 ..這是我該怎麼辦漸變過渡而不爲例額外的插件..
我使用2個不同梯度的完全相同的divs層疊在一起。然後我使用jQuery動畫在頂部的一個的不透明度..
這裏是一步一步
- 創建一個固定大小的包裝可以說「寬度:200像素」和「高度:100像素「(我使用包裝,以便更容易調整其中的div的位置)
- 創建2個尺寸與包裝相同的尺寸給出不同的背景漸變,但使用相同的內容,以便在視覺上只有這兩個變化的東西是背景漸變。
- 加「position:relative;」並調整位於頂部的div的位置,在這種情況下box2的「bottom:100px;」 (注意它與包裝器和div的高度相同,這使得頂部的div相對於包裝器向上移動100px,將它自己定位在較低的div上。如果沒有使用「position:relative」,這是不可能的。在頂部的div)
- 動畫div的不透明度與您喜歡的方式,我使用fadeToggle在這個例子中
HTML -----
<a href="#">Click to change gradient</a><br>
<div align="center" style="width:200px; height:100px;">
<div style="width:200px; height:100px;" class="box1" id="box1">CONTENT BOTTOM DIV</div>
<div style="width:200px; height:100px; position:relative;" class="box2" id="box2">CONTENT TOP DIV</div>
</div>
變化特徵CSS ---- -
.box1 {
background: rgb(237,144,23); /* Old browsers */
background: -moz-linear-gradient(top, rgba(237,144,23,1) 0%, rgba(246,230,180,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(237,144,23,1)), color-stop(100%,rgba(246,230,180,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(237,144,23,1) 0%,rgba(246,230,180,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(237,144,23,1) 0%,rgba(246,230,180,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(237,144,23,1) 0%,rgba(246,230,180,1) 100%); /* IE10+ */
background: linear-gradient(top, rgba(237,144,23,1) 0%,rgba(246,230,180,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ed9017', endColorstr='#f6e6b4',GradientType=0); /* IE6-9 */
}
.box2 {
background: rgb(246,230,180); /* Old browsers */
background: -moz-linear-gradient(top, rgba(246,230,180,1) 0%, rgba(237,144,23,1) 100%);/* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(246,230,180,1)), color-stop(100%,rgba(237,144,23,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(246,230,180,1) 0%,rgba(237,144,23,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(246,230,180,1) 0%,rgba(237,144,23,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(246,230,180,1) 0%,rgba(237,144,23,1) 100%); /* IE10+ */
background: linear-gradient(top, rgba(246,230,180,1) 0%,rgba(237,144,23,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6e6b4', endColorstr='#ed9017',GradientType=0); /* IE6-9 */
}
jQuery的動畫----
$(document).ready(function(){
$("a").click(function(){
$("#box2").fadeToggle(100, "linear");
});
});
,使你不需要通過添加第二個包裝的第一個外,並把第三格內包裝後關閉兩次寫相同的內容,您可以層的第三格..
查看此去下面的鏈接..
Link to example
也許動畫步驟功能可以幫助?從來沒有使用過它... – speendo 2011-04-02 13:19:07
不要忘記'-o-linear-gradient',對於Opera – 2011-04-03 08:52:15