CSS实现超级炫酷的流光按钮效果

ゞ 浴缸里的玫瑰 2021-07-27 00:22 989阅读 0赞

今天从小破站看了一个大神的作品,感觉好流批,自己忍不住也做了一下。
是完全用css实现流光特效,鼠标放在上面会有光波流动

这是鼠标没放在上面的颜色,放在上面的颜色太炫酷了,图片根本无法表达

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0Njk5MTc0_size_16_color_FFFFFF_t_70

哈哈哈哈来后续更新一下:刚知道了一款可以截GIF的软件,感觉太方便了,想要压缩包的评论哦

20200505134304512.gif

下面上菜:

  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>Document</title>
  7. <link rel="stylesheet" href="css/index.css">
  8. </head>
  9. <body>
  10. <a href="#">sunbutton</a>
  11. </body>
  12. </html>

css代码:

下面有详解

  1. *{
  2. margin: 0;
  3. padding: 0;
  4. }
  5. body{
  6. background-color: #000;
  7. }
  8. a{ /*去掉下划线*/
  9. text-decoration: none;
  10. position: absolute;
  11. left: 50%;
  12. top: 50%;
  13. transform: translate(-50%,-50%);
  14. /* 设置字体大小 */
  15. font-size: 24px;
  16. background: linear-gradient(90deg,#03a9f4,#f441a5,#ffeb3b,#03a9f4);
  17. background-size: 400%;
  18. width: 400px;
  19. height: 100px;
  20. line-height: 100px;
  21. text-align: center;
  22. color: #fff;
  23. /* 字母变大写 */
  24. text-transform: uppercase;
  25. /* 设置成胶囊状 */
  26. border-radius: 50px;
  27. z-index: 1;
  28. }
  29. /* 设置发光 */
  30. a::before{
  31. content: "";
  32. position: absolute;
  33. left: -5px;
  34. right: -5px;
  35. top: -5px;
  36. bottom: -5px;
  37. background: linear-gradient(90deg,#03a9f4,#f441a5,#ffeb3b,#03a9f4);
  38. background-size: 400%;
  39. border-radius: 50px;
  40. filter: blur(20px);
  41. z-index: -1;
  42. }
  43. a:hover::before{
  44. animation: sun 8s infinite;
  45. }
  46. a:hover{
  47. animation: sun 8s infinite;
  48. }
  49. /* 设置流光 */
  50. @keyframes sun{
  51. 100%{
  52. background-position: -400% 0;
  53. }
  54. }

css详解:

  1. *{ /*清除样式*/
  2. margin: 0;
  3. padding: 0;
  4. }
  5. body{
  6. /* 设置整体背景颜色 */
  7. background-color: #000;
  8. }
  9. a{ /*去掉下划线*/
  10. text-decoration: none;
  11. /* 绝对定位,东西放在那就不动了 */
  12. position: absolute;
  13. /* 下面三个实现彻底居中,left和top是以左上角为原点,所以不是中心,用translate实现自身移动50% */
  14. left: 50%;
  15. top: 50%;
  16. transform: translate(-50%,-50%);
  17. /* 设置字体大小 */
  18. font-size: 24px;
  19. /* 实现渐变色,90deg表示一个角度开始 */
  20. background: linear-gradient(90deg,#03a9f4,#f441a5,#ffeb3b,#03a9f4);
  21. /* 背景色放大 */
  22. background-size: 400%;
  23. /* 图形大小 */
  24. width: 400px;
  25. height: 100px;
  26. /* 行高 */
  27. line-height: 100px;
  28. /* 文本居中 */
  29. text-align: center;
  30. /* 字体颜色 */
  31. color: #fff;
  32. /* 字母变大写 */
  33. text-transform: uppercase;
  34. /* 设置成胶囊状 */
  35. border-radius: 50px;
  36. /* 值为正数在上面显示,反之 */
  37. z-index: 1;
  38. }
  39. /* 设置发光 */
  40. a::before{
  41. content: "";
  42. position: absolute;
  43. /* 设置发光范围 */
  44. left: -5px;
  45. right: -5px;
  46. top: -5px;
  47. bottom: -5px;
  48. /* 设置发光颜色 */
  49. background: linear-gradient(90deg,#03a9f4,#f441a5,#ffeb3b,#03a9f4);
  50. background-size: 400%;
  51. border-radius: 50px;
  52. /* filter实现高斯模糊 */
  53. filter: blur(20px);
  54. z-index: -1;
  55. }
  56. a:hover::before{
  57. animation: sun 8s infinite;
  58. }
  59. /* 鼠标经过产生的效果 */
  60. a:hover{
  61. /* 产生8秒的效果,sun是名称*/
  62. animation: sun 8s infinite;
  63. }
  64. /* 设置流光 */
  65. @keyframes sun{
  66. 100%{
  67. /* 以x轴为基准向左移动4个自身大小 */
  68. background-position: -400% 0;
  69. }
  70. }

发表评论

表情:
评论列表 (有 0 条评论,989人围观)

还没有评论,来说两句吧...

相关阅读

    相关 按钮 html+css

    话不多,先上效果: ![1][] 简介: 用基础css做一个有一点炫酷的流光按钮,不止按钮,只要是盒子就行。 具体步骤: 1.先定义一个盒子当做按钮,如我