Dieses Mal stelle ich Ihnen das Animationsmodul in HTML und CSS vor. Was sind die Vorsichtsmaßnahmen bei der Verwendung des Animationsmoduls in HTML und CSS? Hier sind praktische Fälle.
1. Animationsmodul
1. Ähnlichkeiten und Unterschiede zwischen Übergang und Animation
1.1 Unterschiede
Der Übergang muss manuell ausgelöst werden, bevor die Animation ausgeführt werden kann
Animationen können ohne menschliches Auslösen ausgeführt werden
1.2 Ähnlichkeiten
Übergänge und Animationen werden beide verwendet, um Animationen zu Elementen hinzuzufügen
Übergänge und Animationen sind beide neu im System. Einige Attribute von
Sowohl Übergang als auch Animation müssen drei Elemente erfüllen, um Animationseffekte zu erzielen
2 Drei Elemente der Animation
2.1 Teilen Sie dem System mit, welche Animation ausgeführt werden muss
2.2 Teilen Sie dem System mit, dass wir müssen selbst eine Animation mit dem Namen lnj erstellen
2.3 Dem System die Dauer der Animation mitteilen
p{ width: 100px; height: 50px; background-color: red; /*1.告诉系统需要执行哪个动画*/ animation-name: lnj; /*3.告诉系统动画持续的时长*/ animation-duration: 3s; } /*2.告诉系统我们需要自己创建一个名称叫做lnj的动画*/ @keyframes lnj { from{ margin-left: 0; } to{ margin-left: 500px; } }
2. Animationsmodul – andere Attribute (Teil 1)
p { width: 100px; height: 50px; background-color: red; animation-name: sport; animation-duration: 2s; /*告诉系统多少秒之后开始执行动画*/ /*animation-delay: 2s;*/ /*告诉系统动画执行的速度*/ animation-timing-function: linear; /*告诉系统动画需要执行几次*/ animation-iteration-count: 3; //infinite : 无限的 /*告诉系统是否需要执行往返动画 取值: normal, 默认的取值, 执行完一次之后回到起点继续执行下一次 alternate, 往返动画, 执行完一次之后往回执行下一次 */ animation-direction: alternate; } @keyframes sport { from{ margin-left: 0; } to{ margin-left: 500px; } } p:hover{ /* 告诉系统当前动画是否需要暂停 取值: running: 执行动画,默认取值 paused: 暂停动画, 当动画执行时,鼠标hover到p上方时,动画停止,鼠标移开,则继续动画; */ animation-play-state: paused; }
3. Animationsmodul – Andere Attribute (Teil 2)
.box2{ width: 200px; height: 200px; background-color: blue; margin: 100px auto; animation-name: myRotate; animation-duration: 5s; animation-delay: 2s; /* 通过我们的观察, 动画是有一定的状态的 1.等待状态 2.执行状态 3.结束状态 */ /* animation-fill-mode作用: 指定动画等待状态和结束状态的样式 取值: none: 不做任何改变 forwards: 让元素结束状态保持动画最后一帧的样式; //向前的 backwards: 让元素等待状态的时候显示动画第一帧的样式; // 向后的 both: 让元素等待状态显示动画第一帧的样式, 让元素结束状态保持动画最后一帧的样式 */ /*animation-fill-mode: backwards;*/ /*animation-fill-mode: forwards;*/ animation-fill-mode: both; } @keyframes myRotate { 0%{ transform: rotate(10deg); } 50%{ transform: rotate(50deg); } 100%{ transform: rotate(70deg); } } animation-fill-mode
4. Animationsmodul – Kontinuierliches Schreiben
1. Animationsmodul – Kontinuierliches Schreibformat
Animation: Animationsname, Animationsdauer, Animation Bewegungsgeschwindigkeit, Verzögerungszeit, Anzahl der Ausführungen, Hin- und Rückfahrt Animation;
Die Abkürzung des aufeinanderfolgenden Formats des Animationsmoduls
Animation: Animationsname Animationsdauer;
5 🎜>
<html lang="en"> <head> <meta charset="UTF-8"> <title>104-动画模块-云层效果</title> <style> *{ margin: 0; padding: 0; } ul{ height: 400px; background-color: skyblue; margin-top: 100px; animation: change 5s linear 0s infinite alternate; position: relative; overflow: hidden; //让屏幕下方的滚动条隐藏掉 } ul li{ list-style: none; width: 400%; //设置li的宽度为屏幕的四倍,移动最多的为屏幕宽度的三倍,为保证屏幕内一直有云朵,故多设置一个屏幕的宽度的云朵 height: 100%; position: absolute; // 设置子绝父相后,三个li会重叠到一起 left: 0; top: 0; } ul li:nth-child(1){ background-image: url("images/cloud_one.png"); animation: one 30s linear 0s infinite alternate; } ul li:nth-child(2){ background-image: url("images/cloud_two.png"); animation: two 30s linear 0s infinite alternate; } ul li:nth-child(3){ background-image: url("images/cloud_three.png"); animation: three 30s linear 0s infinite alternate; } @keyframes change { from{ background-color: skyblue; } to{ background-color: black; } } @keyframes one { from{ margin-left: 0; } to{ margin-left: -100%; //如果先往右移动,又出现屏幕上有一节没云朵的情况,故先往左移动; } } @keyframes two { from{ margin-left: 0; } to{ margin-left: -200%; //由于动画的时间都一样,但是运动的距离不一样,又由于都是线性速度,所以就会出现有点运动快,有的运动慢! } } @keyframes three { from{ margin-left: 0; } to{ margin-left: -300%; } } </style> </head> <body> <ul> <li></li> <li></li> <li></li> </ul> </body> </html>
<html lang="en"> <head> <meta charset="UTF-8"> <title>105-动画模块-无限滚动</title> <style> *{ margin: 0; padding: 0; } p{ width: 600px; height: 188px; border: 1px solid #000; margin: 100px auto; overflow: hidden; } ul{ width: 2000px; //这个无限滚动原理就是ul做动画 height: 188px; background-color: black; //背景颜色黑色,当li的透明度为半透明时,li就会有黑色蒙版效果 animation: move 10s linear 0s infinite normal; //name 时间 速度 延时 无限重复 是否往返(normal代表不往返) } ul li{ float: left; list-style: none; width: 300px; height: 188px; background-color: red; border: 1px solid #000; box-sizing: border-box; } ul:hover{ /*动画添加给谁, 就让谁停止*/ animation-play-state: paused; } ul:hover li{ opacity: 0.5; //当li的透明度为0.5时,就会看到父元素的背景颜色(黑色),就会有蒙版效果 } ul li:hover{ opacity: 1; //透明度为1,不透明,看不到父元素的背景色,故没有蒙版效果 } @keyframes move { from{ margin-left: 0; } to{ margin-left: -1200px; //只需要移除屏幕4个li的宽度就可. 屏幕上就会显示第5.6两个li,这时,原本的动画就会恢复的原来的位置接着动画,实现了无线滚动效果 } } </style> </head> <body> <p> <ul> <li>![](images/banner1.png)</li> <li>![](images/banner2.jpg)</li> <li>![](images/banner3.jpg)</li> <li>![](images/banner4.jpg)</li> //把前两个li加在后面,起到过度效果;动画不会显得太生硬. <li>![](images/banner1.png)</li> <li>![](images/banner2.jpg)</li> </ul> </p> </body> </html>
2D-Konvertierungsmodul in HTML und CSS
Was sind die Vorsichtsmaßnahmen für die Verwendung von H5 in der Unternehmensentwicklung?
Das obige ist der detaillierte Inhalt vonAnimationsmodule in HTML und CSS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!