当我尝试为旋转元素内的绝对定位元素的宽度设置动画时,它会留下奇怪的三角形。像这样:
它们每次都不同,它只发生在chrome中。它适用于Firefox和Safari。
body,html{
padding:0;
margin:0;
height:100%;
width:100%;
overflow: hidden;
}
.container{
width: 200%;
height: 200%;
-ms-transform: rotate(45deg); /* IE 9 */
-webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
transform: rotate(45deg);
margin-left:-50vw;
margin-top:-50vh;
}
.stripe-container{
position:absolute;
top:0;
left:0;
width: 100%;
height: 100%;
-ms-transform: rotate(-45deg); /* IE 9 */
-webkit-transform: rotate(-45deg); /* Chrome, Safari, Opera */
transform: rotate(-45deg);
}
.stripe-background{
position: absolute;
top:0;
left:0;
width: 0;
height: 100%;
background-color: #fff;
webkit-transition: width 900ms ease-out;
-moz-transition: width 900ms ease-out;
-o-transition: width 900ms ease-out;
transition: width 900ms ease-out;
}
.stripe:hover .stripe-background{
width: 100%;
webkit-transition: width 900ms ease-out;
-moz-transition: width 900ms ease-out;
-o-transition: width 900ms ease-out;
transition: width 900ms ease-out;
}
.stripe{
height: 20%;
position: relative;
}
答案 0 :(得分:0)
最后通过在背景元素上设置backface-visibility: hidden;
来解决这个问题。