扫码关注官方订阅号
页面中已经有一个p了,并且始终保持居中状态的,我想让它从0开始慢慢放大,这个过程要始终居中显示,请教下各位大侠重点在哪儿?若能有实例代码就更好了O(∩_∩)O~先谢啦!
jQuery实现很简单啊,写了个demo给你
<html> <head> <meta charset="UTF-8"> <title>Document</title> <script src="//localhost/jquery-3.1.0.min.js"></script> <style> .wrap { position: relative; width: 500px; height: 500px; background-color: #eee; } .wrap p{ position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); width: 0px; height: 0px; background-color: red; } </style> </head> <body> <p class="wrap"> <p></p> </p> </body> <script> $(function(){ $('.wrap p').animate({height:'500px', width:'500px'},2000); }) </script> </html>
可以用css3的动画啊,我之前用keyframe写了一个渐变效果稍作修改即可当动画为 25% 及 50% 时改变宽度高度,然后当动画 100% 完成时再次改变:
@keyframes myfirst { 0% {width:xxx;height:xxx;} 25% {width:xxx;height:xxx;} 50% {width:xxx;height:xxx;} 100% {width:xxx;height:xxx;} } xxx的数字不断增大即可
这个方法是用css实现,性能上面优于js实现方式,但是要看你的使用场景,如果是表现类的话推荐用css实现,如果需要控制的话加入js部分只需要操作css改变即可。
这里你将里面的css属性改变为你需要的width和height,我想可以实现你要的效果。我刚才已经测试了,是可行的,供你参考哈:)
不考虑兼容用 scale,不要用宽高放大
<!doctype html><html><head>
<meta charset="UTF-8"> <title></title> <style> @keyframes full { 0%{ transform:scale(0); } 100%{ transform:scale(1); } } .z { width: 200px; height: 200px; border:1px solid #ccc; position: absolute; top:50%; left:50%; margin:-100px 0 0 -100px; transform-origin: center center; animation: full .3s linear forwards; } </style>
</head><body><p class="z"></p></body></html>
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
jQuery实现很简单啊,写了个demo给你
可以用css3的动画啊,我之前用keyframe写了一个渐变效果
稍作修改即可
当动画为 25% 及 50% 时改变宽度高度,然后当动画 100% 完成时再次改变:
这个方法是用css实现,性能上面优于js实现方式,但是要看你的使用场景,如果是表现类的话推荐用css实现,如果需要控制的话加入js部分只需要操作css改变即可。
这里你将里面的css属性改变为你需要的width和height,我想可以实现你要的效果。我刚才已经测试了,是可行的,供你参考哈:)
不考虑兼容用 scale,不要用宽高放大
<!doctype html>
<html>
<head>
</head>
<body>
<p class="z"></p>
</body>
</html>