我们知道css可以制作出很多酷炫的动画效果,今天我们就通过css制作13种样式的鼠标经过按钮的酷炫效果,如下图所示:
<html class=" js flexbox flexboxlegacy canvas canvastext webgl no-touch geolocation postmessage websqldatabase indexeddb hashchange history draganddrop websockets rgba hsla multiplebgs backgroundsize borderimage borderradius boxshadow textshadow opacity cssanimations csscolumns cssgradients cssreflections csstransforms no-csstransforms3d csstransitions fontface no-generatedcontent video audio localstorage sessionstorage webworkers no-applicationcache svg inlinesvg smil svgclippaths"> <head> <meta charset="UTF-8"> <link rel="apple-touch-icon" type="image/png" href="https://cpwebassets.codepen.io/assets/favicon/apple-touch-icon-5ae1a0698dcc2402e9712f7d01ed509a57814f994c660df9f7a952f3060705ee.png"> <meta name="apple-mobile-web-app-title" content="CodePen"> <link rel="shortcut icon" type="image/x-icon" href="https://cpwebassets.codepen.io/assets/favicon/favicon-aec34940fbc1a6e787974dcd360f2c6b63348d4b1f4e06c77743096d55480f33.ico"> <link rel="mask-icon" type="image/x-icon" href="https://cpwebassets.codepen.io/assets/favicon/logo-pin-8f3771b1072e3c38bd662872f6b673a722f4b3ca2421637d5596661b4e2132cc.svg" color="#111"> <title>css制作13种样式的鼠标经过按钮的酷炫效果</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css"> <style> @import url(https://fonts.googleapis.com/css?family=Open+Sans:400|Raleway:300); html { padding-top: 50px; font-family: "Open Sans", Helvetica, arial, sans-serif; text-align: center; background-color: #eeeeee; } html *, html *:before, html *:after { box-sizing: border-box; transition: 0.5s ease-in-out; } html i, html em, html b, html strong, html span { transition: none; } *:before, *:after { z-index: -1; } h1, h4 { font-family: "Raleway", "Open Sans", sans-serif; margin: 0; line-height: 1; } a { text-decoration: none; line-height: 80px; color: black; } .centerer { width: 100%; max-width: 600px; margin: 0 auto; padding: 0 1rem; } @media (min-width: 600px) { .wrap { width: 50%; float: left; } } [class^=btn-] { position: relative; display: block; overflow: hidden; width: 100%; height: 80px; max-width: 250px; margin: 1rem auto; text-transform: uppercase; border: 1px solid currentColor; } .btn-0 { color: #cc64c9; } .btn-0:before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: #752c73; transform: translateX(-100%); } .btn-0:hover { color: #f0d2ef; } .btn-0:hover:before { transform: translateX(0); } .btn-1 { color: #7a8a6a; } .btn-1:before { content: ""; position: absolute; top: 0; right: -50px; bottom: 0; left: 0; border-right: 50px solid transparent; border-bottom: 80px solid #3b4630; transform: translateX(-100%); } .btn-1:hover { color: #d8ddd3; } .btn-1:hover:before { transform: translateX(0); } .btn-1-2 { color: #42bbcd; } .btn-1-2:before, .btn-1-2:after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border-bottom: 80px solid #146976; } .btn-1-2:before { right: -50px; border-right: 50px solid transparent; transform: translateX(-100%); } .btn-1-2:after { left: -50px; border-left: 50px solid transparent; transform: translateX(100%); } .btn-1-2:hover { color: #c8ebf0; } .btn-1-2:hover:before { transform: translateX(-40%); } .btn-1-2:hover:after { transform: translateX(40%); } .btn-2 { color: #bdab4d; } .btn-2:before, .btn-2:after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; } .btn-2:before { right: -50px; border-right: 50px solid transparent; border-bottom: 80px solid #6a5e1b; transform: translateX(-100%); } .btn-2:after { left: -50px; border-left: 50px solid transparent; border-top: 80px solid #6a5e1b; transform: translateX(100%); } .btn-2:hover { color: #ece6cb; } .btn-2:hover:before { transform: translateX(-49%); } .btn-2:hover:after { transform: translateX(49%); } .btn-3:before, .btn-3:after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border-top: 40px solid #4e3549; border-bottom: 40px solid #4e3549; } .btn-3:before { border-right: 40px solid transparent; transform: translateX(-100%); } .btn-3:after { border-left: 40px solid transparent; transform: translateX(100%); } .btn-3:hover { color: #e0d6de; } .btn-3:hover:before { transform: translateX(-30%); } .btn-3:hover:after { transform: translateX(30%); } .btn-4 { color: #607ab1; } .btn-4:before, .btn-4:after, .btn-4 span:before, .btn-4 span:after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: #293b62; } .btn-4:before { transform: translate(-100%, -100%); } .btn-4:after { transform: translate(-100%, 100%); } .btn-4 span:before { transform: translate(100%, -100%); } .btn-4 span:after { transform: translate(100%, 100%); } .btn-4:hover { color: #d0d8e8; } .btn-4:hover:before { transform: translate(-50%, -50%); } .btn-4:hover:after { transform: translate(-50%, 50%); } .btn-4:hover span:before { transform: translate(50%, -50%); } .btn-4:hover span:after { transform: translate(50%, 50%); } .btn-5 { color: #52953e; } .btn-5:after { content: ""; width: 0; height: 0; -webkit-transform: rotate(360deg); border-style: solid; border-width: 0 0 0 0; border-color: transparent #1f4e11 transparent transparent; position: absolute; top: 0; right: 0; } .btn-5:before { content: ""; width: 0; height: 0; -webkit-transform: rotate(360deg); border-style: solid; border-width: 0 0 0 0; border-color: transparent transparent transparent #1f4e11; position: absolute; bottom: 0; left: 0; } .btn-5:before, .btn-5:after { content: ""; position: absolute; width: 0; height: 0; border: 0 solid; transform: rotate(360deg); } .btn-5:before { bottom: 0; left: 0; border-color: transparent transparent transparent #1f4e11; } .btn-5:after { top: 0; right: 0; border-color: transparent #1f4e11 transparent transparent; } .btn-5:hover { color: #cce0c6; } .btn-5:hover:before, .btn-5:hover:after { border-width: 80px 262.5px; } .btn-6 { color: #748581; } .btn-6 span { position: absolute; display: block; width: 0; height: 0; border-radius: 50%; background-color: #374340; transition: width 0.4s ease-in-out, height 0.4s ease-in-out; transform: translate(-50%, -50%); z-index: -1; } .btn-6:hover { color: #d6dbda; } .btn-6:hover span { width: 225%; height: 562.5px; } .btn-6:active { background-color: #5c6f6b; } .btn-7 { color: #83a165; } .btn-7:before, .btn-7:after, .btn-7 span:before, .btn-7 span:after { content: ""; position: absolute; top: 0; width: 25.25%; height: 0; background-color: #41562c; } .btn-7:before { left: 0; } .btn-7:after { left: 50%; } .btn-7 span:before, .btn-7 span:after { top: auto; bottom: 0; } .btn-7 span:before { left: 25%; } .btn-7 span:after { left: 75%; } .btn-7:hover { color: #dbe3d2; } .btn-7:hover:before, .btn-7:hover:after, .btn-7:hover span:before, .btn-7:hover span:after { height: 80px; } .btn-8 { color: #746391; } .btn-8:before, .btn-8:after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: #372b4c; } .btn-8:before { transform: translateY(-100%); } .btn-8:after { transform: translateY(100%); } .btn-8:hover { color: #d6d1df; } .btn-8:hover:before { transform: translateY(-50%); } .btn-8:hover:after { transform: translateY(50%); } .btn-9 { color: #ad4d75; } .btn-9:before, .btn-9:after, .btn-9 span:before, .btn-9 span:after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 0; background-color: rgba(95, 27, 56, 0.25); transition: 0.4s ease-in-out; } .btn-9:after, .btn-9 span:before { top: auto; bottom: 0; } .btn-9 span:before, .btn-9 span:after { transition-delay: 0.4s; } .btn-9:hover { color: #e7cbd7; } .btn-9:hover:before, .btn-9:hover:after, .btn-9:hover span:before, .btn-9:hover span:after { height: 80px; } .btn-9:active { background-color: #9f2d5d; } .btn-10 { color: #3a2f2a; } .btn-10:before, .btn-10:after, .btn-10 span:before, .btn-10 span:after { content: ""; position: absolute; top: 0; left: 0; width: 0; height: 80px; background-color: rgba(14, 6, 2, 0.25); transition: 0.4s; } .btn-10:after, .btn-10 span:before { left: auto; right: 0; } .btn-10 span:before, .btn-10 span:after { transition-delay: 0.4s; } .btn-10:hover { color: #c5c2c0; } .btn-10:hover:before, .btn-10:hover:after, .btn-10:hover span:before, .btn-10:hover span:after { width: 250px; } .btn-10:active { background-color: #170a04; } @-webkit-keyframes criss-cross-left { 0% { left: -20px; } 50% { left: 50%; width: 20px; height: 20px; } 100% { left: 50%; width: 375px; height: 375px; } } @keyframes criss-cross-left { 0% { left: -20px; } 50% { left: 50%; width: 20px; height: 20px; } 100% { left: 50%; width: 375px; height: 375px; } } @-webkit-keyframes criss-cross-right { 0% { right: -20px; } 50% { right: 50%; width: 20px; height: 20px; } 100% { right: 50%; width: 375px; height: 375px; } } @keyframes criss-cross-right { 0% { right: -20px; } 50% { right: 50%; width: 20px; height: 20px; } 100% { right: 50%; width: 375px; height: 375px; } } .btn-11 { position: relative; color: #a15fa8; } .btn-11:before, .btn-11:after { position: absolute; top: 50%; content: ""; width: 20px; height: 20px; background-color: #904399; border-radius: 50%; } .btn-11:before { left: -20px; transform: translate(-50%, -50%); } .btn-11:after { right: -20px; transform: translate(50%, -50%); } .btn-11:hover { color: #e3d0e6; } .btn-11:hover:before { -webkit-animation: criss-cross-left 0.8s both; animation: criss-cross-left 0.8s both; -webkit-animation-direction: alternate; animation-direction: alternate; } .btn-11:hover:after { -webkit-animation: criss-cross-right 0.8s both; animation: criss-cross-right 0.8s both; -webkit-animation-direction: alternate; animation-direction: alternate; } </style> <script> window.console = window.console || function (t) { }; </script> <script> if (document.location.search.match(/type=embed/gi)) { window.parent.postMessage("resize", "*"); } </script> </head> <body translate="no"> <div> <h1>Just Some More</h1> <h1>Button Hover Effects</h1> <h4>By: <a href="http://kylebrumm.com" target="_blank">Kyle Brumm</a></h4> <div> <a href="#">Swipe</a> <a href="#">Diagonal Swipe</a> <a href="#">Double Swipe</a> <a href="#">Diagonal Close</a> <a href="#"><span>Zoning In</span></a> <a href="#"><span>4 Corners</span></a> <a href="#">Slice</a> </div> <div> <a href="#">Position Aware<span style="top: 26px; left: -13.5px;"></span></a> <a href="#"><span>Alternate</span></a> <a href="#">Smoosh</a> <a href="#"><span>Vertical Overlap</span></a> <a href="#"><span>Horizontal Overlap</span></a> <a href="#">Collision</a> </div> </div> <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-1b93190375e9ccc259df3a57c1abc0e64599724ae30d7ea4c6877eb615f89387.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script src="https://s.codepen.io/assets/libs/modernizr.js"></script> <script id="rendered-js"> $(function () { $('.btn-6'). on('mouseenter', function (e) { var parentOffset = $(this).offset(), relX = e.pageX - parentOffset.left, relY = e.pageY - parentOffset.top; $(this).find('span').css({ top: relY, left: relX }); }). on('mouseout', function (e) { var parentOffset = $(this).offset(), relX = e.pageX - parentOffset.left, relY = e.pageY - parentOffset.top; $(this).find('span').css({ top: relY, left: relX }); }); }); //# sourceURL=pen.js </script> <div id="xl_chrome_ext_{4DB361DE-01F7-4376-B494-639E489D19ED}" style="display: none;"> <div></div> <a id="xl_chrome_ext_download" href="javascript:;">下载视频</a> <a id="xl_chrome_ext_close" href="javascript:;"></a> </div> </body> </html>
通过以上内容我们知道了css如何制作13种样式的鼠标经过按钮的酷炫效果?感谢您访问“我爱捣鼓(www.woaidaogu.com)”网站的内容,希望对大家有所帮助!引用本文内容时,请注明出处!谢谢合作!