javascript - 悬停时颜色去饱和图像,鼠标移出时再次去饱和 html5 css3

标签 javascript html css

代码已准备就绪,但我希望图像在鼠标悬停时变色(即删除 IMG 的灰度属性),当鼠标悬停时图像应该再次变灰度。

如果只靠css是不行的。 javascript 也可以,但请不要使用 jquery,我不懂 jquery。

代码如下:

<style type="text/css">

#ajabox:hover #ajainner{
    height:100px;
    top:-100px;
}

#ajainner{
    width:332px;
    overflow:hidden;
        height:0px;
    background-image:url(../../images/bg_black_50.png);
    position:relative;
    top:-1px;
    transition: top .4s ease-in, height .4s ease-in;
    -ms-transition: top .4s ease-in, height .4s ease-in;
    -webkit-transition: top .4s ease-in, height .4s ease-in;
    -o-transition: top .4s ease-in, height .4s ease-in;
    -moz-transition: top .4s ease-in, height .4s ease-in;
}

#ajabox{
    width:332px;
    margin:0px;
    padding:0px;
    border:0px;
    height:209px
    display:-webkit-box;
    display:box;
    display:-moz-box;
    display:-ms-box;
    display:-o-box;
    overflow:hidden;
}
span{
     color:#FFF; 
     font-family:Verdana, Geneva, sans-serif; 
     left:10px; 
     top:10px; 
     position:relative;
}
img.desaturate { 
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: url(desaturate.svg#greyscale);
    -webkit-filter: grayscale(1);
    filter: gray;
}

</style>
<script type="text/javascript">
</script>
<body bgcolor="#000000">
<div id="ajabox">
    <img src="http://fc03.deviantart.net/fs70/f/2011/123/c/9/adam_jensen__s_army_____________by_gtanmay-d3fh5pw.png" style="width:332px;" class="desaturate"/>
    <div id="ajainner">
        <span>Adam Jensen's Army</span>
        <br />
        <span style="font-size:12px">Made from the CD cover of "Assassin's Creed: Brotherhood"<br />Feat. Adam Jensen(Deus Ex: Human Revolution)</span>
    </div>
</div>

最佳答案

img { /* Universal settings */
    -webkit-transition:all .4s;
    -moz-transition:all .4s;
    -ms-transition:all .4s;
    -o-transition:all .4s;
    transition:all .4s;
}
img:not(:hover) {
    -webkit-filter:grayscale(100%);
    -moz-filter:grayscale(100%);
    -ms-filter:grayscale(100%);
    -o-filter:grayscale(100%);
    filter:grayscale(100%);
}
img:hover {
    -webkit-filter:grayscale(0%);
    -moz-filter:grayscale(0%);
    -ms-filter:grayscale(0%);
    -o-filter:grayscale(0%);
    filter:grayscale(0%);
}

:not 选择器在旧版浏览器中不起作用,但也不会过滤,所以这应该不是什么大问题。

Example Fiddle.

关于javascript - 悬停时颜色去饱和图像,鼠标移出时再次去饱和 html5 css3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14351976/

相关文章:

javascript - 护照发送后无法设置 header

javascript - GSAP 绩效和结构

javascript - 如何停止 reactjs 中的自动页面滚动?

ASP.NET:如何在 DataBind 期间设置控件的 css 类?

JavaScript 和 Html 代码来运行所有类型的视频并获得状态

javascript - 在for循环js中更改变量时不会重新分配

javascript - 使用 Javascript 从数组中选择随机形状

javascript - AngularJS 和带有 ng-repeat 的 ng-style

javascript - 如何更改多个选定 html 值的名称?

html - 我如何垂直对齐超大屏幕中心的文本?