Эффект Fade CSS3 - программирование
Подтвердить что ты не робот

Эффект Fade CSS3

a {
    float: left;
    width: 32px;
    height: 32px;
    text-align: left;
    text-indent:-9999px;
    background: url('../img/button.png') no-repeat 0 0;

    -webkit-transition: background 300ms ease-in 2s; /* property duration timing-function delay */
    -moz-transition: background 300ms ease-in 2s;
    -o-transition: background 300ms ease-in 2s;
    transition: background 300ms ease-in 2s;


    -webkit-transition-property: background;
    -webkit-transition-duration: 300ms;
    -webkit-transition-timing-function: ease-in;
    -webkit-transition-delay: 100ms;

    -moz-transition-property: background;
    -moz-transition-duration: 300ms;
    -moz-transition-timing-function: ease-in;
    -moz-transition-delay: 100ms;

    -o-transition-property: background;
    -o-transition-duration: 300ms;
    -o-transition-timing-function: ease-in;
    -o-transition-delay: 100ms;

    transition-property: background;
    transition-duration: 300ms;
    transition-timing-function: ease-in;
    transition-delay: 100ms;

}

a:hover {
    background:position: 0 -32px;
}

.. в настоящее время он имеет эффект прокрутки вверх/вниз, но я хочу, чтобы фон изменялся с эффектом затухания, что мне нужно изменить в CSS?

Спасибо!

4b9b3361

Ответ 1

Вы не можете переходить между двумя фоновыми изображениями, так как браузеру не известно, что вы хотите интерполировать. Как вы обнаружили, вы можете перейти к исходной позиции. Если вы хотите, чтобы изображение затухало при наведении мыши, я думаю, что лучший способ сделать это с помощью CSS-переходов - разместить изображение на содержащем элементе, а затем оживить цвет фона до прозрачного по самой ссылке:

span {
    background: url(button.png) no-repeat 0 0;
}
a {
    width: 32px;
    height: 32px;
    text-align: left;
    background: rgb(255,255,255);

    -webkit-transition: background 300ms ease-in 200ms; /* property duration timing-function delay */
    -moz-transition: background 300ms ease-in 200ms;
    -o-transition: background 300ms ease-in 200ms;
    transition: background 300ms ease-in 200ms;
    }
a:hover {
    background: rgba(255,255,255,0);
}

Ответ 2

Эффект прокрутки является причиной, задав свойство generic "background" в вашем css вместо более конкретного фонового изображения. Установив свойство фона, анимация будет переходить между всеми свойствами. Фоновый цвет, Фоновое изображение, Фоновая позиция и т.д. Таким образом, эффект прокрутки.

например.

a {
-webkit-transition-property: background-image 300ms ease-in 200ms;
-moz-transition-property: background-image 300ms ease-in 200ms;
-o-transition-property: background-image 300ms ease-in 200ms;
transition: background-image 300ms ease-in 200ms;
}

Ответ 3

Возможно, используйте следующую структуру:

<li><a><span></span></a></li>
<li><a><span></span></a></li>

и т.д...

Где <li> содержит тег привязки <a>, который содержит диапазон, как показано выше. Затем вставьте следующий css:

  • LI get position: relative;
  • Отдать <a> тег a height, width
  • Установите <span> width и height на 100%, так что обе <a> и <span> имеют одинаковые размеры
  • Оба <a> и <span> получают position: relative;.
  • Назначить одно и то же фоновое изображение для каждого элемента Тег
  • <a> будет иметь "OFF" background-position, а <span> будет иметь 'ON' background-poisiton.
  • Для состояния "ВЫКЛ" используйте непрозрачность 0 для <span>
  • Для 'ON' :hover используется непрозрачность состояния 1 для <span>
  • Установите переход -webkit или -moz в элемент <span>

У вас будет возможность использовать эффект перехода, но по-прежнему не выполняет старую подкачку background-position. Не забудьте вставить IE-альфа-фильтр.