Використовуйте переходи CSS3 з фоном градієнта


215

Я намагаюся перейти на курсор на курсорі з допомогою css над мініатюрою, так що на наведення курсора фоновий градієнт зникає. Перехід не працює, але якщо я просто зміню його на rgba()значення, він працює добре. Не підтримуються градієнти? Я також спробував використати зображення, воно також не перейде.

Я знаю, що це можливо, як в іншому дописі хтось це зробив, але я не можу зрозуміти, як саме. Будь-яка допомога> Ось декілька CSS для роботи:

#container div a {
  -webkit-transition: background 0.2s linear;
  -moz-transition: background 0.2s linear;
  -o-transition: background 0.2s linear;
  transition: background 0.2s linear;
  position: absolute;
  width: 200px;
  height: 150px;
  border: 1px #000 solid;
  margin: 30px;
  z-index: 2
}

#container div a:hover {
  background: -webkit-gradient(radial, 100 75, 100, 100 75, 0, from(rgba(0, 0, 0, .7)), to(rgba(0, 0, 0, .4)))
}

5
IE10 підтримує переходи градієнта зараз - це було щасливим сюрпризом!
sirmdawg

@mkprogramming, о, це дійсно і чудово виглядає! Ось демонстрація (працює з IE10 +). Сподіваємось, інші веб-переглядачі також отримують підтримку для цього класного.
Qtax

Цей сайт мав найкраще рішення, працював для мене: nimbupani.com/some-css-transition-hacks.html
Том Хаген

Відповіді:


173

Градієнти ще не підтримують переходи (хоча поточна специфікація говорить, що вони повинні підтримувати градієнт, як переходи градієнта через інтерполяцію.).

Якщо ви хочете ефект затухання з градієнтом фону, вам слід встановити непрозорість на елементі контейнера і "перейти" на непрозорість.

