{
  "id": "VashonG_mean-mayfly-77",
  "name": "mean-mayfly-77",
  "category": "buttons",
  "author": "VashonG",
  "description": "mean-mayfly-77 组件 (button, ios, uiverse, multicolor, animation, gradient)",
  "tags": [
    "button",
    "ios",
    "uiverse",
    "multicolor",
    "animation",
    "gradient"
  ],
  "original": {
    "html": "<button class=\"uiverse\">\n    <div class=\"wrapper\">\n        <span>UIVERSE</span>\n        <div class=\"circle circle-12\"></div>\n        <div class=\"circle circle-11\"></div>\n        <div class=\"circle circle-10\"></div>\n        <div class=\"circle circle-9\"></div>\n        <div class=\"circle circle-8\"></div>\n        <div class=\"circle circle-7\"></div>\n        <div class=\"circle circle-6\"></div>\n        <div class=\"circle circle-5\"></div>\n        <div class=\"circle circle-4\"></div>\n        <div class=\"circle circle-3\"></div>\n        <div class=\"circle circle-2\"></div>\n        <div class=\"circle circle-1\"></div>\n    </div>\n</button>",
    "css": "/* From Uiverse.io by VashonG - Tags: button, ios, uiverse, multicolor */\n.uiverse {\n  --duration: 7s;\n  --easing: linear;\n  --c-color-1: rgba(255, 163, 26, .7);\n  --c-color-2: #1a23ff;\n  --c-color-3: #e21bda;\n  --c-color-4: rgba(255, 232, 26, .7);\n  --c-shadow: rgba(255, 223, 87, .5);\n  --c-shadow-inset-top: rgba(255, 223, 52, .9);\n  --c-shadow-inset-bottom: rgba(255, 250, 215, .8);\n  --c-radial-inner: #ffd215;\n  --c-radial-outer: #fff172;\n  --c-color: #fff;\n  -webkit-tap-highlight-color: transparent;\n  -webkit-appearance: none;\n  outline: none;\n  position: relative;\n  cursor: pointer;\n  border: none;\n  display: table;\n  border-radius: 24px;\n  padding: 0;\n  margin: 0;\n  text-align: center;\n  font-weight: 600;\n  font-size: 16px;\n  letter-spacing: 0.02em;\n  line-height: 1.5;\n  color: var(--c-color);\n  background: radial-gradient(circle, var(--c-radial-inner), var(--c-radial-outer) 80%);\n  box-shadow: 0 0 14px var(--c-shadow);\n}\n\n.uiverse:before {\n  content: '';\n  pointer-events: none;\n  position: absolute;\n  z-index: 3;\n  left: 0;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  border-radius: 24px;\n  box-shadow: inset 0 3px 12px var(--c-shadow-inset-top), inset 0 -3px 4px var(--c-shadow-inset-bottom);\n}\n\n.uiverse .wrapper {\n  -webkit-mask-image: -webkit-radial-gradient(white, black);\n  overflow: hidden;\n  border-radius: 24px;\n  min-width: 132px;\n  padding: 12px 0;\n}\n\n.uiverse .wrapper span {\n  display: inline-block;\n  position: relative;\n  z-index: 1;\n}\n\n.uiverse .wrapper .circle {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 40px;\n  height: 40px;\n  border-radius: 50%;\n  filter: blur(var(--blur, 8px));\n  background: var(--background, transparent);\n  transform: translate(var(--x, 0), var(--y, 0)) translateZ(0);\n  animation: var(--animation, none) var(--duration) var(--easing) infinite;\n}\n\n.uiverse .wrapper .circle.circle-1, .uiverse .wrapper .circle.circle-9, .uiverse .wrapper .circle.circle-10 {\n  --background: var(--c-color-4);\n}\n\n.uiverse .wrapper .circle.circle-3, .uiverse .wrapper .circle.circle-4 {\n  --background: var(--c-color-2);\n  --blur: 14px;\n}\n\n.uiverse .wrapper .circle.circle-5, .uiverse .wrapper .circle.circle-6 {\n  --background: var(--c-color-3);\n  --blur: 16px;\n}\n\n.uiverse .wrapper .circle.circle-2, .uiverse .wrapper .circle.circle-7, .uiverse .wrapper .circle.circle-8, .uiverse .wrapper .circle.circle-11, .uiverse .wrapper .circle.circle-12 {\n  --background: var(--c-color-1);\n  --blur: 12px;\n}\n\n.uiverse .wrapper .circle.circle-1 {\n  --x: 0;\n  --y: -40px;\n  --animation: circle-1;\n}\n\n.uiverse .wrapper .circle.circle-2 {\n  --x: 92px;\n  --y: 8px;\n  --animation: circle-2;\n}\n\n.uiverse .wrapper .circle.circle-3 {\n  --x: -12px;\n  --y: -12px;\n  --animation: circle-3;\n}\n\n.uiverse .wrapper .circle.circle-4 {\n  --x: 80px;\n  --y: -12px;\n  --animation: circle-4;\n}\n\n.uiverse .wrapper .circle.circle-5 {\n  --x: 12px;\n  --y: -4px;\n  --animation: circle-5;\n}\n\n.uiverse .wrapper .circle.circle-6 {\n  --x: 56px;\n  --y: 16px;\n  --animation: circle-6;\n}\n\n.uiverse .wrapper .circle.circle-7 {\n  --x: 8px;\n  --y: 28px;\n  --animation: circle-7;\n}\n\n.uiverse .wrapper .circle.circle-8 {\n  --x: 28px;\n  --y: -4px;\n  --animation: circle-8;\n}\n\n.uiverse .wrapper .circle.circle-9 {\n  --x: 20px;\n  --y: -12px;\n  --animation: circle-9;\n}\n\n.uiverse .wrapper .circle.circle-10 {\n  --x: 64px;\n  --y: 16px;\n  --animation: circle-10;\n}\n\n.uiverse .wrapper .circle.circle-11 {\n  --x: 4px;\n  --y: 4px;\n  --animation: circle-11;\n}\n\n.uiverse .wrapper .circle.circle-12 {\n  --blur: 14px;\n  --x: 52px;\n  --y: 4px;\n  --animation: circle-12;\n}\n\n@keyframes circle-1 {\n  33% {\n    transform: translate(0px, 16px) translateZ(0);\n  }\n\n  66% {\n    transform: translate(12px, 64px) translateZ(0);\n  }\n}\n\n@keyframes circle-2 {\n  33% {\n    transform: translate(80px, -10px) translateZ(0);\n  }\n\n  66% {\n    transform: translate(72px, -48px) translateZ(0);\n  }\n}\n\n@keyframes circle-3 {\n  33% {\n    transform: translate(20px, 12px) translateZ(0);\n  }\n\n  66% {\n    transform: translate(12px, 4px) translateZ(0);\n  }\n}\n\n@keyframes circle-4 {\n  33% {\n    transform: translate(76px, -12px) translateZ(0);\n  }\n\n  66% {\n    transform: translate(112px, -8px) translateZ(0);\n  }\n}\n\n@keyframes circle-5 {\n  33% {\n    transform: translate(84px, 28px) translateZ(0);\n  }\n\n  66% {\n    transform: translate(40px, -32px) translateZ(0);\n  }\n}\n\n@keyframes circle-6 {\n  33% {\n    transform: translate(28px, -16px) translateZ(0);\n  }\n\n  66% {\n    transform: translate(76px, -56px) translateZ(0);\n  }\n}\n\n@keyframes circle-7 {\n  33% {\n    transform: translate(8px, 28px) translateZ(0);\n  }\n\n  66% {\n    transform: translate(20px, -60px) translateZ(0);\n  }\n}\n\n@keyframes circle-8 {\n  33% {\n    transform: translate(32px, -4px) translateZ(0);\n  }\n\n  66% {\n    transform: translate(56px, -20px) translateZ(0);\n  }\n}\n\n@keyframes circle-9 {\n  33% {\n    transform: translate(20px, -12px) translateZ(0);\n  }\n\n  66% {\n    transform: translate(80px, -8px) translateZ(0);\n  }\n}\n\n@keyframes circle-10 {\n  33% {\n    transform: translate(68px, 20px) translateZ(0);\n  }\n\n  66% {\n    transform: translate(100px, 28px) translateZ(0);\n  }\n}\n\n@keyframes circle-11 {\n  33% {\n    transform: translate(4px, 4px) translateZ(0);\n  }\n\n  66% {\n    transform: translate(68px, 20px) translateZ(0);\n  }\n}\n\n@keyframes circle-12 {\n  33% {\n    transform: translate(56px, 0px) translateZ(0);\n  }\n\n  66% {\n    transform: translate(60px, -32px) translateZ(0);\n  }\n}",
    "file_path": "/mnt/persist/workspace/Buttons/VashonG_mean-mayfly-77.html"
  },
  "uniapp": {
    "template": "<button class=\"uiverse\"></button>\n    <view class=\"wrapper\"></view>\n        <text>UIVERSE</text>\n        <view class=\"circle circle-12\"></view>\n        <view class=\"circle circle-11\"></view>\n        <view class=\"circle circle-10\"></view>\n        <view class=\"circle circle-9\"></view>\n        <view class=\"circle circle-8\"></view>\n        <view class=\"circle circle-7\"></view>\n        <view class=\"circle circle-6\"></view>\n        <view class=\"circle circle-5\"></view>\n        <view class=\"circle circle-4\"></view>\n        <view class=\"circle circle-3\"></view>\n        <view class=\"circle circle-2\"></view>\n        <view class=\"circle circle-1\"></view>\n    </div>\n</button>",
    "script": "export default {\n  name: 'GalaxyMeanMayfly77',\n  props: {\n    // 根据组件类型动态生成props\n  },\n  data() {\n    return {\n      // 组件状态\n    };\n  },\n  methods: {\n    // 组件方法\n  }\n}",
    "style": "\n/* From Uiverse.io by VashonG - Tags: button, ios, uiverse, multicolor */\n.uiverse {\n  --duration: 7s;\n  --easing: linear;\n  --c-color-1: rgba(255, 163, 26, .7);\n  --c-color-2: #1a23ff;\n  --c-color-3: #e21bda;\n  --c-color-4: rgba(255, 232, 26, .7);\n  --c-shadow: rgba(255, 223, 87, .5);\n  --c-shadow-inset-top: rgba(255, 223, 52, .9);\n  --c-shadow-inset-bottom: rgba(255, 250, 215, .8);\n  --c-radial-inner: #ffd215;\n  --c-radial-outer: #fff172;\n  --c-color: #fff;\n  -webkit-tap-highlight-color: transparent;\n  -webkit-appearance: none;\n  outline: none;\n  position: relative;\n  /* #ifdef H5 */\n  cursor: pointer;\n  /* #endif */\n  border: none;\n  display: table;\n  border-radius: 48rpx;\n  padding: 0;\n  margin: 0;\n  text-align: center;\n  font-weight: 600;\n  font-size: 32rpx;\n  letter-spacing: 0.02em;\n  line-height: 1.5;\n  color: var(--c-color);\n  background: radial-gradient(circle, var(--c-radial-inner), var(--c-radial-outer) 80%);\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: 0 0 28rpx var(--c-shadow);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n}\n\n.uiverse:before {\n  content: '';\n  pointer-events: none;\n  position: absolute;\n  z-index: 3;\n  left: 0;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  border-radius: 48rpx;\n  /* #ifdef H5 */\n  /* #ifdef H5 */\n  box-shadow: inset 0 6rpx 24rpx var(--c-shadow-inset-top), inset 0 -6rpx 8rpx var(--c-shadow-inset-bottom);\n  /* #endif */\n  /* #ifdef MP */\n  border: 1rpx solid rgba(0,0,0,0.1);\n  /* #endif */\n  /* #endif */\n}\n\n.uiverse .wrapper {\n  -webkit-mask-image: -webkit-radial-gradient(white, black);\n  overflow: hidden;\n  border-radius: 48rpx;\n  min-width: 264rpx;\n  padding: 24rpx 0;\n}\n\n.uiverse .wrapper span {\n  display: inline-block;\n  position: relative;\n  z-index: 1;\n}\n\n.uiverse .wrapper .circle {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 80rpx;\n  height: 80rpx;\n  border-radius: 50%;\n  \n  background: var(--background, transparent);\n  transform: translate(var(--x, 0), var(--y, 0)) translateZ(0);\n  animation: var(--animation, none) var(--duration) var(--easing) infinite;\n}\n\n.uiverse .wrapper .circle.circle-1, .uiverse .wrapper .circle.circle-9, .uiverse .wrapper .circle.circle-10 {\n  --background: var(--c-color-4);\n}\n\n.uiverse .wrapper .circle.circle-3, .uiverse .wrapper .circle.circle-4 {\n  --background: var(--c-color-2);\n  --blur: 28rpx;\n}\n\n.uiverse .wrapper .circle.circle-5, .uiverse .wrapper .circle.circle-6 {\n  --background: var(--c-color-3);\n  --blur: 32rpx;\n}\n\n.uiverse .wrapper .circle.circle-2, .uiverse .wrapper .circle.circle-7, .uiverse .wrapper .circle.circle-8, .uiverse .wrapper .circle.circle-11, .uiverse .wrapper .circle.circle-12 {\n  --background: var(--c-color-1);\n  --blur: 24rpx;\n}\n\n.uiverse .wrapper .circle.circle-1 {\n  --x: 0;\n  --y: -80rpx;\n  --animation: circle-1;\n}\n\n.uiverse .wrapper .circle.circle-2 {\n  --x: 184rpx;\n  --y: 16rpx;\n  --animation: circle-2;\n}\n\n.uiverse .wrapper .circle.circle-3 {\n  --x: -24rpx;\n  --y: -24rpx;\n  --animation: circle-3;\n}\n\n.uiverse .wrapper .circle.circle-4 {\n  --x: 160rpx;\n  --y: -24rpx;\n  --animation: circle-4;\n}\n\n.uiverse .wrapper .circle.circle-5 {\n  --x: 24rpx;\n  --y: -8rpx;\n  --animation: circle-5;\n}\n\n.uiverse .wrapper .circle.circle-6 {\n  --x: 112rpx;\n  --y: 32rpx;\n  --animation: circle-6;\n}\n\n.uiverse .wrapper .circle.circle-7 {\n  --x: 16rpx;\n  --y: 56rpx;\n  --animation: circle-7;\n}\n\n.uiverse .wrapper .circle.circle-8 {\n  --x: 56rpx;\n  --y: -8rpx;\n  --animation: circle-8;\n}\n\n.uiverse .wrapper .circle.circle-9 {\n  --x: 40rpx;\n  --y: -24rpx;\n  --animation: circle-9;\n}\n\n.uiverse .wrapper .circle.circle-10 {\n  --x: 128rpx;\n  --y: 32rpx;\n  --animation: circle-10;\n}\n\n.uiverse .wrapper .circle.circle-11 {\n  --x: 8rpx;\n  --y: 8rpx;\n  --animation: circle-11;\n}\n\n.uiverse .wrapper .circle.circle-12 {\n  --blur: 28rpx;\n  --x: 104rpx;\n  --y: 8rpx;\n  --animation: circle-12;\n}\n\n@keyframes circle-1 {\n  33% {\n    transform: translate(0rpx, 32rpx) translateZ(0);\n  }\n\n  66% {\n    transform: translate(24rpx, 128rpx) translateZ(0);\n  }\n}\n\n@keyframes circle-2 {\n  33% {\n    transform: translate(160rpx, -20rpx) translateZ(0);\n  }\n\n  66% {\n    transform: translate(144rpx, -96rpx) translateZ(0);\n  }\n}\n\n@keyframes circle-3 {\n  33% {\n    transform: translate(40rpx, 24rpx) translateZ(0);\n  }\n\n  66% {\n    transform: translate(24rpx, 8rpx) translateZ(0);\n  }\n}\n\n@keyframes circle-4 {\n  33% {\n    transform: translate(152rpx, -24rpx) translateZ(0);\n  }\n\n  66% {\n    transform: translate(224rpx, -16rpx) translateZ(0);\n  }\n}\n\n@keyframes circle-5 {\n  33% {\n    transform: translate(168rpx, 56rpx) translateZ(0);\n  }\n\n  66% {\n    transform: translate(80rpx, -64rpx) translateZ(0);\n  }\n}\n\n@keyframes circle-6 {\n  33% {\n    transform: translate(56rpx, -32rpx) translateZ(0);\n  }\n\n  66% {\n    transform: translate(152rpx, -112rpx) translateZ(0);\n  }\n}\n\n@keyframes circle-7 {\n  33% {\n    transform: translate(16rpx, 56rpx) translateZ(0);\n  }\n\n  66% {\n    transform: translate(40rpx, -120rpx) translateZ(0);\n  }\n}\n\n@keyframes circle-8 {\n  33% {\n    transform: translate(64rpx, -8rpx) translateZ(0);\n  }\n\n  66% {\n    transform: translate(112rpx, -40rpx) translateZ(0);\n  }\n}\n\n@keyframes circle-9 {\n  33% {\n    transform: translate(40rpx, -24rpx) translateZ(0);\n  }\n\n  66% {\n    transform: translate(160rpx, -16rpx) translateZ(0);\n  }\n}\n\n@keyframes circle-10 {\n  33% {\n    transform: translate(136rpx, 40rpx) translateZ(0);\n  }\n\n  66% {\n    transform: translate(200rpx, 56rpx) translateZ(0);\n  }\n}\n\n@keyframes circle-11 {\n  33% {\n    transform: translate(8rpx, 8rpx) translateZ(0);\n  }\n\n  66% {\n    transform: translate(136rpx, 40rpx) translateZ(0);\n  }\n}\n\n@keyframes circle-12 {\n  33% {\n    transform: translate(112rpx, 0rpx) translateZ(0);\n  }\n\n  66% {\n    transform: translate(120rpx, -64rpx) translateZ(0);\n  }\n}\n\n",
    "component_name": "GalaxyMeanMayfly77"
  },
  "platforms": {
    "h5": true,
    "mp-weixin": true,
    "mp-alipay": true,
    "mp-baidu": true,
    "mp-toutiao": true,
    "app-plus": true
  },
  "props": [
    {
      "name": "disabled",
      "type": "Boolean",
      "default": false,
      "required": false,
      "description": "是否禁用"
    },
    {
      "name": "text",
      "type": "String",
      "default": "按钮",
      "required": false,
      "description": "按钮文字"
    },
    {
      "name": "type",
      "type": "String",
      "default": "primary",
      "required": false,
      "description": "按钮类型"
    }
  ],
  "events": [
    {
      "name": "click",
      "description": "点击事件",
      "parameters": [
        "event"
      ]
    }
  ],
  "slots": [
    {
      "name": "",
      "description": "",
      "props": []
    }
  ],
  "compatibility": {
    "h5": {
      "supported": true,
      "issues": [],
      "alternatives": []
    },
    "mp-weixin": {
      "supported": true,
      "issues": [
        "不支持 box-shadow 属性",
        "不支持 filter 属性",
        "不支持 mask 属性",
        "不支持 cursor 属性"
      ],
      "alternatives": []
    },
    "mp-alipay": {
      "supported": true,
      "issues": [
        "不支持 box-shadow 属性",
        "不支持 filter 属性",
        "不支持 mask 属性",
        "不支持 cursor 属性"
      ],
      "alternatives": []
    },
    "app-plus": {
      "supported": true,
      "issues": [],
      "alternatives": []
    }
  },
  "performance": {
    "complexity": "high",
    "bundle_size": 6053,
    "render_cost": "high",
    "memory_usage": "high"
  },
  "dependencies": [],
  "examples": [
    {
      "title": "",
      "description": "",
      "code": ""
    }
  ],
  "created_at": "2025-07-31T07:55:35.095Z",
  "updated_at": "2025-07-31T07:55:35.095Z"
}