关于CSS3常用的动画效果分享
CSS3常用动画效果。在做CSS3动画时, 除了原生动画以外, 经常要实现一些更复杂, 更符合物体运动规律的动画效果.
像很多网站有回到顶部的功能,有的是点击按钮,瞬间就回到顶部了,有的则是匀速回到顶部,而最符合运动规律的,则是匀加速回到顶部。虽说这个功能在某种程度上来说无关紧要,但给人的体验是很不一样的。
常用的动画库:
Animation.css
Magic.css
这些库虽然功能强大,但是很多效果往往我们用不到,如果时间允许的话,不妨自己手动实现一些常用的效果,以下是我搜集到的动画效果合集:
/* animation */ .a-bounce,.a-flip,.a-flash,.a-shake,.a-swing,.a-wobble,.a-ring{-webkit-animation:1s ease;-moz-animation:1s ease;-ms-animation:1s ease;animation:1s ease;} .a-fadein,.a-fadeinT,.a-fadeinR,.a-fadeinB,.a-fadeinL,.a-bouncein,.a-bounceinT,.a-bounceinR,.a-bounceinB,.a-bounceinL,.a-rotatein,.a-rotateinLT,.a-rotateinLB,.a-rotateinRT,.a-rotateinRB,.a-flipin,.a-flipinX,.a-flipinY{-webkit-animation:1s ease-out backwards;-moz-animation:1s ease-out backwards;-ms-animation:1s ease-out backwards;animation:1s ease-out backwards;} .a-fadeout,.a-fadeoutT,.a-fadeoutR,.a-fadeoutB,.a-fadeoutL,.a-bounceout,.a-bounceoutT,.a-bounceoutR,.a-bounceoutB,.a-bounceoutL,.a-rotateout,.a-rotateoutLT,.a-rotateoutLB,.a-rotateoutRT,.a-rotateoutRB,.a-flipout,.a-flipoutX,.a-flipoutY{-webkit-animation:1s ease-in forwards;-moz-animation:1s ease-in forwards;-ms-animation:1s ease-in forwards;animation:1s ease-in forwards;} /* 淡入 */ .a-fadein{-webkit-animation-name:fadein;-moz-animation-name:fadein;-ms-animation-name:fadein;animation-name:fadein;} /* 淡入-从上 */ .a-fadeinT{-webkit-animation-name:fadeinT;-moz-animation-name:fadeinT;-ms-animation-name:fadeinT;animation-name:fadeinT;} /* 淡入-从右 */ .a-fadeinR{-webkit-animation-name:fadeinR;-moz-animation-name:fadeinR;-ms-animation-name:fadeinR;animation-name:fadeinR;} /* 淡入-从下 */ .a-fadeinB{-webkit-animation-name:fadeinB;-moz-animation-name:fadeinB;-ms-animation-name:fadeinB;animation-name:fadeinB;} /* 淡入-从左 */ .a-fadeinL{-webkit-animation-name:fadeinL;-moz-animation-name:fadeinL;-ms-animation-name:fadeinL;animation-name:fadeinL;} /* 淡出 */ .a-fadeout{-webkit-animation-name:fadeout;-moz-animation-name:fadeout;-ms-animation-name:fadeout;animation-name:fadeout;} /* 淡出-向上 */ .a-fadeoutT{-webkit-animation-name:fadeoutT;-moz-animation-name:fadeoutT;-ms-animation-name:fadeoutT;animation-name:fadeoutT;} /* 淡出-向右 */ .a-fadeoutR{-webkit-animation-name:fadeoutR;-moz-animation-name:fadeoutR;-ms-animation-name:fadeoutR;animation-name:fadeoutR;} /* 淡出-向下 */ .a-fadeoutB{-webkit-animation-name:fadeoutB;-moz-animation-name:fadeoutB;-ms-animation-name:fadeoutB;animation-name:fadeoutB;} /* 淡出-向左 */ .a-fadeoutL{-webkit-animation-name:fadeoutL;-moz-animation-name:fadeoutL;-ms-animation-name:fadeoutL;animation-name:fadeoutL;} /* 弹跳 */ .a-bounce{-webkit-animation-name:bounce;-moz-animation-name:bounce;-ms-animation-name:bounce;animation-name:bounce;} /* 弹入 */ .a-bouncein{-webkit-animation-name:bouncein;-moz-animation-name:bouncein;-ms-animation-name:bouncein;animation-name:bouncein;} /* 弹入-从上 */ .a-bounceinT{-webkit-animation-name:bounceinT;-moz-animation-name:bounceinT;-ms-animation-name:bounceinT;animation-name:bounceinT;} /* 弹入-从右 */ .a-bounceinR{-webkit-animation-name:bounceinR;-moz-animation-name:bounceinR;-ms-animation-name:bounceinR;animation-name:bounceinR;} /* 弹入-从下 */ .a-bounceinB{-webkit-animation-name:bounceinB;-moz-animation-name:bounceinB;-ms-animation-name:bounceinB;animation-name:bounceinB;} /* 弹入-从左 */ .a-bounceinL{-webkit-animation-name:bounceinL;-moz-animation-name:bounceinL;-ms-animation-name:bounceinL;animation-name:bounceinL;} /* 弹出 */ .a-bounceout{-webkit-animation-name:bounceout;-moz-animation-name:bounceout;-ms-animation-name:bounceout;animation-name:bounceout;} /* 弹出-向上 */ .a-bounceoutT{-webkit-animation-name:bounceoutT;-moz-animation-name:bounceoutT;-ms-animation-name:bounceoutT;animation-name:bounceoutT;} /* 弹出-向右 */ .a-bounceoutR{-webkit-animation-name:bounceoutR;-moz-animation-name:bounceoutR;-ms-animation-name:bounceoutR;animation-name:bounceoutR;} /* 弹出-向下 */ .a-bounceoutB{-webkit-animation-name:bounceoutB;-moz-animation-name:bounceoutB;-ms-animation-name:bounceoutB;animation-name:bounceoutB;} /* 弹出-向左 */ .a-bounceoutL{-webkit-animation-name:bounceoutL;-moz-animation-name:bounceoutL;-ms-animation-name:bounceoutL;animation-name:bounceoutL;} /* 转入 */ .a-rotatein{-webkit-animation-name:rotatein;-moz-animation-name:rotatein;-ms-animation-name:rotatein;animation-name:rotatein;} /* 转入-从左上 */ .a-rotateinLT{-webkit-animation-name:rotateinLT;-moz-animation-name:rotateinLT;-ms-animation-name:rotateinLT;animation-name:rotateinLT;} /* 转入-从左下 */ .a-rotateinLB{-webkit-animation-name:rotateinLB;-moz-animation-name:rotateinLB;-ms-animation-name:rotateinLB;animation-name:rotateinLB;} /* 转入-从右上 */ .a-rotateinRT{-webkit-animation-name:rotateinRT;-moz-animation-name:rotateinRT;-ms-animation-name:rotateinRT;animation-name:rotateinRT;} /* 转入-从右下*/ .a-rotateinRB{-webkit-animation-name:rotateinRB;-moz-animation-name:rotateinRB;-ms-animation-name:rotateinRB;animation-name:rotateinRB;} /* 转出 */ .a-rotateout{-webkit-animation-name:rotateout;-moz-animation-name:rotateout;-ms-animation-name:rotateout;animation-name:rotateout;} /* 转出-向左上 */ .a-rotateoutLT{-webkit-animation-name:rotateoutLT;-moz-animation-name:rotateoutLT;-ms-animation-name:rotateoutLT;animation-name:rotateoutLT;} /* 转出-向左下 */ .a-rotateoutLB{-webkit-animation-name:rotateoutLB;-moz-animation-name:rotateoutLB;-ms-animation-name:rotateoutLB;animation-name:rotateoutLB;} /* 转出-向右上 */ .a-rotateoutRT{-webkit-animation-name:rotateoutRT;-moz-animation-name:rotateoutRT;-ms-animation-name:rotateoutRT;animation-name:rotateoutRT;} /* 转出-向右下 */ .a-rotateoutRB{-webkit-animation-name:rotateoutRB;-moz-animation-name:rotateoutRB;-ms-animation-name:rotateoutRB;animation-name:rotateoutRB;} /* 翻转 */ .a-flip{-webkit-animation-name:flip;-moz-animation-name:flip;-ms-animation-name:flip;animation-name:flip;} /* 翻入-X轴 */ .a-flipinX{-webkit-animation-name:flipinX;-moz-animation-name:flipinX;-ms-animation-name:flipinX;animation-name:flipinX;} /* 翻入-Y轴 */ .a-flipin,.a-flipinY{-webkit-animation-name:flipinY;-moz-animation-name:flipinY;-ms-animation-name:flipinY;animation-name:flipinY;} /* 翻出-X轴 */ .a-flipoutX{-webkit-animation-name:flipoutX;-moz-animation-name:flipoutX;-ms-animation-name:flipoutX;animation-name:flipoutX;} /* 翻出-Y轴 */ .a-flipout,.a-flipoutY{-webkit-animation-name:flipoutY;-moz-animation-name:flipoutY;-ms-animation-name:flipoutY;animation-name:flipoutY;} /* 闪烁 */ .a-flash{-webkit-animation-name:flash;-moz-animation-name:flash;-ms-animation-name:flash;animation-name:flash;} /* 震颤 */ .a-shake{-webkit-animation-name:shake;-moz-animation-name:shake;-ms-animation-name:shake;animation-name:shake;} /* 摇摆 */ .a-swing{-webkit-animation-name:swing;-moz-animation-name:swing;-ms-animation-name:swing;animation-name:swing;} /* 摇晃 */ .a-wobble{-webkit-animation-name:wobble;-moz-animation-name:wobble;-ms-animation-name:wobble;animation-name:wobble;} /* 震铃 */ .a-ring{-webkit-animation-name:ring;-moz-animation-name:ring;-ms-animation-name:ring;animation-name:ring;} /* define */ /* 淡入 */ @-webkit-keyframes fadein{ 0%{opacity:0;} 100%{opacity:1;} } @-moz-keyframes fadein{ 0%{opacity:0;} 100%{opacity:1;} } @-ms-keyframes fadein{ 0%{opacity:0;} 100%{opacity:1;} } @keyframes fadein{ 0%{opacity:0;} 100%{opacity:1;} } /* 淡入-从上 */ @-webkit-keyframes fadeinT{ 0%{opacity:0;-webkit-transform:translateY(-100px);} 100%{opacity:1;-webkit-transform:translateY(0);} } @-moz-keyframes fadeinT{ 0%{opacity:0;-moz-transform:translateY(-100px);} 100%{opacity:1;-moz-transform:translateY(0);} } @-ms-keyframes fadeinT{ 0%{opacity:0;-ms-transform:translateY(-100px);} 100%{opacity:1;-ms-transform:translateY(0);} } @keyframes fadeinT{ 0%{opacity:0;transform:translateY(-100px);} 100%{opacity:1;transform:translateY(0);} } /* 淡入-从右 */ @-webkit-keyframes fadeinR{ 0%{opacity:0;-webkit-transform:translateX(100px);} 100%{opacity:1;-webkit-transform:translateX(0);} } @-moz-keyframes fadeinR{ 0%{opacity:0;-moz-transform:translateX(100px);} 100%{opacity:1;-moz-transform:translateX(0);} } @-ms-keyframes fadeinR{ 0%{opacity:0;-ms-transform:translateX(100px);} 100%{opacity:1;-ms-transform:translateX(0);} } @keyframes fadeinR{ 0%{opacity:0;transform:translateX(100px);} 100%{opacity:1;transform:translateX(0);} } /* 淡入-从下 */ @-webkit-keyframes fadeinB{ 0%{opacity:0;-webkit-transform:translateY(100px);} 100%{opacity:1;-webkit-transform:translateY(0);} } @-moz-keyframes fadeinB{ 0%{opacity:0;-moz-transform:translateY(100px);} 100%{opacity:1;-moz-transform:translateY(0);} } @-ms-keyframes fadeinB{ 0%{opacity:0;-ms-transform:translateY(100px);} 100%{opacity:1;-ms-transform:translateY(0);} } @keyframes fadeinB{ 0%{opacity:0;transform:translateY(100px);} 100%{opacity:1;transform:translateY(0);} } /* 淡入-从左 */ @-webkit-keyframes fadeinL{ 0%{opacity:0;-webkit-transform:translateX(-100px);} 100%{opacity:1;-webkit-transform:translateX(0);} } @-moz-keyframes fadeinL{ 0%{opacity:0;-moz-transform:translateX(-100px);} 100%{opacity:1;-moz-transform:translateX(0);} } @-ms-keyframes fadeinL{ 0%{opacity:0;-ms-transform:translateX(-100px);} 100%{opacity:1;-ms-transform:translateX(0);} } @keyframes fadeinL{ 0%{opacity:0;transform:translateX(-100px);} 100%{opacity:1;transform:translateX(0);} } /* 淡出 */ @-webkit-keyframes fadeout{ 0%{opacity:1;} 100%{opacity:0;} } @-moz-keyframes fadeout{ 0%{opacity:1;} 100%{opacity:0;} } @-ms-keyframes fadeout{ 0%{opacity:1;} 100%{opacity:0;} } @keyframes fadeout{ 0%{opacity:1;} 100%{opacity:0;} } /* 淡出-向上 */ @-webkit-keyframes fadeoutT{ 0%{opacity:1;-webkit-transform:translateY(0);} 100%{opacity:0;-webkit-transform:translateY(-100px);} } @-moz-keyframes fadeoutT{ 0%{opacity:1;-moz-transform:translateY(0);} 100%{opacity:0;-moz-transform:translateY(-100px);} } @-ms-keyframes fadeoutT{ 0%{opacity:1;-ms-transform:translateY(0);} 100%{opacity:0;-ms-transform:translateY(-100px);} } @keyframes fadeoutT{ 0%{opacity:1;transform:translateY(0);} 100%{opacity:0;transform:translateY(-100px);} } /* 淡出-向右 */ @-webkit-keyframes fadeoutR{ 0%{opacity:1;-webkit-transform:translateX(0);} 100%{opacity:0;-webkit-transform:translateX(100px);} } @-moz-keyframes fadeoutR{ 0%{opacity:1;-moz-transform:translateX(0);} 100%{opacity:0;-moz-transform:translateX(100px);} } @-ms-keyframes fadeoutR{ 0%{opacity:1;-ms-transform:translateX(0);} 100%{opacity:0;-ms-transform:translateX(100px);} } @keyframes fadeoutR{ 0%{opacity:1;transform:translateX(0);} 100%{opacity:0;transform:translateX(100px);} } /* 淡出-向下 */ @-webkit-keyframes fadeoutB{ 0%{opacity:1;-webkit-transform:translateY(0);} 100%{opacity:0;-webkit-transform:translateY(100px);} } @-moz-keyframes fadeoutB{ 0%{opacity:1;-moz-transform:translateY(0);} 100%{opacity:0;-moz-transform:translateY(100px);} } @-ms-keyframes fadeoutB{ 0%{opacity:1;-ms-transform:translateY(0);} 100%{opacity:0;-ms-transform:translateY(100px);} } @keyframes fadeoutB{ 0%{opacity:1;transform:translateY(0);} 100%{opacity:0;transform:translateY(100px);} } /* 淡出-向左 */ @-webkit-keyframes fadeoutL{ 0%{opacity:1;-webkit-transform:translateX(0);} 100%{opacity:0;-webkit-transform:translateX(-100px);} } @-moz-keyframes fadeoutL{ 0%{opacity:1;-moz-transform:translateX(0);} 100%{opacity:0;-moz-transform:translateX(-100px);} } @-ms-keyframes fadeoutL{ 0%{opacity:1;-ms-transform:translateX(0);} 100%{opacity:0;-ms-transform:translateX(-100px);} } @keyframes fadeoutL{ 0%{opacity:1;transform:translateX(0);} 100%{opacity:0;transform:translateX(-100px);} } /* 弹跳 */ @-webkit-keyframes bounce{ 0%,20%,50%,80%,100%{-webkit-transform:translateY(0);} 40%{-webkit-transform:translateY(-30px);} 60%{-webkit-transform:translateY(-15px);} } @-moz-keyframes bounce{ 0%,20%,50%,80%,100%{-moz-transform:translateY(0);} 40%{-moz-transform:translateY(-30px);} 60%{-moz-transform:translateY(-15px);} } @-ms-keyframes bounce{ 0%,20%,50%,80%,100%{-ms-transform:translateY(0);} 40%{-ms-transform:translateY(-30px);} 60%{-ms-transform:translateY(-15px);} } @keyframes bounce{ 0%,20%,50%,80%,100%{transform:translateY(0);} 40%{transform:translateY(-30px);} 60%{transform:translateY(-15px);} } /* 弹入 */ @-webkit-keyframes bouncein{ 0%{opacity:0;-webkit-transform:scale(0.3);} 50%{opacity:1;-webkit-transform:scale(1.05);} 70%{-webkit-transform:scale(0.9);} 100%{-webkit-transform:scale(1);} } @-moz-keyframes bouncein{ 0%{opacity:0;-moz-transform:scale(0.3);} 50%{opacity:1;-moz-transform:scale(1.05);} 70%{-moz-transform:scale(0.9);} 100%{-moz-transform:scale(1);} } @-ms-keyframes bouncein{ 0%{opacity:0;-ms-transform:scale(0.3);} 50%{opacity:1;-ms-transform:scale(1.05);} 70%{-ms-transform:scale(0.9);} 100%{-ms-transform:scale(1);} } @keyframes bouncein{ 0%{opacity:0;transform:scale(0.3);} 50%{opacity:1;transform:scale(1.05);} 70%{transform:scale(0.9);} 100%{transform:scale(1);} } /* 弹入-从上 */ @-webkit-keyframes bounceinT{ 0%{opacity:0;-webkit-transform:translateY(-100px);} 60%{opacity:1;-webkit-transform:translateY(30px);} 80%{-webkit-transform:translateY(-10px);} 100%{-webkit-transform:translateY(0);} } @-moz-keyframes bounceinT{ 0%{opacity:0;-moz-transform:translateY(-100px);} 60%{opacity:1;-moz-transform:translateY(30px);} 80%{-moz-transform:translateY(-10px);} 100%{-moz-transform:translateY(0);} } @-ms-keyframes bounceinT{ 0%{opacity:0;-ms-transform:translateY(-100px);} 60%{opacity:1;-ms-transform:translateY(30px);} 80%{-ms-transform:translateY(-10px);} 100%{-ms-transform:translateY(0);} } @keyframes bounceinT{ 0%{opacity:0;transform:translateY(-100px);} 60%{opacity:1;transform:translateY(30px);} 80%{transform:translateY(-10px);} 100%{transform:translateY(0);} } /* 弹入-从右 */ @-webkit-keyframes bounceinR{ 0%{opacity:0;-webkit-transform:translateX(100px);} 60%{opacity:1;-webkit-transform:translateX(-30px);} 80%{-webkit-transform:translateX(10px);} 100%{-webkit-transform:translateX(0);} } @-moz-keyframes bounceinR{ 0%{opacity:0;-moz-transform:translateX(100px);} 60%{opacity:1;-moz-transform:translateX(-30px);} 80%{-moz-transform:translateX(10px);} 100%{-moz-transform:translateX(0);} } @-ms-keyframes bounceinR{ 0%{opacity:0;-ms-transform:translateX(100px);} 60%{opacity:1;-ms-transform:translateX(-30px);} 80%{-ms-transform:translateX(10px);} 100%{-ms-transform:translateX(0);} } @keyframes bounceinR{ 0%{opacity:0;transform:translateX(100px);} 60%{opacity:1;transform:translateX(-30px);} 80%{transform:translateX(10px);} 100%{transform:translateX(0);} } /* 弹入-从下 */ @-webkit-keyframes bounceinB{ 0%{opacity:0;-webkit-transform:translateY(100px);} 60%{opacity:1;-webkit-transform:translateY(-30px);} 80%{-webkit-transform:translateY(10px);} 100%{-webkit-transform:translateY(0);} } @-moz-keyframes bounceinB{ 0%{opacity:0;-moz-transform:translateY(100px);} 60%{opacity:1;-moz-transform:translateY(-30px);} 80%{-moz-transform:translateY(10px);} 100%{-moz-transform:translateY(0);} } @-ms-keyframes bounceinB{ 0%{opacity:0;-ms-transform:translateY(100px);} 60%{opacity:1;-ms-transform:translateY(-30px);} 80%{-ms-transform:translateY(10px);} 100%{-ms-transform:translateY(0);} } @keyframes bounceinB{ 0%{opacity:0;transform:translateY(100px);} 60%{opacity:1;transform:translateY(-30px);} 80%{transform:translateY(10px);} 100%{transform:translateY(0);} } /* 弹入-从左 */ @-webkit-keyframes bounceinL{ 0%{opacity:0;-webkit-transform:translateX(-100px);} 60%{opacity:1;-webkit-transform:translateX(30px);} 80%{-webkit-transform:translateX(-10px);} 100%{-webkit-transform:translateX(0);} } @-moz-keyframes bounceinL{ 0%{opacity:0;-moz-transform:translateX(-100px);} 60%{opacity:1;-moz-transform:translateX(30px);} 80%{-moz-transform:translateX(-10px);} 100%{-moz-transform:translateX(0);} } @-ms-keyframes bounceinL{ 0%{opacity:0;-ms-transform:translateX(-100px);} 60%{opacity:1;-ms-transform:translateX(30px);} 80%{-ms-transform:translateX(-10px);} 100%{-ms-transform:translateX(0);} } @keyframes bounceinL{ 0%{opacity:0;transform:translateX(-100px);} 60%{opacity:1;transform:translateX(30px);} 80%{transform:translateX(-10px);} 100%{transform:translateX(0);} } /* 弹出 */ @-webkit-keyframes bounceout{ 0%{-webkit-transform:scale(1);} 25%{-webkit-transform:scale(0.95);} 50%{opacity:1;-webkit-transform:scale(1.1);} 100%{opacity:0;-webkit-transform:scale(0.3);} } @-moz-keyframes bounceout{ 0%{-moz-transform:scale(1);} 25%{-moz-transform:scale(0.95);} 50%{opacity:1;-moz-transform:scale(1.1);} 100%{opacity:0;-moz-transform:scale(0.3);} } @-ms-keyframes bounceout{ 0%{-ms-transform:scale(1);} 25%{-ms-transform:scale(0.95);} 50%{opacity:1;-ms-transform:scale(1.1);} 100%{opacity:0;-ms-transform:scale(0.3);} } @keyframes bounceout{ 0%{transform:scale(1);} 25%{transform:scale(0.95);} 50%{opacity:1;transform:scale(1.1);} 100%{opacity:0;transform:scale(0.3);} } /* 弹出-向上*/ @-webkit-keyframes bounceoutT{ 0%{-webkit-transform:translateY(0);} 20%{opacity:1;-webkit-transform:translateY(20px);} 100%{opacity:0;-webkit-transform:translateY(-100px);} } @-moz-keyframes bounceoutT{ 0%{-moz-transform:translateY(0);} 20%{opacity:1;-moz-transform:translateY(20px);} 100%{opacity:0;-moz-transform:translateY(-100px);} } @-ms-keyframes bounceoutT{ 0%{-ms-transform:translateY(0);} 20%{opacity:1;-ms-transform:translateY(20px);} 100%{opacity:0;-ms-transform:translateY(-100px);} } @keyframes bounceoutT{ 0%{transform:translateY(0);} 20%{opacity:1;transform:translateY(20px);} 100%{opacity:0;transform:translateY(-100px);} } /* 弹出-向右*/ @-webkit-keyframes bounceoutR{ 0%{-webkit-transform:translateX(0);} 20%{opacity:1;-webkit-transform:translateX(-20px);} 100%{opacity:0;-webkit-transform:translateX(100px);} } @-moz-keyframes bounceoutR{ 0%{-moz-transform:translateX(0);} 20%{opacity:1;-moz-transform:translateX(-20px);} 100%{opacity:0;-moz-transform:translateX(100px);} } @-ms-keyframes bounceoutR{ 0%{-ms-transform:translateX(0);} 20%{opacity:1;-ms-transform:translateX(-20px);} 100%{opacity:0;-ms-transform:translateX(100px);} } @keyframes bounceoutR{ 0%{transform:translateX(0);} 20%{opacity:1;transform:translateX(-20px);} 100%{opacity:0;transform:translateX(100px);} } /* 弹出-向下 */ @-webkit-keyframes bounceoutB{ 0%{-webkit-transform:translateY(0);} 20%{opacity:1;-webkit-transform:translateY(-20px);} 100%{opacity:0;-webkit-transform:translateY(100px);} } @-moz-keyframes bounceoutB{ 0%{-moz-transform:translateY(0);} 20%{opacity:1;-moz-transform:translateY(-20px);} 100%{opacity:0;-moz-transform:translateY(100px);} } @-ms-keyframes bounceoutB{ 0%{-ms-transform:translateY(0);} 20%{opacity:1;-ms-transform:translateY(-20px);} 100%{opacity:0;-ms-transform:translateY(100px);} } @keyframes bounceoutB{ 0%{transform:translateY(0);} 20%{opacity:1;transform:translateY(-20px);} 100%{opacity:0;transform:translateY(100px);} } /* 弹出-向左 */ @-webkit-keyframes bounceoutL{ 0%{-webkit-transform:translateX(0);} 20%{opacity:1;-webkit-transform:translateX(20px);} 100%{opacity:0;-webkit-transform:translateX(-100px);} } @-moz-keyframes bounceoutL{ 0%{-moz-transform:translateX(0);} 20%{opacity:1;-moz-transform:translateX(20px);} 100%{opacity:0;-moz-transform:translateX(-100px);} } @-ms-keyframes bounceoutL{ 0%{-ms-transform:translateX(0);} 20%{opacity:1;-ms-transform:translateX(20px);} 100%{opacity:0;-ms-transform:translateX(-100px);} } @keyframes bounceoutL{ 0%{transform:translateX(0);} 20%{opacity:1;transform:translateX(20px);} 100%{opacity:0;transform:translateX(-200px);} } /* 转入 */ @-webkit-keyframes rotatein{ 0%{opacity:0;-webkit-transform:rotate(-200deg);} 100%{opacity:1;-webkit-transform:rotate(0);} } @-moz-keyframes rotatein{ 0%{opacity:0;-moz-transform:rotate(-200deg);} 100%{opacity:1;-moz-transform:rotate(0);} } @-ms-keyframes rotatein{ 0%{opacity:0;-ms-transform:rotate(-200deg);} 100%{opacity:1;-ms-transform:rotate(0);} } @keyframes rotatein{ 0%{opacity:0;transform:rotate(-200deg);} 100%{opacity:1;transform:rotate(0);} } /* 转入-从左上 */ @-webkit-keyframes rotateinLT{ 0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0;} 100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1;} } @-moz-keyframes rotateinLT{ 0%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0;} 100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1;} } @-ms-keyframes rotateinLT{ 0%{-ms-transform-origin:left bottom;-ms-transform:rotate(-90deg);opacity:0;} 100%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1;} } @keyframes rotateinLT{ 0%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0;} 100%{transform-origin:left bottom;transform:rotate(0);opacity:1;} } /* 转入-从左下 */ @-webkit-keyframes rotateineftB{ 0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0;} 100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1;} } @-moz-keyframes rotateineftB{ 0%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0;} 100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1;} } @-ms-keyframes rotateineftB{ 0%{-ms-transform-origin:left bottom;-ms-transform:rotate(90deg);opacity:0;} 100%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1;} } @keyframes rotateineftB{ 0%{transform-origin:left bottom;transform:rotate(90deg);opacity:0;} 100%{transform-origin:left bottom;transform:rotate(0);opacity:1;} } /* 转入-从右上 */ @-webkit-keyframes rotateinRT{ 0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0;} 100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1;} } @-moz-keyframes rotateinRT{ 0%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0;} 100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1;} } @-ms-keyframes rotateinRT{ 0%{-ms-transform-origin:right bottom;-ms-transform:rotate(90deg);opacity:0;} 100%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1;} } @keyframes rotateinRT{ 0%{transform-origin:right bottom;transform:rotate(90deg);opacity:0;} 100%{transform-origin:right bottom;transform:rotate(0);opacity:1;} } /* 转入-从右下*/ @-webkit-keyframes rotateinRB{ 0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0;} 100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1;} } @-moz-keyframes rotateinRB{ 0%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0;} 100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1;} } @-ms-keyframes rotateinRB{ 0%{-ms-transform-origin:right bottom;-ms-transform:rotate(-90deg);opacity:0;} 100%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1;} } @keyframes rotateinRB{ 0%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0;} 100%{transform-origin:right bottom;transform:rotate(0);opacity:1;} } /* 转出 */ @-webkit-keyframes rotateout{ 0%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1;} 100%{-webkit-transform-origin:center center;-webkit-transform:rotate(200deg);opacity:0;} } @-moz-keyframes rotateout{ 0%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1;} 100%{-moz-transform-origin:center center;-moz-transform:rotate(200deg);opacity:0;} } @-ms-keyframes rotateout{ 0%{-ms-transform-origin:center center;-ms-transform:rotate(0);opacity:1;} 100%{-ms-transform-origin:center center;-ms-transform:rotate(200deg);opacity:0;} } @keyframes rotateout{ 0%{transform-origin:center center;transform:rotate(0);opacity:1;} 100%{transform-origin:center center;transform:rotate(200deg);opacity:0;} } /* 转出-向左上 */ @-webkit-keyframes rotateoutLT{ 0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1;} 100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0;} } @-moz-keyframes rotateoutLT{ 0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1;} 100%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0;} } @-ms-keyframes rotateoutLT{ 0%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1;} 100%{-ms-transform-origin:left bottom;-ms-transform:rotate(-90deg);opacity:0;} } @keyframes rotateoutLT{ 0%{transform-origin:left bottom;transform:rotate(0);opacity:1;} 100%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0;} } /* 转出-向左下 */ @-webkit-keyframes rotateoutLB{ 0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1;} 100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0;} } @-moz-keyframes rotateoutLB{ 0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1;} 100%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0;} } @-ms-keyframes rotateoutLB{ 0%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1;} 100%{-ms-transform-origin:left bottom;-ms-transform:rotate(90deg);opacity:0;} } @keyframes rotateoutLB{ 0%{transform-origin:left bottom;transform:rotate(0);opacity:1;} 100%{transform-origin:left bottom;transform:rotate(90deg);opacity:0;} } /* 转出-向右上 */ @-webkit-keyframes rotateoutRT{ 0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1;} 100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0;} } @-moz-keyframes rotateoutRT{ 0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1;} 100%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0;} } @-ms-keyframes rotateoutRT{ 0%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1;} 100%{-ms-transform-origin:right bottom;-ms-transform:rotate(90deg);opacity:0;} } @keyframes rotateoutRT{ 0%{transform-origin:right bottom;transform:rotate(0);opacity:1;} 100%{transform-origin:right bottom;transform:rotate(90deg);opacity:0;} } /* 转出-向右下 */ @-webkit-keyframes rotateoutBR{ 0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1;} 100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0;} } @-moz-keyframes rotateoutBR{ 0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1;} 100%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0;} } @-ms-keyframes rotateoutBR{ 0%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1;} 100%{-ms-transform-origin:right bottom;-ms-transform:rotate(-90deg);opacity:0;} } @keyframes rotateoutBR{ 0%{transform-origin:right bottom;transform:rotate(0);opacity:1;} 100%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0;} } /* 翻转 */ @-webkit-keyframes flip{ 0%{-webkit-transform:perspective(400px) rotateY(0);-webkit-animation-timing-function:ease-out;} 40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg);-webkit-animation-timing-function:ease-out;} 50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in;} 80%{-webkit-transform:perspective(400px) rotateY(360deg) scale(0.95);-webkit-animation-timing-function:ease-in;} 100%{-webkit-transform:perspective(400px) scale(1);-webkit-animation-timing-function:ease-in;} } @-moz-keyframes flip{ 0%{-moz-transform:perspective(400px) rotateY(0);-moz-animation-timing-function:ease-out;} 40%{-moz-transform:perspective(400px) translateZ(150px) rotateY(170deg);-moz-animation-timing-function:ease-out;} 50%{-moz-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-moz-animation-timing-function:ease-in;} 80%{-moz-transform:perspective(400px) rotateY(360deg) scale(0.95);-moz-animation-timing-function:ease-in;} 100%{-moz-transform:perspective(400px) scale(1);-moz-animation-timing-function:ease-in;} } @-ms-keyframes flip{ 0%{-ms-transform:perspective(400px) rotateY(0);-ms-animation-timing-function:ease-out;} 40%{-ms-transform:perspective(400px) translateZ(150px) rotateY(170deg);-ms-animation-timing-function:ease-out;} 50%{-ms-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-ms-animation-timing-function:ease-in;} 80%{-ms-transform:perspective(400px) rotateY(360deg) scale(0.95);-ms-animation-timing-function:ease-in;} 100%{-ms-transform:perspective(400px) scale(1);-ms-animation-timing-function:ease-in;} } @keyframes flip{ 0%{transform:perspective(400px) rotateY(0);animation-timing-function:ease-out;} 40%{transform:perspective(400px) translateZ(150px) rotateY(170deg);animation-timing-function:ease-out;} 50%{transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);animation-timing-function:ease-in;} 80%{transform:perspective(400px) rotateY(360deg) scale(0.95);animation-timing-function:ease-in;} 100%{transform:perspective(400px) scale(1);animation-timing-function:ease-in;} } /* 翻入-X轴 */ @-webkit-keyframes flipinX{ 0%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;} 40%{-webkit-transform:perspective(400px) rotateX(-10deg);} 70%{-webkit-transform:perspective(400px) rotateX(10deg);} 100%{-webkit-transform:perspective(400px) rotateX(0);opacity:1;} } @-moz-keyframes flipinX{ 0%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0;} 40%{-moz-transform:perspective(400px) rotateX(-10deg);} 70%{-moz-transform:perspective(400px) rotateX(10deg);} 100%{-moz-transform:perspective(400px) rotateX(0);opacity:1;} } @-ms-keyframes flipinX{ 0%{-ms-transform:perspective(400px) rotateX(90deg);opacity:0;} 40%{-ms-transform:perspective(400px) rotateX(-10deg);} 70%{-ms-transform:perspective(400px) rotateX(10deg);} 100%{-ms-transform:perspective(400px) rotateX(0);opacity:1;} } @keyframes flipinX{ 0%{transform:perspective(400px) rotateX(90deg);opacity:0;} 40%{transform:perspective(400px) rotateX(-10deg);} 70%{transform:perspective(400px) rotateX(10deg);} 100%{transform:perspective(400px) rotateX(0);opacity:1;} } /* 翻入-Y轴 */ @-webkit-keyframes flipinY{ 0%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;} 40%{-webkit-transform:perspective(400px) rotateY(-10deg);} 70%{-webkit-transform:perspective(400px) rotateY(10deg);} 100%{-webkit-transform:perspective(400px) rotateY(0);opacity:1;} } @-moz-keyframes flipinY{ 0%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0;} 40%{-moz-transform:perspective(400px) rotateY(-10deg);} 70%{-moz-transform:perspective(400px) rotateY(10deg);} 100%{-moz-transform:perspective(400px) rotateY(0);opacity:1;} } @-ms-keyframes flipinY{ 0%{-ms-transform:perspective(400px) rotateY(90deg);opacity:0;} 40%{-ms-transform:perspective(400px) rotateY(-10deg);} 70%{-ms-transform:perspective(400px) rotateY(10deg);} 100%{-ms-transform:perspective(400px) rotateY(0);opacity:1;} } @keyframes flipinY{ 0%{transform:perspective(400px) rotateY(90deg);opacity:0;} 40%{transform:perspective(400px) rotateY(-10deg);} 70%{transform:perspective(400px) rotateY(10deg);} 100%{transform:perspective(400px) rotateY(0);opacity:1;} } /* 翻出-X轴 */ @-webkit-keyframes flipoutX{ 0%{-webkit-transform:perspective(400px) rotateX(0);opacity:1;} 100%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;} } @-moz-keyframes flipoutX{ 0%{-moz-transform:perspective(400px) rotateX(0);opacity:1;} 100%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0;} } @-ms-keyframes flipoutX{ 0%{-ms-transform:perspective(400px) rotateX(0);opacity:1;} 100%{-ms-transform:perspective(400px) rotateX(90deg);opacity:0;} } @keyframes flipoutX{ 0%{transform:perspective(400px) rotateX(0);opacity:1;} 100%{transform:perspective(400px) rotateX(90deg);opacity:0;} } /* 翻出-Y轴 */ @-webkit-keyframes flipoutY{ 0%{-webkit-transform:perspective(400px) rotateY(0);opacity:1;} 100%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;} } @-moz-keyframes flipoutY{ 0%{-moz-transform:perspective(400px) rotateY(0);opacity:1;} 100%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0;} } @-ms-keyframes flipoutY{ 0%{-ms-transform:perspective(400px) rotateY(0);opacity:1;} 100%{-ms-transform:perspective(400px) rotateY(90deg);opacity:0;} } @keyframes flipoutY{ 0%{transform:perspective(400px) rotateY(0);opacity:1;} 100%{transform:perspective(400px) rotateY(90deg);opacity:0;} } /* 闪烁 */ @-webkit-keyframes flash{ 0%,50%,100%{opacity:1;} 25%,75%{opacity:0;} } @-moz-keyframes flash{ 0%,50%,100%{opacity:1;} 25%,75%{opacity:0;} } @-ms-keyframes flash{ 0%,50%,100%{opacity:1;} 25%,75%{opacity:0;} } @keyframes flash{ 0%,50%,100%{opacity:1;} 25%,75%{opacity:0;} } /* 震颤 */ @-webkit-keyframes shake{ 0%,100%{-webkit-transform:translateX(0);} 10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);} 20%,40%,60%,80%{-webkit-transform:translateX(10px);} } @-moz-keyframes shake{ 0%,100%{-moz-transform:translateX(0);} 10%,30%,50%,70%,90%{-moz-transform:translateX(-10px);} 20%,40%,60%,80%{-moz-transform:translateX(10px);} } @-ms-keyframes shake{ 0%,100%{-ms-transform:translateX(0);} 10%,30%,50%,70%,90%{-ms-transform:translateX(-10px);} 20%,40%,60%,80%{-ms-transform:translateX(10px);} } @keyframes shake{ 0%,100%{transform:translateX(0);} 10%,30%,50%,70%,90%{transform:translateX(-10px);} 20%,40%,60%,80%{transform:translateX(10px);} } /* 摇摆 */ @-webkit-keyframes swing{ 20%{-webkit-transform:rotate(15deg);} 40%{-webkit-transform:rotate(-10deg);} 60%{-webkit-transform:rotate(5deg);} 80%{-webkit-transform:rotate(-5deg);} 100%{-webkit-transform:rotate(0);} } @-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);} } /* 摇晃 */ @-webkit-keyframes wobble{ 0%{-webkit-transform:translateX(0);} 15%{-webkit-transform:translateX(-100px) rotate(-5deg);} 30%{-webkit-transform:translateX(80px) rotate(3deg);} 45%{-webkit-transform:translateX(-65px) rotate(-3deg);} 60%{-webkit-transform:translateX(40px) rotate(2deg);} 75%{-webkit-transform:translateX(-20px) rotate(-1deg);} 100%{-webkit-transform:translateX(0);} } @-moz-keyframes wobble{ 0%{-moz-transform:translateX(0);} 15%{-moz-transform:translateX(-100px) rotate(-5deg);} 30%{-moz-transform:translateX(80px) rotate(3deg);} 45%{-moz-transform:translateX(-65px) rotate(-3deg);} 60%{-moz-transform:translateX(40px) rotate(2deg);} 75%{-moz-transform:translateX(-20px) rotate(-1deg);} 100%{-moz-transform:translateX(0);} } @-ms-keyframes wobble{ 0%{-ms-transform:translateX(0);} 15%{-ms-transform:translateX(-100px) rotate(-5deg);} 30%{-ms-transform:translateX(80px) rotate(3deg);} 45%{-ms-transform:translateX(-65px) rotate(-3deg);} 60%{-ms-transform:translateX(40px) rotate(2deg);} 75%{-ms-transform:translateX(-20px) rotate(-1deg);} 100%{-ms-transform:translateX(0);} } @keyframes wobble{ 0%{transform:translateX(0);} 15%{transform:translateX(-100px) rotate(-5deg);} 30%{transform:translateX(80px) rotate(3deg);} 45%{transform:translateX(-65px) rotate(-3deg);} 60%{transform:translateX(40px) rotate(2deg);} 75%{transform:translateX(-20px) rotate(-1deg);} 100%{transform:translateX(0);} } /* 震铃 */ @-webkit-keyframes ring{ 0%{-webkit-transform:scale(1);} 10%,20%{-webkit-transform:scale(0.9) rotate(-3deg);} 30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);} 40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);} 100%{-webkit-transform:scale(1) rotate(0);} } @-moz-keyframes ring{ 0%{-moz-transform:scale(1);} 10%,20%{-moz-transform:scale(0.9) rotate(-3deg);} 30%,50%,70%,90%{-moz-transform:scale(1.1) rotate(3deg);} 40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg);} 100%{-moz-transform:scale(1) rotate(0);} } @-ms-keyframes ring{ 0%{-ms-transform:scale(1);} 10%,20%{-ms-transform:scale(0.9) rotate(-3deg);} 30%,50%,70%,90%{-ms-transform:scale(1.1) rotate(3deg);} 40%,60%,80%{-ms-transform:scale(1.1) rotate(-3deg);} 100%{-ms-transform:scale(1) rotate(0);} } @keyframes ring{ 0%{transform:scale(1);} 10%,20%{transform:scale(0.9) rotate(-3deg);} 30%,50%,70%,90%{transform:scale(1.1) rotate(3deg);} 40%,60%,80%{transform:scale(1.1) rotate(-3deg);} 100%{transform:scale(1) rotate(0);} }
以上是关于CSS3常用的动画效果分享的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

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

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

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