(Були деякі версії браузера, які підтримували переходи на градієнтах (наприклад, IE10. Я тестував переходи градієнтів у 2016 році в IE, і, здавалося, вони працювали на той час, але мій тестовий код більше не працює.)

Оновлення: жовтень 2018 Переходи градієнта з неперефіксованим новим синтаксисом [наприклад, радіально-градієнт (...)] тепер підтверджено для роботи (знову?) В Microsoft Edge 17.17134. Я не знаю, коли це було додано. Досі не працює над останніми Firefox та Chrome / Windows 10.


1
Більше того, специфікація градієнта ще не закінчена, і поточна специфікація градієнта розробка вже далека від поточного втілення -webkit-градієнта.
c-smile

1
Але крайні веб-браузери тепер підтримують нову специфікацію градієнта спадщини mozilla, а також старіший синтаксис webkit. Конфузно те, що вони обидва
Webbkit

3
Це те, що IE10 повністю підтримує градієнтні переходи.
Niet the Dark Absol


2
Чи можете ви додати демонстрацію щодо використання переходів із градієнтами зараз? Я, здається, не можу це зрозуміти, грунтуючись на вашій відповіді (і інших новин про це не можу знайти). Останнє, що я чув, ви не можете переходити між двома фоновими зображеннями, ось якими були градієнти.
Маккензі Макклайн

98

Один з напрямків - перехід фонового положення, щоб мати ефект, що градієнт змінюється: http://sapphion.com/2011/10/css3-gradient-transition-with-background-position/

Перехід градієнта CSS3 з фоновим положенням

Хоча ви не можете безпосередньо анімувати градієнти за допомогою властивості переходу CSS, можна анімувати властивість фонового положення для досягнення простої анімації градієнта:

Код для цього мертвий простий:

#DemoGradient{  
    background: -webkit-linear-gradient(#C7D3DC,#5B798E);  
    background: -moz-linear-gradient(#C7D3DC,#5B798E);  
    background: -o-linear-gradient(#C7D3DC,#5B798E);  
    background: linear-gradient(#C7D3DC,#5B798E);  
  
    -webkit-transition: background 1s ease-out;  
    -moz-transition: background 1s ease-out;  
    -o-transition: background 1s ease-out;  
    transition: background 1s ease-out;  
  
    background-size:1px 200px;  
    border-radius: 10px;  
    border: 1px solid #839DB0;  
    cursor:pointer;  
    width: 150px;  
    height: 100px;  
}  
#DemoGradient:Hover{  
    background-position:100px;  
}  
<div id="DemoGradient"></div>  


31

Рішення полягає у використанні позиції фону для імітації переходу градієнта. Це рішення було використано в Twitter Bootstrap кілька місяців тому.

Оновлення

http://codersblock.blogspot.fr/2013/12/gradient-animation-trick.html?showComment=1390287622614

Ось короткий приклад:

Стан зв'язку

 .btn {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  font-weight: 300;
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #fff;
  padding: 20px 40px;
  background-image: -moz-linear-gradient(top, #50abdf, #1f78aa);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#50abdf), to(#1f78aa));
  background-image: -webkit-linear-gradient(top, #50abdf, #1f78aa);
  background-image: -o-linear-gradient(top, #50abdf, #1f78aa);
  background-image: linear-gradient(to bottom, #50abdf, #1f78aa);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff50abdf', endColorstr='#ff1f78aa', GradientType=0);
  background-repeat: repeat-y;
  background-size: 100% 90px;
  background-position: 0 -30px;
  -webkit-transition: all 0.2s linear;
     -moz-transition: all 0.2s linear;
       -o-transition: all 0.2s linear;
          transition: all 0.2s linear;
}

Держава наведення

.btn:hover {
   background-position: 0 0;
}

1
Ваша відповідь була відповідною до того, як ви її відредагували. Зараз це зовсім не відповідь, а лише посилання на ваш веб-сайт. Я повертаю вашу відповідь до оригіналу.
Ендрю Барбер

Без проблем. Просто потрібно внести незначні зміни.
vinzcelavi

2
І ось загадка для цього: jsfiddle.net/Volker_E/RksTV Ключ - це властивість background-size, яку ви не можете в IE8. caniuse.com/#search=background-size Крім того, це приємне рішення.
Волкер Е.

11

Для чого це варто, ось Sass mixin:

Використання:

@include gradientAnimation(red, blue, .6s);

Mixin:

@mixin gradientAnimation( $start, $end, $transTime ){
    background-size: 100%;
    background-image: linear-gradient($start, $end);
    position: relative;
    z-index: 100;
    &:before {
        background-image: linear-gradient($end, $start);
        content: "";
        display: block;
        height: 100%;
        position: absolute;
        top: 0; left: 0;
        opacity: 0;
        width: 100%;
        z-index: -100;
        transition: opacity $transTime;
    }
    &:hover {
        &:before {
            opacity: 1;
        }
    }
}

Створено з цієї дивовижної публікації на Medium від Дейва Ланні: https://medium.com/@dave_lunny/animating-css-gradients-using-only-css-d2fd7671e759


1
Публікація на Medium дуже корисна, дякую, що додали її
Gendrith,

9

Я знаю, що це старе питання, але хтось може насолодитися моїм рішенням у чистому CSS. Градієнт згасає зліва направо.

.contener{
  background-image:url('http://www.imgbase.info/images/safe-wallpapers/digital_art/3d_landscape/9655_3d_landscape.jpg');   width:300px;
  height:200px;
  background-size:cover;
  border:solid 2px black;
}
.ed {
    width: 0px;
    height: 200px;
    background:linear-gradient(to right, rgba(0,0,255,0.75), rgba(255,0,0,0.75));
    position: relative;
    opacity:0;
    transition:width 20s, opacity 0.6s;
}

.contener:hover .ed{
    width: 300px;
    background:linear-gradient(to right, rgba(0,0,255,0.75), rgba(255,0,0,0.75));
    position: relative;
    opacity:1;
    transition:width 0.4s, opacity 1.1s;
    transition-delay: width 2s;
    
    animation-name: gradient-fade;
    animation-duration: 1.1s;   
    -webkit-animation-name: gradient-fade; /* Chrome, Safari, Opera */
    -webkit-animation-duration: 1.1s; /* Chrome, Safari, Opera */
}




/* ANIMATION */
@-webkit-keyframes gradient-fade {
    0%   {background:linear-gradient(to right, rgba(0,0,255,0), rgba(255,0,0,0));}
    2%  {background:linear-gradient(to right, rgba(0,0,255,0.01875), rgba(255,0,0,0));}
    4%  {background:linear-gradient(to right, rgba(0,0,255,0.0375), rgba(255,0,0,0.0));}
    6%  {background:linear-gradient(to right, rgba(0,0,255,0.05625), rgba(255,0,0,0.0));}
    8% {background:linear-gradient(to right, rgba(0,0,255,0.075), rgba(255,0,0,0));}
    10%  {background:linear-gradient(to right, rgba(0,0,255,0.09375), rgba(255,0,0,0));}
    12%   {background:linear-gradient(to right, rgba(0,0,255,0.1125), rgba(255,0,0,0));}
    14%  {background:linear-gradient(to right, rgba(0,0,255,0.13125), rgba(255,0,0,0));}
    16%  {background:linear-gradient(to right, rgba(0,0,255,0.15), rgba(255,0,0,0));}
    18%  {background:linear-gradient(to right, rgba(0,0,255,0.16875), rgba(255,0,0,0));}
    20% {background:linear-gradient(to right, rgba(0,0,255,0.1875), rgba(255,0,0,0));}
    22%  {background:linear-gradient(to right, rgba(0,0,255,0.20625), rgba(255,0,0,0.01875));}
    24%   {background:linear-gradient(to right, rgba(0,0,255,0.225), rgba(255,0,0,0.0375));}
    26%  {background:linear-gradient(to right, rgba(0,0,255,0.24375), rgba(255,0,0,0.05625));}
    28%  {background:linear-gradient(to right, rgba(0,0,255,0.2625), rgba(255,0,0,0.075));}
    30%  {background:linear-gradient(to right, rgba(0,0,255,0.28125), rgba(255,0,0,0.09375));}
    32% {background:linear-gradient(to right, rgba(0,0,255,0.3), rgba(255,0,0,0.1125));}
    34%  {background:linear-gradient(to right, rgba(0,0,255,0.31875), rgba(255,0,0,0.13125));}
    36%   {background:linear-gradient(to right, rgba(0,0,255,0.3375), rgba(255,0,0,0.15));}
    38%  {background:linear-gradient(to right, rgba(0,0,255,0.35625), rgba(255,0,0,0.16875));}
    40%  {background:linear-gradient(to right, rgba(0,0,255,0.375), rgba(255,0,0,0.1875));}
    42%  {background:linear-gradient(to right, rgba(0,0,255,0.39375), rgba(255,0,0,0.20625));}
    44% {background:linear-gradient(to right, rgba(0,0,255,0.4125), rgba(255,0,0,0.225));}
    46%  {background:linear-gradient(to right, rgba(0,0,255,0.43125),rgba(255,0,0,0.24375));}
    48%   {background:linear-gradient(to right, rgba(0,0,255,0.45), rgba(255,0,0,0.2625));}
    50%  {background:linear-gradient(to right, rgba(0,0,255,0.46875), rgba(255,0,0,0.28125));}
    52%  {background:linear-gradient(to right, rgba(0,0,255,0.4875), rgba(255,0,0,0.3));}
    54%   {background:linear-gradient(to right, rgba(0,0,255,0.50625), rgba(255,0,0,0.31875));}
    56%  {background:linear-gradient(to right, rgba(0,0,255,0.525), rgba(255,0,0,0.3375));}
    58%  {background:linear-gradient(to right, rgba(0,0,255,0.54375), rgba(255,0,0,0.35625));}
    60%  {background:linear-gradient(to right, rgba(0,0,255,0.5625), rgba(255,0,0,0.375));}
    62% {background:linear-gradient(to right, rgba(0,0,255,0.58125), rgba(255,0,0,0.39375));}
    64%  {background:linear-gradient(to right,rgba(0,0,255,0.6), rgba(255,0,0,0.4125));}
    66%   {background:linear-gradient(to right, rgba(0,0,255,0.61875), rgba(255,0,0,0.43125));}
    68%  {background:linear-gradient(to right, rgba(0,0,255,0.6375), rgba(255,0,0,0.45));}
    70%  {background:linear-gradient(to right, rgba(0,0,255,0.65625), rgba(255,0,0,0.46875));}
    72%  {background:linear-gradient(to right, rgba(0,0,255,0.675), rgba(255,0,0,0.4875));}
    74% {background:linear-gradient(to right, rgba(0,0,255,0.69375), rgba(255,0,0,0.50625));}
    76%  {background:linear-gradient(to right, rgba(0,0,255,0.7125), rgba(255,0,0,0.525));}
    78%   {background:linear-gradient(to right, rgba(0,0,255,0.73125),,rgba(255,0,0,0.54375));}
    80%  {background:linear-gradient(to right, rgba(0,0,255,0.75), rgba(255,0,0,0.5625));}
    82%  {background:linear-gradient(to right, rgba(0,0,255,0.75), rgba(255,0,0,0.58125));}
    84%  {background:linear-gradient(to right, rgba(0,0,255,0.75),rgba(255,0,0,0.6));}
    86% {background:linear-gradient(to right, rgba(0,0,255,0.75), rgba(255,0,0,0.61875));}
    88%  {background:linear-gradient(to right, rgba(0,0,255,0.75), rgba(255,0,0,0.6375));}
    90%   {background:linear-gradient(to right, rgba(0,0,255,0.75), rgba(255,0,0,0.65625));}
    92%  {background:linear-gradient(to right, rgba(0,0,255,0.75), rgba(255,0,0,0.675));}
    94%  {background:linear-gradient(to right, rgba(0,0,255,0.75),rgba(255,0,0,0.69375));}
    96%  {background:linear-gradient(to right, rgba(0,0,255,0.75), rgba(255,0,0,0.7125));}
    98% {background:linear-gradient(to right, rgba(0,0,255,0.75), rgba(255,0,0,0.73125),);}
    100%  {background:linear-gradient(to right, rgba(0,0,255,0.75), rgba(255,0,0,0.75));}
}
<div class="contener" style="">
  <div class="ed"></div>
</div>


3

Далі тегом прив’язки є дитина та онук. Онук має далекий фоновий градієнт. Дитина на найближчому фоні прозора, але має градієнт до переходу до. Після наведення непрозорість дитини переходить від 0 до 1 протягом 1 секунди.

Ось CSS:

.bkgrndfar {
  position:absolute;
  top:0;
  left:0;
  z-index:-2;
  height:100%;
  width:100%;
  background:linear-gradient(#eee, #aaa);
}

.bkgrndnear {
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:100%;
  background:radial-gradient(at 50% 50%, blue 1%, aqua 100%);
  opacity:0;
  transition: opacity 1s;
}

a.menulnk {
  position:relative;
  text-decoration:none;
  color:#333;
  padding: 0 20px;
  text-align:center;
  line-height:27px;
  float:left;
}

a.menulnk:hover {
  color:#eee;
  text-decoration:underline;
}

/* This transitions child opacity on parent hover */
a.menulnk:hover .bkgrndnear {
  opacity:1;
}

І ось HTML:

<a href="#" class="menulnk">Transgradient
<div class="bkgrndfar">
  <div class="bkgrndnear">
  </div>
</div>
</a>

Вищевказане тестується лише в останній версії Chrome. Це зображення перед наведенням, на півдорозі на наведення курсору та повністю перенесені зображення на ховер:

До цього На півдорозі Після


3

Часткове вирішення для переходу градієнта полягає у використанні тіні поля вставки - ви можете переходити або самій тінь поля, або кольором тла - наприклад, якщо ви створюєте тінь поля вставки того ж кольору, що і фон, і ніж використовуєте перехід на колір тла, це створює ілюзію що звичайний фон змінюється на радіальний градієнт

.button SPAN {
    padding: 10px 30px; 
    border: 1px solid ##009CC5;

    -moz-box-shadow: inset 0 0 20px 1px #00a7d1;
    -webkit-box-shadow: inset 0 0 20px 1px#00a7d1;
    box-shadow: inset 0 0 20px 1px #00a7d1; 

    background-color: #00a7d1;
    -webkit-transition: background-color 0.5s linear;
    -moz-transition: background-color 0.5s linear;
    -o-transition: background-color 0.5s linear;
    transition: background-color 0.5s linear;
}

.button SPAN:hover {
    background-color: #00c5f7; 
}

1
розумне рішення, вкладена тінь може ідеально створити градієнтну ілюзію
Азіз

2

Ви можете ФАКУВАТИ переходи між градієнтами, використовуючи переходи в непрозорості кількох складених градієнтів, як описано в кількох відповідях тут:

CSS3 анімація з градієнтами .

Ви також можете перемістити позицію, як описано тут:

Перехід градієнта CSS3 з фоновим положенням .

Ще кілька прийомів тут:

Анімація градієнтів CSS3 .


2

Знайдено хороший злом на codepen, який модифікує opacityвластивість, але досягає того, що він переходить з одного градієнта в інший, використовуючи псевдоелементи. Що він робить, це він встановлює :afterтак, що коли ви змінюєте непрозорість фактичного елемента, :afterелемент відображається так, що він виглядає так, ніби бляк. Думав, що було б корисно поділитися.

Оригінальний коден: http://codepen.io/sashtown/pen/DfdHh

.button {
  display: inline-block;
  margin-top: 10%;
  padding: 1em 2em;
  font-size: 2em;
  color: #fff;
  font-family: arial, sans-serif;
  text-decoration: none;
  border-radius: 0.3em;
  position: relative;
  background-color: #ccc;
  background-image: linear-gradient(to top, #6d8aa0, #8ba2b4);
  -webkit-backface-visibility: hidden;
  z-index: 1;
}
.button:after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0.3em;
  background-image: linear-gradient(to top, #ca5f5e, #d68584);
  transition: opacity 0.5s ease-out;
  z-index: 2;
  opacity: 0;
}
.button:hover:after {
  opacity: 1;
}
.button span {
  position: relative;
  z-index: 3;
}
body {
  text-align: center;
  background: #ddd;
}
<a class="button" href="#"><span>BUTTON</span></a>


2

Виходячи з коду css у вашому запитанні, я спробував код наступним чином, і він працює для мене (запустіть фрагмент коду), і будь ласка, спробуйте самостійно:

#container div a {
  display: inline-block;
  margin-top: 10%;
  padding: 1em 2em;
  font-size: 2em;
  color: #fff;
  font-family: arial, sans-serif;
  text-decoration: none;
  border-radius: 0.3em;
  position: relative;
  background-color: #ccc;
  background-image: linear-gradient(to top, #C0357E, #EE5840);
  -webkit-backface-visibility: hidden;
  z-index: 1;
}
     
#container div a:after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0.3em;
  background-image: linear-gradient(to top, #6d8aa0, #343436);
  transition: opacity 0.5s ease-out;
  z-index: 2;
  opacity: 0;
}
    
#container div a:hover:after {
  opacity: 1;
}
#container div a span {
  position: relative;
  z-index: 3;
}
<div id="container"><div><a href="#"><span>Press Me</span></a></div></div>

На основі коду css у вашому запитанні я спробував код наступним чином, і він працює для мене, і будь ласка, спробуйте самостійно:

    #container div a {
  display: inline-block;
  margin-top: 10%;
  padding: 1em 2em;
  font-size: 2em;
  color: #fff;
  font-family: arial, sans-serif;
  text-decoration: none;
  border-radius: 0.3em;
  position: relative;
  background-color: #ccc;
  background-image: linear-gradient(to top, #C0357E, #EE5840);
  -webkit-backface-visibility: hidden;
  z-index: 1;
}

#container div a:after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0.3em;
  background-image: linear-gradient(to top, #6d8aa0, #343436);
  transition: opacity 0.5s ease-out;
  z-index: 2;
  opacity: 0;
}

#container div a:hover:after {
  opacity: 1;
}
#container div a span {
  position: relative;
  z-index: 3;
}

Це працює на вас? Змініть колір залежно від ваших потреб :)


1

Спробуйте використовувати: до та: після (тобто9 +)

#wrapper{
    width:400px;
    height:400px;
    margin:0 auto;
    border: 1px #000 solid;
    position:relative;}
#wrapper:after,
#wrapper:before{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    content:'';
    background: #1e5799;
    background: -moz-linear-gradient(top, #1e5799 0%, #2989d8 50%, #207cca 51%, #7db9e8 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#1e5799), color-stop(50%,#2989d8), color-stop(51%,#207cca), color-stop(100%,#7db9e8));
    background: -webkit-linear-gradient(top, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%);
    background: -o-linear-gradient(top, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%);
    background: -ms-linear-gradient(top, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%);
    background: linear-gradient(to bottom, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%);
    opacity:1;
    z-index:-1;
    -webkit-transition: all 2s ease-out;
    -moz-transition: all 2s ease-out;
    -ms-transition: all 2s ease-out;
    -o-transition: all 2s ease-out;
    transition: all 2s ease-out;
}
#wrapper:after{
    opacity:0;
    background: #87e0fd;
    background: -moz-linear-gradient(top, #87e0fd 0%, #53cbf1 40%, #05abe0 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#87e0fd), color-stop(40%,#53cbf1), color-stop(100%,#05abe0));
    background: -webkit-linear-gradient(top, #87e0fd 0%,#53cbf1 40%,#05abe0 100%);
    background: -o-linear-gradient(top, #87e0fd 0%,#53cbf1 40%,#05abe0 100%);
    background: -ms-linear-gradient(top, #87e0fd 0%,#53cbf1 40%,#05abe0 100%);
    background: linear-gradient(to bottom, #87e0fd 0%,#53cbf1 40%,#05abe0 100%);
}
#wrapper:hover:before{opacity:0;}
#wrapper:hover:after{opacity:1;}

1

Як зазначено. Наразі градієнти не підтримуються CSS-переходами. Але ви могли б обійти його в деяких випадках, встановивши один з кольорів прозорим, щоб фоновий колір якогось іншого обгорткового елемента просвічувався, а замість цього переходив.


1

Я використовую це на роботі :) IE6 + https://gist.github.com/GrzegorzPerko/7183390

Не забувайте про те, <element class="ahover"><span>Text</span></a>якщо ви використовуєте текстовий елемент.

.ahover {
    display: block;
    /** text-indent: -999em; ** if u use only only img **/
    position: relative;
}
.ahover:after {
    content: "";
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: all 0.5s ease 0s;
    width: 100%;
    z-index: 1;
}
.ahover:hover:after {
    opacity: 1;
}
.ahover span {
    display: block;
    position: relative;
    z-index: 2;
}

0

Не завадить опублікувати інший вигляд, оскільки це все ще не існує офіційного способу зробити це. Написав легкий плагін jQuery, за допомогою якого можна визначити фоновий радіальний градієнт та швидкість переходу. Це основне використання дозволить їй зникнути, оптимізовану за допомогою requestAnimationFrame (дуже гладка):

$('#element').gradientFade({

    duration: 2000,
    from: '(20,20,20,1)',
    to: '(120,120,120,0)'
});

http://codepen.io/Shikkediel/pen/xbRaZz?editors=001

Зберігає оригінальний фон та всі властивості недоторканими. Також є налаштування відстеження виділень:

http://codepen.io/Shikkediel/pen/VYRZZY?editors=001


0

Мені хотілося, щоб дів з'явився як 3D-сфера і переходив через кольори. Я виявив, що кольори фонового градієнта не переходять (поки що). Я розмістив радіальний градієнтний фон перед елементом (використовуючи z-індекс) з перехідним твердим фоном.

/* overlay */
z-index : 1;
background : radial-gradient( ellipse at 25% 25%, rgba( 255, 255, 255, 0 ) 0%, rgba( 0, 0, 0, 1 ) 100% );

то div.ballпід ним:

transition : all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);

потім змінив колір тла div.ballта вуаля!

https://codepen.io/keldon/pen/dzPxZP

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.