CSS:在鼠标移出时转换不透明度?
.item:hover { zoom: 1; filter: alpha(opacity=50); opacity: 0.5; -webkit-transition: opacity .15s ease-in-out; -moz-transition: opacity .15s ease-in-out; -ms-transition: opacity .15s ease-in-out; -o-transition: opacity .15s ease-in-out; transition: opacity .15s ease-in-out; }
为什么只有当我hover时才会使不透明度变成animation,而不是当我用鼠标离开物体时?
在这里演示: http : //jsfiddle.net/7uR8z/
您只将转换应用到:hover
伪类,而不是元素本身。
.item { height:200px; width:200px; background:red; -webkit-transition: opacity 1s ease-in-out; -moz-transition: opacity 1s ease-in-out; -ms-transition: opacity 1s ease-in-out; -o-transition: opacity 1s ease-in-out; transition: opacity 1s ease-in-out; } .item:hover { zoom: 1; filter: alpha(opacity=50); opacity: 0.5; }
演示: http : //jsfiddle.net/7uR8z/6/
如果您不希望转换影响mouse-over
事件,而只是mouse-out
:hover
,则可以closures:hover
状态的转换:
.item:hover { -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; zoom: 1; filter: alpha(opacity=50); opacity: 0.5; }
演示: http : //jsfiddle.net/7uR8z/3/
顺便说一句,我在FIREFOX中一直苦苦挣扎着,直到我意识到你在单词opacity中有一个错字:
-moz-transition: opactiy .15s ease-in-out;
需要是
-moz-transition: opacity .15s ease-in-out;
我设法find一个解决scheme使用CSS / jQuery,我很舒服。 最初的问题:我不得不强制显示animation,因为我有悬挂在该地区以外的元素的可见性。 这样做,在animation过程中,现在使大块文本悬挂在内容区域之外。
解决scheme是启动不透明度为0的主文本元素,并使用addClass
注入并转换为不透明度为1的removeClass
。然后在再次单击时removeClass
。
我确定有一个所有的jQquery方法来做到这一点。 我只是不是做这件事的人。 🙂
所以这是最基本的forms
.slideDown().addClass("load"); .slideUp().removeClass("load");
感谢大家的帮助。
$(window).scroll(function() { $('.logo_container, .slogan').css({ "opacity" : ".1", "transition" : "opacity .8s ease-in-out" }); });
检查小提琴: http : //jsfiddle.net/2k3hfwo0/2/