HTML5+CSS3鼠标移入移出图片生成随机动画_html/css_WEB-ITnose
今天分享使用html+css3+少量jquery实现鼠标移入移出图片生成随机动画,我们先看最终效果图(截图为静态效果,做出来可是动态的哟)
左右旋转
上下移动
缩放
由于时间关系我就不一步步解析各段代码所代表含义,我这里就给出一些思路及关键代码:
1、首先使用ul li展现4张图片
本示例中不仅使用了图片,在图片表面还放置了一段“WEB”字样文字,用于与图片实现隐藏或显示效果,故html中每张图片上方加入:
<div class="mytext">WEB</div>
2、CSS控制图片及文字透明度
本示例中一组图片与文字同时放在一个li里面,高度与宽度设置与li一样大,并使用绝对定位固定它们的位置:
#myimg ul li a div {position: absolute;top: 0;left: 0;width: 100%;height: 100%;text-align: center;font-size: 40px;}
默认将隐藏图片,只显示文字,鼠标放入li时显示图片,这里使用opacity透明度属性控制:
#myimg ul li a div.pic {opacity: 0;}#myimg ul li:hover a div.pic {opacity: 1;}
3、CSS3自定义动画
本示例中用css3定义了3种动画:
@keyframes rot /*自定义 旋转动画*/ { 0% 20% 40% 60% 80% 100% { transform-origin: top center; } 0% { transform: rotate(0deg) } 20% { transform: rotate(-20deg) } 40% { transform: rotate(15deg) } 60% { transform: rotate(-10deg) } 80% { transform: rotate(5deg) } 100% { transform: rotate(0deg) } } @keyframes top /*自定义 上下动画*/ { 0% { top: 0 } 20% { top: 20px } 40% { top: -15px } 60% { top: 10px } 80% { top: -5px } 100% { top: 0px } } @keyframes sca /*自定义 缩放动画*/ { 0% { transform: scale(1) } 20% { transform: scale(1.1) } 40% { transform: scale(0.9) } 60% { transform: scale(1.05) } 80% { transform: scale(0.95) } 100% { transform: scale(1) } }
使用css执行上述自定义动画:
#myimg ul li.rot {animation: rot 1s;}#myimg ul li.top {animation: top 1s;}#myimg ul li.sca {animation: sca 1s;}
4、Jquery生成随机动画
当鼠标移入ul li时,使用jquery随机产生上述3种自定义动画,这里使用hover事件
HTML代码如下:
CSS代码如下:
<style type="text/css"> * { padding: 0; margin: 0; } #myimg { width: 800px; margin: 20px auto; } #myimg ul li { list-style-type: none; position: relative; float: left; width: 350px; height: 200px; line-height: 200px; margin: 20px; } #myimg ul li.rot { animation: rot 1s; } #myimg ul li.top { animation: top 1s; } #myimg ul li.sca { animation: sca 1s; } #myimg ul li:hover a div.pic { opacity: 1; } #myimg ul li a { text-decoration: none; color: white; } #myimg ul li a div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; font-size: 40px; } #myimg ul li a div.pic { opacity: 0; } #myimg ul li:nth-child(1) a div.mytext { background: black; } #myimg ul li:nth-child(2) a div.mytext { background: blue; } #myimg ul li:nth-child(3) a div.mytext { background: darkred; } #myimg ul li:nth-child(4) a div.mytext { background: orange; } @keyframes rot /*自定义 旋转动画*/ { 0% 20% 40% 60% 80% 100% { transform-origin: top center; } 0% { transform: rotate(0deg) } 20% { transform: rotate(-20deg) } 40% { transform: rotate(15deg) } 60% { transform: rotate(-10deg) } 80% { transform: rotate(5deg) } 100% { transform: rotate(0deg) } } @keyframes top /*自定义 上下动画*/ { 0% { top: 0 } 20% { top: 20px } 40% { top: -15px } 60% { top: 10px } 80% { top: -5px } 100% { top: 0px } } @keyframes sca /*自定义 缩放动画*/ { 0% { transform: scale(1) } 20% { transform: scale(1.1) } 40% { transform: scale(0.9) } 60% { transform: scale(1.05) } 80% { transform: scale(0.95) } 100% { transform: scale(1) } } </style>
Jquery代码如下:
<script type="text/javascript"> $(function() { var anim = ['rot', 'top', 'sca']; var a, b; $("#myimg ul li").hover(function() { //向下取0-2整数 a = anim[Math.floor(Math.random() * 3)]; while (b == a) { a = anim[Math.floor(Math.random() * 3)]; } $(this).addClass(a); b = a; }, function() { $(this).removeClass(a); }) }); </script>
注意事项:需要引入jquery文件,可以自行选择jquery版本
好了,今天分享就到这里,以后还有更多哟,请大家一起来交流下

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本文讨论了HTML&lt; Progress&gt;元素,其目的,样式和与&lt; meter&gt;元素。主要重点是使用&lt; progress&gt;为了完成任务和LT;仪表&gt;对于stati

本文讨论了html&lt; datalist&gt;元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML&lt; meter&gt;元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了&lt; meter&gt;从&lt; progress&gt;和前

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

本文讨论了&lt; iframe&gt;将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。
