Я делал класс переключения в JavaScript, в котором у меня есть div, который переключает его класс при наведении мыши. Один из классов div имеет цветной фон, а другой - изображение. Проблема в том, что изображение приходит мгновенно и не проходит плавно
Мой код css:
.container{
}
.first{
height: 100%;
width: 33%;
position: absolute;
background-color: #ecf0f1;
top: 0px;
left: 0px;
background-color: none;
-webkit-transition: all 0.5s ease-in-out;
}
.sec{
height: 100%;
width: 33%;
position: absolute;
background-color: #ecf0f1;
top: 0px;
left: 0px;
z-index: 5;
background: url(1.jpg);
background-color: none;
-webkit-transition: all 0.5s ease-in-out;
}
Мой код HTML:
<div id="container" class="first"><span>HELOO</span>
</div>
и, наконец, мой JavaScript:
this.classList.toggle('first');
this.classList.toggle('sec');
document.getElementById('#container').style.WebkitTransition = 'all 0.5s';
}
document.querySelector('#container').addEventListener('mouseenter', a )
document.querySelector('#container').addEventListener('mouseout', a )
document.getElementById('#container').style.WebkitTransition = 'all 0.5s';
Просто для обучения, если вы настаиваете на использовании javascript для переключения класса.
Проверьте это на http://jsfiddle.net/qtpCS/
Использование :after
техники.
вы не можете установить эффект перехода на фоновое изображение, но есть способ, которым вы можете имитировать это. посмотрите на этот код:
HTML
<div>
<span>HELOO</span>
</div>
CSS
div{
width:200px;
height:200px;
background:url(http://lorempixel.com/200/200);
position:relative;
}
span{
position:absolute;
width:100%;
height:100%;
background-color:#ddd;
-webkit-transition:all 0.5s ease;
-moz-transition:all 0.5s ease;
-ms-transition:all 0.5s ease;
-o-transition:all 0.5s ease;
transition:all 0.5s ease;
}
span:hover{
background-color:transparent;
}