小言_互联网的博客

CSS实现霓虹灯按钮,CSS实现炫酷的霓虹灯按钮动画

255人阅读  评论(0)

作者:AlbertYang,软件设计师,Java工程师,前端工程师,爱阅读,爱思考,爱编程,爱自由,信奉终生学习,每天学习一点点,就是领先的开始。

微信公众号:AlbertYang

今天教大家使用CSS实现一个霓虹灯按钮动画效果,大家有什么不懂的可以留言问我,视频已经同步到B站,欢迎关注我的B站账号。

视频

视频链接https://www.bilibili.com/video/BV1Zi4y1F7ut

CSS霓虹灯按钮动画,CSS实现炫酷的霓虹灯按钮动画

HTML


  
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>霓虹灯按钮:微信公众号AlbertYang </title>
  7. <link rel="stylesheet" href="style.css">
  8. </head>
  9. <body>
  10. <!-- 容器 -->
  11. <div class="container">
  12. <!-- 按钮 -->
  13. <a href="#" style="--x:0"> <span>关注 </span> </a>
  14. <a href="#" style="--x:1"> <span>收藏 </span> </a>
  15. <a href="#" style="--x:2"> <span>投币 </span> </a>
  16. <a href="#" style="--x:3"> <span>点赞 </span> </a>
  17. <a href="#" style="--x:4"> <span>评论 </span> </a>
  18. <a href="#" style="--x:5"> <span>转发 </span> </a>
  19. </div>
  20. </body>
  21. </html>

CSS


  
  1. /* 清除浏览器默认边距,
  2. 使边框和内边距的值包含在元素的height和width内 */
  3. * {
  4. margin: 0;
  5. padding: 0;
  6. box-sizing: border-box;
  7. }
  8. /* flex布局,让内容垂直和水平居中 */
  9. body {
  10. display: flex;
  11. justify-content: center;
  12. align-items: center;
  13. min-height: 100vh;
  14. background: #000;
  15. }
  16. /* flex布局,让内容垂直和水平居中,超过的部分换行显示 */
  17. .container {
  18. display: flex;
  19. justify-content: center;
  20. align-items: center;
  21. flex-wrap: wrap;
  22. }
  23. /* 按钮的基本样式 */
  24. .container a {
  25. position: relative;
  26. padding: 15px 30px;
  27. margin: 50px;
  28. border: 2px solid #0f0;
  29. font-size: 18px;
  30. font-weight: 600;
  31. text-decoration: none;
  32. letter-spacing: 5px;
  33. color: #fff;
  34. filter: hue-rotate(calc(var(--x) * 60deg));
  35. transition: 0.5s;
  36. }
  37. /* 鼠标经过时改变按钮样式 */
  38. .container a :hover {
  39. transition-delay: 1.5s;
  40. color: #000;
  41. box-shadow: 0 0 10px #0f0,
  42. 0 0 20px #0f0,
  43. 0 0 40px #0f0,
  44. 0 0 80px #0f0,
  45. 0 0 160px #0f0,
  46. 0 0 320px #0f0;
  47. }
  48. a span {
  49. position: relative;
  50. z-index: 10;
  51. }
  52. /* 通过伪元素::before实现按钮左边的线 */
  53. .container a ::before {
  54. content: "";
  55. position: absolute;
  56. left: - 20px;
  57. top: 50%;
  58. transform: translateY(- 50%);
  59. background: #0f0;
  60. width: 20px;
  61. height: 2px;
  62. box-shadow: 5px - 8px 0 #0f0,
  63. 5px 8px 0 #0f0;
  64. transition: width 0.5s, height 0.5s, left 0.5s,
  65. box-shadow 0.5s;
  66. transition-delay: 0s, 1s, 0s, 0.5s;
  67. }
  68. /* 鼠标经过时改变线条的样式 */
  69. .container a :hover ::before {
  70. width: 60%;
  71. height: 100%;
  72. left: - 2px;
  73. box-shadow: 0 0 0 #0f0,
  74. 0 0 0 #0f0;
  75. }
  76. /* 通过伪元素::after实现按钮右边的线 */
  77. .container a ::after {
  78. content: "";
  79. position: absolute;
  80. right: - 20px;
  81. top: 50%;
  82. transform: translateY(- 50%);
  83. background: #0f0;
  84. width: 20px;
  85. height: 2px;
  86. box-shadow: - 5px - 8px 0 #0f0,
  87. - 5px 8px 0 #0f0;
  88. transition: width 0.5s, height 0.5s, right 0.5s,
  89. box-shadow 0.5s;
  90. transition-delay: 0s, 1s, 0s, 0.5s;
  91. }
  92. /* 鼠标经过时改变线条的样式 */
  93. .container a :hover ::after {
  94. width: 60%;
  95. height: 100%;
  96. right: - 2px;
  97. box-shadow: 0 0 0 #0f0,
  98. 0 0 0 #0f0;
  99. }

今天的学习就到这里了,由于本人能力和知识有限,如果有写的不对的地方,还请各位大佬批评指正。有什么不明白的地方欢迎给我留言,如果想继续学习提高,欢迎关注我,每天进步一点点,就是领先的开始,加油。如果觉得本文对你有帮助的话,欢迎转发,评论,点赞!!!


转载:https://blog.csdn.net/qq_23853743/article/details/112388284
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场