Dreamweaver CS6
视觉化网页开发工具

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

纯CSS3怎么实现波浪效果?本篇文章就来给大家介绍一下使用 SVG 和 CSS 动画制作波浪效果的方法,希望对大家有所帮助!

两种方法:1、利用display属性,只需给元素添加“display:none;”样式即可。2、利用position和top属性设置元素绝对定位来隐藏元素,只需给元素添加“position:absolute;top:-9999px;”样式。

Vue是一款流行的JavaScript框架,它通过数据驱动的方式,协助开发者构建交互性强、数据呈现美观的单页Web应用。Vue内置了许多有用的特性,其中之一就是页面过渡动画。在本文中,我们将介绍如何使用Vue的过渡动画功能,并且讨论最常见的动画效果。实现Vue页面过渡动画Vue的页面过渡动画是通过Vue的<transition>与<tr

随着移动互联网的快速发展,越来越多的程序员开始使用uniapp构建跨平台应用。在移动应用开发中,页面过渡动画对用户体验升级起着非常重要的作用。通过页面过渡动画,能够有效地增强用户体验,提高用户留存率和满意度。因此,下面就来分享一下如何使用uniapp实现页面过渡动画效果,同时提供具体代码示例。一、uniapp介绍uniapp是DCloud开发团队推出的一款基

在css中,可以利用border-image属性来实现花边边框。border-image属性可以使用图片来创建边框,即给边框加上背景图片,只需要将背景图片指定为花边样式即可;语法“border-image: url(图片路径) 向内偏移值 图像边界宽度 outset 是否重复;”。

如何通过纯CSS实现漂浮动画效果的方法和技巧在现代网页设计中,动画效果已成为吸引用户眼球的重要元素之一。而其中一种常见的动画效果就是漂浮效果,它可以给网页增加一种动感和活力,使得用户体验更加丰富和有趣。本文将介绍如何通过纯CSS实现漂浮动画效果,并提供一些代码示例供参考。一、使用CSS的transition属性来实现漂浮效果CSS的transition属性可

解决UniApp报错:无法找到'xxx'动画效果的问题UniApp是一种基于Vue.js框架的跨平台应用开发框架,可以用于开发微信小程序、H5、App等多个平台的应用。在开发过程中,我们经常会使用到动画效果来提升用户体验。然而,有时候会遇到一个报错:无法找到'xxx'动画效果。这个报错会导致动画无法正常运行,给开发带来不便。本文将介绍几种解决这个问题的方法。
