Css переход прозрачность фонового фона
Я делаю переход, где он исчезает в прозрачный белый, когда пользователь наводит изображение. Моя "проблема" в том, что мне нужно изменить цвет, который он исчезает, до черного. Я попробовал просто добавить фон: черный; к классу, который содержит переход, но он не работает неудобно, он все еще исчезает в прозрачном белом.
Код css, который я использую:
.item-food:hover{
opacity:0.2;
}
.item-fade{
background:black;
opacity: 0.8;
transition: opacity .25s ease-in-out;
-moz-transition: opacity .25s ease-in-out;
-webkit-transition: opacity .25s ease-in-out;
}
Посмотрите здесь маленькую скрипту js
Ответы
Ответ 1
Оберните свое изображение в элемент SPAN
, у которого есть background: black;
.imgHolder{
display: inline-block;
background: #000;
}
.item-fade{
vertical-align: top;
opacity: 1;
transition: opacity 0.3s;
-webkit-transition: opacity 0.3s;
}
.item-fade:hover{
opacity: 0.2;
}
<span class="imgHolder">
<img class="item-fade" src="http://placehold.it/100x100/cf5" />
</span>
Ответ 2
Он не исчезает до "черного прозрачного" или "белого прозрачного". Он просто показывает, какой цвет находится позади изображения, а не цвет фона изображения - этот цвет полностью скрыт от изображения.
Если вы хотите потемнеться до черного (ish), вам понадобится черный контейнер вокруг изображения. Что-то вроде:
.ctr {
margin: 0;
padding: 0;
background-color: black;
display: inline-block;
}
и
<div class="ctr"><img ... /></div>
Ответ 3
Обратите внимание, что проблема не в цвете white
. Это потому, что оно прозрачно.
Когда элемент становится прозрачным, вся его непрозрачность дочернего элемента; альфа-фильтр в IE 6 7 и т.д., изменяется на новое значение.
Итак, вы не можете сказать, что он белый!
Вы можете поместить элемент над ним и изменить прозрачность этого элемента на 1
, изменив прозрачность изображения на .2
или то, что вы когда-либо хотели.
Ответ 4
http://jsfiddle.net/6xJQq/13/
.container{
display:inline-block;
padding:5px;/*included padding to see background when img apacity is 100%*/
background-color:black;
opacity: 1;
}
.container:hover{
background-color:red;
}
img{
opacity: 1;
}
img:hover{
opacity: 0.7;
}
.transition{
transition: all .25s ease-in-out;
-moz-transition: all .25s ease-in-out;
-webkit-transition: all .25s
}