使用CSS“后”伪元素的阴影

时间:2014-09-03 11:53:03

标签: html css css3 z-index pseudo-element

如果我悬停在DIV上,我希望在DIV-Container下面放一个弯曲的阴影。不幸的是,影子在我的盒子上面而不是在下面。有什么建议吗?

这是我的CSS:

.appointment {
    position: relative;
    z-index: 1000;
    padding: 5px;
    border: 1px solid #BBBBBB;
    cursor: pointer;
    transition: all 0.5s;
    background: #FFFFFF;
}

.appointment:hover {
    transform: scale(1.1);
}

.appointment:hover:after {
    content:'';
    position: absolute;
    z-index: -1;
    top: 20px;
    width: 100px;
    height: 45px;
    background: #000000;
    transform: rotate(-5deg);
}

HTML:

<div class="appointment">
    <div class="desc">
        <div class="app-date">07.10.2014</div>
        <div class="app-location">Bamberg, Bayern</div>
    </div>
</div>
<div class="appointment" >
    <div class="desc">
        <div class="app-date">08.10.2014</div>
        <div class="app-location">Hamburg, Hamburg</div>
    </div>
</div>

JSFiddle

应该如下所示: Curved Shadow

1 个答案:

答案 0 :(得分:1)

根据这个答案:z-index canceled by transform你需要改变你的标记。

  <div class="appointment-wrapper">
    <div class="appointment">
        <div class="desc">
            <div class="app-date">07.10.2014</div>
            <div class="app-location">Bamberg, Bayern</div>
        </div>
    </div>
 </div>

然后在约会包装器上使用transform:scale(1.1)。

.appointment-wrapper:hover
{
  transform: scale(1.1);
}

这种.appointment及其伪元素共享相同的堆叠上下文。

编辑:请注意,伪元素也会被转换。