此代码在Chrome中有效,但在Firefox中无效。关于如何解决它的任何想法?将鼠标悬停在上面时,门应该会打开,并且景观图像会滚动,但是在Firefox中,除非鼠标位于右边缘,否则门不会完全打开。 (我不允许更改html或使用CSS以外的任何东西)
https://jsfiddle.net/rr3nj7dr/
<ul id="calendar"><li><div class = "door">15</div></li></ul>
最佳答案
由于您正在translate()
-ing .door
(它将移动.door
),因此,当您将鼠标悬停在父li
上时,而不是当您将鼠标悬停在.door
上时,将触发转换。
#calendar {
width: 550px;
margin: 0 auto;
overflow: hidden;
}
#calendar li {
list-style: none;
float: left;
width: 110px;
height: 110px;
position: relative;
overflow: hidden;
margin: 30px;
background-image: url(http://i.imgur.com/C68wDiS.jpg);
}
.door {
width: 110px;
height: 110px;
position: absolute;
top: 0px;
left 0px;
color: white;
text-align: center;
font-family: 'Oswald', sans-serif;
font-size: 50px;
vertical-align: middle;
line-height: 110px;
transition: transform 1s ease-in-out;
background-color: grey;
}
#calendar li:hover .door {
transform: translateX(110px);
}
#calendar li:hover {
animation: slidingfour 3s ease-in-out;
}
@keyframes slidingfour {
0% {
background-position: 0px;
}
100% {
background-position: -330px;
}
}
<ul id="calendar">
<li>
<div class="door">15</div>
</li>
</ul>