关于transition-duration的问题

关于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,恢复至原样。

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

样式表中加上一段代码:

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 ,就发生图片的变化了!

所以是最开始就可以声明让他在一段时候内去发生某种变化。不要像其他属性一样,当发生变化的时候去声明。

  • V金龙V 提问者 #1
    非常感谢!
    2016-12-18 12:19:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师