z-index 不适用于我的动画

z-index not working with my animation

下面的代码(html & css)让我抓狂... jsfiddle link

如何使用 z-index(或其他任何东西)使 3 个圆圈始终可见。 蓝色的还可以,但是黄色和红色的把左边的圆圈给遮住了。

在此先感谢您的帮助!

<div id="rSociaux" class="col-md-6 noSpace">
<a href="http://www.facebook.com/lesdieuxduvin" target="_blank" id="bg-fb" class="tile-share">
    <div  class="social-color-bg fb"></div>
    <svg class="ontop" height="100" width="100">
        <circle cx="50" cy="50" r="20"  fill="blue" />
    </svg>
</a>
<a href="http://www.twitter.com/lesdieuxduvin" target="_blank" class="tile-share">
    <div class="social-color-bg twitter"></div> 
    <svg class="ontop" height="100" width="100">
        <circle cx="50" cy="50" r="20"  fill="yellow" />
    </svg>
</a>
<a href="http://www.twitter.com/lesdieuxduvin" target="_blank"  id="bg-li" class="tile-share">
    <div class="social-color-bg linkedin"></div> 
    <svg class="ontop" height="100" width="100">
        <circle id="svgLi" cx="50" cy="50" r="20"  fill="red" />
    </svg>
</a>

CSS:

#rSociaux {
background-color: #a55fa2;
}

.ontop {
position: relative;
z-index: 10;
}

.tile-share {
display: inline-block;
position: relative;
left: 33%;
-webkit-transform: translateX(-50%) translateY(-0%);
-moz-transform: translateX(-50%) translateY(-0%);
-ms-transform: translateX(-50%) translateY(-0%);
-o-transform: translateX(-50%) translateY(-0%);
transform: translateX(-50%) translateY(-0%);
}

#rSociaux {
overflow: hidden;
}

#rSociaux svg {
position: relative;
z-index: 1000; }

#rSociaux .social-color-bg {
pointer-events: none;
position: absolute;
border-radius: 100%;
top: 50%;
left: 50%;
-webkit-transform: translateX(-50%) translateY(-50%);
-moz-transform: translateX(-50%) translateY(-50%);
-ms-transform: translateX(-50%) translateY(-50%);
-o-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
-webkit-transition: 1s;
-moz-transition: 1s;
-o-transition: 1s;
transition: 1s;
}

#rSociaux .social-color-bg.fb {
background: blue;
}

#rSociaux .social-color-bg.twitter {
background: yellow;
}

#rSociaux .social-color-bg.linkedin {
background: red;
}


#rSociaux .tile-share:hover .social-color-bg {
width: 100% !important;
height: 100% !important;
-webkit-transform: scale(20);
-moz-transform: scale(20);
-ms-transform: scale(20);
-o-transform: scale(20);
transform: scale(20);
}

添加以下内容:

#rSociaux .tile-share{
    z-index:10;
}

#rSociaux .tile-share:hover{
    z-index:9;
}

删除其他 z-index 引用可解决问题

here is 工作 fiddle

您的 z-index 不起作用,因为您将其应用于完全不同的元素。使用相同的元素进行基于悬停和非悬停的 z-index 更改。 z-index 是 而不是 一个绝对值,其中具有较高 z-index 的元素始终位于顶部。

.tile-share{
   z-index: 5;
}

.tile-share:hover{
    z-index: 3;
}

http://jsfiddle.net/dqup4ptf/4/

您还可以定位 a 标签,例如:

#rSociaux >a{z-index: 10;}
#rSociaux >a:hover{z-index: 9;}

http://jsfiddle.net/maio/dqup4ptf/6/