CSS悬停没有按预期进行

时间:2014-03-07 06:56:34

标签: javascript jquery html css

我正在寻找解决问题的方法。我不明白为什么我没有得到我需要的结果。

我在查看和理解不透明度方面遇到了麻烦 - 这就是问题所在的地方

我需要:

当鼠标悬停在图像上时,它会着色为黑色(黑色)。

我遇到了第二张图片的问题。

你可以在这里看到它的小提琴:http://jsfiddle.net/FsuKj/

HTML:

<a class="bg" href=""><img class="portfolio-item" src="https://m1.behance.net/rendition/projects/14633811/404/92f57501037c63b977c220f958145d73.png"></a>
<a class="bg1" href=""><img class="portfolio-item1" src="https://m1.behance.net/rendition/projects/15102955/404/b7ce9b8821177832e8b9eff19854b6d1.png"></a>

CSS:

.portfolio-item, .bg {
    height: 200px;
    width: 200px;
    left: 0px;
    border-radius:25px;
    position:absolute;
}

.hover {
    overflow: hidden;
    z-index: 1;
    opacity:0.1;
}
.bg {
    background-color: rgba(48, 48, 48, 0.9);
    top: 100px;
    display:inline-block;
}

.bg1 {
    background-color: rgba(48, 48, 48, 0.9);
    top: 100px;
    display:inline-block;
    left: 225px;
}

.portfolio-item1, .bg1 {
    height: 200px;
    width: 200px;
    position: absolute;

    border-radius:25px;
    background-color: pink;
}

使用Javascript:

$(document).ready(function(){

                    $(".portfolio-item").hover(function(){
                        $(".portfolio-item").addClass("hover");
                    }, function(){
                        $(".portfolio-item").removeClass("hover");
                    });

                    $(".portfolio-item1").hover(function(){
                        $(".portfolio-item1").addClass("hover");
                    }, function(){
                        $(".portfolio-item1").removeClass("hover");
                    });

});

谢谢!

7 个答案:

答案 0 :(得分:2)

Working Fiddle

.portfolio-item1, .bg1 {
height: 200px;
width: 200px;
position: absolute;
border-radius:25px;
}

答案 1 :(得分:1)

删除.portfolio-item1,.bg1

中的background-color: pink;
.portfolio-item1, .bg1 {
    height: 200px;
    width: 200px;
    position: absolute; 
    border-radius:25px;
    /*background-color: pink;*/
}

Demo Fiddle

答案 2 :(得分:1)

从css background-color: pink;

中删除此行
.portfolio-item1, .bg1 {
height: 200px;
width: 200px;
position: absolute;

border-radius:25px;

}

答案 3 :(得分:1)

删除行background-color:pink;

.portfolio-item1, .bg1 {
    height: 200px;
    width: 200px;
    position: absolute;

    border-radius:25px;

}

答案 4 :(得分:1)

试试此代码..仅删除背景颜色:粉红色;

.portfolio-item1, .bg1 
{
    height: 200px;
    width: 200px;
    position: absolute;
    border-radius:25px;
}

答案 5 :(得分:1)

正如Alien先生在上述评论中所建议的,你可以使用css进行悬停。

只需将.hover css更改为.portfolio-item:hover, .portfolio-item1:hover

即可

所以,这段代码:

.hover {
    overflow: hidden;
    z-index: 1;
    opacity:0.1;
}

将成为:

.portfolio-item:hover, .portfolio-item1:hover {
    overflow: hidden;
    z-index: 1;
    opacity:0.1;
}

要了解有关:hover伪类的更多信息,请阅读此link

由于您使用background-color: pink.portfolio-item1, .bg1,粉红色调也会出现。将其移除以获得黑色色调,这是我认为您需要的。

.portfolio-item1, .bg1 {
    height: 200px;
    width: 200px;
    position: absolute;

    border-radius:25px;
    /* background-color: pink; */  /* remove this code */
}

<强> Working Fiddle

答案 6 :(得分:0)

解决方案就是删除背景颜色:粉红色;

但是,正如Alien先生所说,这可以用纯粹的CSS来完成。 Mr_Green建议使用psuedo链接的优雅解决方案。不,我在CSS中看到了很多重复的代码。你可以改变它,如下所示。

HTML CODE

<a class="bg" href=""><img class="portfolio-item" src="https://m1.behance.net/rendition/projects/14633811/404/92f57501037c63b977c220f958145d73.png"></a>
<a class="bg1" href=""><img class="portfolio-item1" src="https://m1.behance.net/rendition/projects/15102955/404/b7ce9b8821177832e8b9eff19854b6d1.png"></a>

CSS代码

.portfolio-item, .bg, .portfolio-item1, .bg1 {
    height: 200px;
    width: 200px;
    border-radius:25px;
    position:absolute;
}

.portfolio-item, .bg{
    left: 0px;
}

.portfolio-item1:hover, .portfolio-item:hover {
    overflow: hidden;
    z-index: 1;
    opacity:0.1;
}
.bg, .bg1 {
    background-color: rgba(48, 48, 48, 0.9);
    top: 100px;
    display:inline-block;
}

.bg1 {
    left: 225px;
}

<强> JSFiddle Demo