关于transition-duration的问题
代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>6-4 homework</title>
<style>
div.sky{
width: 1920px;
height: 450px;
position: relative;
background: linear-gradient(rgba(196,228,253,1),#FFFFFF);
}
div.earth{
width: 1920px;
height: 450px;
background: linear-gradient(#FFFFFF,rgba(148,190,89,1));
}
div.sky > div.cloudPart1{
background-color: #FFFFFF;
width: 95px;
height: 95px;
position: relative;
border-radius: 50%;
}
div.sky > div.cloudPart1:before{
content: "";
display: block;
position: absolute;
top: 40px;
left: -30px;
background-color: #FFFFFF;
width: 70px;
height: 70px;
border-radius: 100%;
transform: rotate(-10deg) skew(25deg);
box-shadow: #FFFFFF;
}
div.sky > div.cloudPart1:after{
content: "";
display: block;
position: absolute;
top: 50px;
left: 60px;
background-color: #FFFFFF;
width: 50px;
height: 50px;
border-radius: 100%;
transform: rotate(-65deg) skew(35deg);
}
div.sky > div.cloudPart1 > div.cloudPart2{
background-color: #FFFFFF;
width: 50px;
height: 50px;
position: absolute;
top: 60px;
left: -30px;
border-radius: 50%;
}
div.sky > div.cloud1{
position: absolute;
top: 10px;
left: 700px;
}
div.sky > div.cloud2{
position: absolute;
top: 200px;
left: 800px;
}
div.sky > div.cloud3{
position: absolute;
top: 50px;
left: 900px;
}
div.sky > div.cloud4{
position: absolute;
top: 80px;
left: 1100px;
}
div.sky > div.cloud5{
position: absolute;
top: 15px;
left: 1400px;
}
div.sky > div:hover{
cursor: pointer;
transform: translate(200px,500px);
background-color: #fb9e44;
transition-property: all;
transition-duration: 2s;
transition-timing-function: ease-in-out;
transition-delay: 2s;
}
</style>
</head>
<body>
<div class="sky">
<div class="cloud1 cloudPart1">
<div class="cloudPart2"></div>
</div>
<div class="cloud2 cloudPart1">
<div class="cloudPart2"></div>
</div>
<div class="cloud3 cloudPart1">
<div class="cloudPart2"></div>
</div>
<div class="cloud4 cloudPart1">
<div class="cloudPart2"></div>
</div>
<div class="cloud5 cloudPart1">
<div class="cloudPart2"></div>
</div>
</div>
<div class="earth"></div>
</body>
</html>
问题: 鼠标放在云朵上,画面开始变化。当鼠标移开时,画面恢复至初始画面,而恢复的时间是一瞬间的,这个时间应该怎么控制呢?我们是不是自己可以设置?比如设置成3S,恢复至原样。
正在回答
样式表中加上一段代码:
div.sky > div{
transform: translate(0,0);
background-color: #fb9e44;
transition-property: all;
transition-duration: 2s;
transition-timing-function: ease-in-out;
transition-delay: 2s;
}
鼠标移上去的时候,触发了 hover ,元素才具有了 transition 属性,鼠标移开的时候,hover 不再被触发,元素的 transition 属性这个时候已经被去掉了,所以这个时候元素不再过渡,没有 transition ,就发生图片的变化了!
所以是最开始就可以声明让他在一段时候内去发生某种变化。不要像其他属性一样,当发生变化的时候去声明。
- 参与学习 1887 人
- 提交作业 4643 份
- 解答问题 5760 个
有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星