<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8">
<title>浇水</title>
<script src="http://zeptojs.com/zepto.min.js"></script>
<style>
/* animation */
.a-swing{-webkit-animation:1s ease-moz-animation:1s ease-ms-animation:1s easeanimation:1s ease}
.bottle-fadeIn{-webkit-animation:.8s ease-moz-animation:.8s ease-ms-animation:.8s easeanimation:.8s ease}
.a-watering{-webkit-animation:0.5s ease 0 3-moz-animation:0.5s ease 0 3-ms-animation:0.5s ease 0 3animation:0.5s ease 0 3}
/* 摇摆 */
.a-swing{-webkit-animation-name:swing-moz-animation-name:swing-ms-animation-name:swinganimation-name:swing}
.bottle-fadeIn{-webkit-animation-name:bottleFadeIn-moz-animation-name:bottleFadeIn-ms-animation-name:bottleFadeInanimation-name:bottleFadeIn}
.a-watering{-webkit-animation-name:watering-moz-animation-name:watering-ms-animation-name:wateringanimation-name:watering}
/*水瓶动画*/
@-webkit-keyframes bottleFadeIn{
0%{opacity:0top:80pxright:0-webkit-transform:rotate(0deg)}
100%{opacity:1top:180pxright:100px-webkit-transform:rotate(-45deg)}
}
/*流水动画*/
@-webkit-keyframes watering{
0%{opacity:0}
100%{opacity:1height:4px}
}
/* 摇摆 */
@-webkit-keyframes swing{
/*10%{-webkit-transform:rotate(-5deg)}
20%{-webkit-transform:rotate(5deg)}
30%{-webkit-transform:rotate(-5deg)}
40%{-webkit-transform:rotate(5deg)}
50%{-webkit-transform:rotate(-5deg)}
60%{-webkit-transform:rotate(5deg)}
80%{-webkit-transform:rotate(-5deg)}
100%{-webkit-transform:rotate(0)} */
/*0%{-webkit-transform:scale(1,1)}
20%{-webkit-transform:scale(1.1,1.1)}
40%{-webkit-transform:scale(1.2,1.2)}
60%{-webkit-transform:scale(1.1,1.1)}
80%{-webkit-transform:scale(1.2,1.2)}
100%{-webkit-transform:scale(1,1)} */
/*0%{-webkit-transform:scale(1,1)}
20%{-webkit-transform:scale(1.02,1.02)}
40%{-webkit-transform:scale(1.05,1.05)}
60%{-webkit-transform:scale(1.07,1.07)}
80%{-webkit-transform:scale(1.1,1.1)}
100%{-webkit-transform:scale(1.2,1.2)}*/
0%{-webkit-transform:scale(1,1)}
35%{-webkit-transform:scale(1.07,1.07)}
70%{-webkit-transform:scale(1.1,1.1)}
100%{-webkit-transform:scale(1.2,1.2)}
}
@-moz-keyframes swing{
20%{-moz-transform:rotate(15deg)}
40%{-moz-transform:rotate(-10deg)}
60%{-moz-transform:rotate(5deg)}
80%{-moz-transform:rotate(-5deg)}
100%{-moz-transform:rotate(0)}
}
@-ms-keyframes swing{
20%{-ms-transform:rotate(15deg)}
40%{-ms-transform:rotate(-10deg)}
60%{-ms-transform:rotate(5deg)}
80%{-ms-transform:rotate(-5deg)}
100%{-ms-transform:rotate(0)}
}
@keyframes swing{
20%{transform:rotate(15deg)}
40%{transform:rotate(-10deg)}
60%{transform:rotate(5deg)}
80%{transform:rotate(-5deg)}
100%{transform:rotate(0)}
}
</style>
<script>
$(function(){
$('#btn').click(function(){
$('.bottle').show().addClass('bottle-fadeIn')
$('.bottle').on('webkitAnimationEnd',function(){
$(this).removeClass('bottle-fadeIn')
$('.line li').addClass('a-watering')
})
$('.line li').on('webkitAnimationEnd',function(){
$('.bottle').hide()
$('.line li').removeClass('a-watering')
$('.tree').addClass('a-swing')
})
$('.tree').on('webkitAnimationEnd',function(){
$('.tree').css({'-webkit-transform':'scale(1.2,1.2)'})
$('.tree').removeClass('a-swing')
})
// setTimeout(function(){
// $('.line li').addClass('a-watering')
// },800)
// setTimeout(function(){
// $('.bottle').hide()
// $('.tree').addClass('a-swing')
// },2300)
// setTimeout(function(){
// $('.line li').removeClass('a-watering')
// $('.tree').removeClass('a-swing')
// $('.tree').css({'-webkit-transform':'scale(1.2,1.2)'})
// },3300)
})
})
</script>
<style>
*{margin:0padding:0list-style: none}
.box{width:500pxborder:1px solid #dddmargin:10px autooverflow:hiddenposition: relativepadding-bottom:30px}
.tree{width:208pxheight:300pxbackground:url(images/shu.png) no-repeat
margin:250px auto 0}
.bottle{position:absolutetop:180pxright:100pxwidth:90pxheight:65pxbackground:url(images/sashui.png) no-repeatdisplay:none-webkit-transform:rotate(-45deg)-moz-transform:rotate(-45deg)-ms-transform:rotate(-45deg)-o-transform:rotate(-45deg)transform:rotate(-45deg)}
.rain_box{position:absoluteoverflow:hiddentop:220pxright:190px}
.rain_box .line{width:4pxfloat:leftposition:relative}
.rain_box .line li{margin-top:2pxheight:2pxwidth:2pxbackground:#999-webkit-border-radius:3px-moz-border-radius:3pxborder-radius:3pxopacity:0}
.rain_box .line1{-webkit-transform:rotate(45deg)-moz-transform:rotate(45deg)-ms-transform:rotate(45deg)-o-transform:rotate(45deg)transform:rotate(45deg)margin-left:15px}
.rain_box .line2{-webkit-transform:rotate(30deg)-moz-transform:rotate(30deg)-ms-transform:rotate(30deg)-o-transform:rotate(30deg)transform:rotate(30deg)margin-left:2px}
.rain_box .line3{-webkit-transform:rotate(20deg)-moz-transform:rotate(20deg)-ms-transform:rotate(20deg)-o-transform:rotate(20deg)transform:rotate(20deg)margin-left:3px}
#btn{position:absolutetop:80pxright:10pxheight:20pxwidth:50pxbackground:#f60border:nonecolor:#fff}
</style>
</head>
<body>
<div class="box">
<!-- 树 -->
<div class="tree"></div>
<!-- /树 -->
<!-- 水瓶 -->
<div class="bottle" alt="a-watering"></div>
<!-- /水瓶 -->
<!-- 雨水 -->
<div class="rain_box">
<ul class="line line1">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<ul class="line line2">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<ul class="line line3">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<!-- /雨水 -->
<input type="button" id="btn" value="浇水" />
</div>
</body>
</html>
display 设置或检索对象是否及如何显示。display: none 隐藏对象
display:block 除了转换为块级元素之外,同时还有显示元素的意思。
登录后复制
特点: display 隐藏元素后,不再占有原来的位置。
后面应用及其广泛,搭配 JS 可以做很多的网页特效。实际开发场景:
配合后面js做特效,比如下拉菜单,原先没有,鼠标经过,显示下拉菜单, 应用极为广泛
二、visibility 可见性 (了解)
visibility 属性用于指定一个元素应可见还是隐藏。
visibility:visible 元素可视
visibility:hidden 元素隐藏
登录后复制
特点:visibility 隐藏元素后,继续占有原来的位置。(停职留薪)
如果隐藏元素想要原来位置, 就用 visibility:hidden
如果隐藏元素不想要原来位置, 就用 display:none (用处更多 重点)
三、overflow 溢出(重点)
overflow 属性指定了如果内容溢出一个元素的框(超过其指定高度及宽度) 时,会发生什么。
属性值 描述
visible 不剪切内容也不添加滚动条
hidden 不显示超过对象尺寸的内容,超出的部分隐藏掉
scroll 不管超出内容否,总是显示滚动条
auto 超出自动显示滚动条,不超出不显示滚动条
一般情况下,我们都不想让溢出的内容显示出来,因为溢出的部分会影响布局。
但是如果有定位的盒子, 请慎用overflow:hidden 因为它会隐藏多余的部分。
四、显示与隐藏总结
属性 区别 用途
display 显示 (重点) 隐藏对象,不保留位置 配合后面js做特效,比如下拉菜单,原先没有,鼠标经过,显示下拉菜单, 应用极为广泛
visibility 可见性 (了解) 隐藏对象,保留位置 使用较少
overflow 溢出(重点) 只是隐藏超出大小的部分 1. 可以清除浮动 2. 保证盒子里面的内容不会超出该盒子范围
css
javascript