Будьте креативны .. Это пример того, как я делаю градиентные переходы без дополнительных плагинов ..
Я использую 2 одинаковых div с разными градиентами, расположенными один над другим.Затем я использую jquery для анимации непрозрачности сверху.
Вот это шаг за шагом
- создайте оболочку с фиксированным размером, скажем, "width: 200px"и "height: 100px" (я использую обертку, чтобы было легче отрегулировать положение div внутри нее)
- создайте 2 div, которые имеют тот же размер, что и обертка, дают оба разных градиента фона, но используютодин и тот же контент для обоих, так что визуально меняется только фоновый градиент.
- добавить "позиция: относительная;"и отрегулируйте положение div, который будет сверху, в этом случае box2 с "bottom: 100px;"(обратите внимание на то же значение, что и высота обертки и элементов div. Это позволяет элементу div, который будет на вершине, перемещаться вверх на 100 пикселей, располагаясь прямо над нижним элементом div, относительно обертки ... это невозможно без использования«position: относительный;» в верхнем 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");
});
});
вы можете наложить третий div, так что вам не нужночтобы написать одно и то же содержимое дважды, добавив вторую обертку снаружи первой и поместив третий div после закрытия внутренней обертки ..
, чтобы просмотреть это, перейдите по следующей ссылке ..
Ссылка на пример