当我取消切换时,为什么转换属性不会执行恢复的动画?
我认为当您取消transform
时,它会执行还原的动画。
body {
background-color : #333333;
}
.corner {
background-color : rgb(207, 207, 207);
border-bottom-right-radius: 100%;
height : 50px;
left : 0px;
position : fixed;
top : 0px;
width : 50px;
}
.corner:hover {
transform : rotateX(180deg) rotateY(180deg) rotateZ(180deg);
transition: all .5s ease-in-out;
}
#top-right {
left :auto;
right : 0px;
top : 0px;
transform: rotate(90deg);
}
#bottom-left {
bottom :0;
left :0px;
right : auto;
top : auto;
transform: rotate(-90deg);
}
#bottom-right {
bottom :0px;
left :auto;
right : 0px;
top : auto;
transform: rotate(180deg);
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Rentats Royo</title>
<link rel="stylesheet" href="css/styles.css">
<style type="text/css">
</style>
</head>
<body>
<div class="corner"></div>
<div class="corner" id="top-right"></div>
<div class="corner" id="bottom-left"></div>
<div class="corner" id="bottom-right"></div>
</body>
</html>
答案 0 :(得分:0)
问题是transition
属性是在:hover
伪类中定义的,而不是在元素的正常状态下声明。
您可以阅读此post了解更多详情。
body {
background-color : #333333;
}
.corner {
background-color : rgb(207, 207, 207);
border-bottom-right-radius: 100%;
height : 50px;
left : 0px;
position : fixed;
top : 0px;
width : 50px;
transition : all .5s ease-in-out;
}
.corner:hover {
transform : rotateX(180deg) rotateY(180deg) rotateZ(180deg);
}
#top-right {
left :auto;
right : 0px;
top : 0px;
transform: rotate(90deg);
}
#bottom-left {
bottom :0;
left :0px;
right : auto;
top : auto;
transform: rotate(-90deg);
}
#bottom-right {
bottom :0px;
left :auto;
right : 0px;
top : auto;
transform: rotate(180deg);
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Rentats Royo</title>
<link rel="stylesheet" href="css/styles.css">
<style type="text/css">
</style>
</head>
<body>
<div class="corner"></div>
<div class="corner" id="top-right"></div>
<div class="corner" id="bottom-left"></div>
<div class="corner" id="bottom-right"></div>
</body>
</html>