我有2个div,一个在另一个后面。前面的div有一些文本和一个按钮,但是在Safari中,背景中的动画div不应在按钮顶部覆盖。它可以在Chrome和Firefox中正常运行。似乎是Safari中动画的Z索引问题。
当按钮需要为纯白色时,您会看到该按钮为灰色。在Safari中,您可以看到“标题”是尊重z-index的唯一单词。
要查看此问题,请在第29行的background
类中将rgba(0, 0, 0, 0.9)
属性更改为.block .light-grey
。
我的JSFiddle和代码在下面。
html,
body {
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
h1,
p {
padding: 0;
margin: 0;
}
.block {
width: 50%;
border-radius: 20px;
position: relative;
z-index: 1;
color: #fff;
line-height: 1.3;
}
.block .title {
padding: 2em;
}
.grd {
background: linear-gradient(to right, #333 0%, #000 100%);
}
.block .light-grey {
background: rgba(0, 0, 0, 0.2);
height: 100%;
width: 100%;
position: absolute;
top: -10px;
transform: skew(-4deg, -4deg) scale(1.05) rotateX(35deg);
box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
z-index: -1;
border-radius: 20px;
animation: myAnim 5s 1s infinite;
}
.block a {
background: #fff;
color: #000;
padding: 0.25em 0.5em;
margin-top: 1em;
display: inline-block;
text-decoration: none;
border-radius: 20px;
}
@keyframes myAnim {
0% {
transform: skew(-4deg, -4deg) scale(1.05) rotateX(35deg);
}
50% {
transform: skew(4deg, 4deg) scale(1.05) rotateX(35deg);
}
100% {
transform: skew(-4deg, -4deg) scale(1.05) rotateX(35deg);
}
}
<div class="block grd">
<div class="title">
<h1>Title</h1>
<p>My text.</p>
<a href="#">My button</a>
</div>
<div class="light-grey"></div>
</div>