anthropic/claude-opus-4.7
该模型能力由 OfoxAI 站点接入
查看原始输出
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Glowing Ripple Button</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
height: 100%;
width: 100%;
overflow: hidden;
background: radial-gradient(circle at center, #1a1a2e 0%, #0a0a14 100%);
font-family: 'Segoe UI', system-ui, sans-serif;
}
body {
display: flex;
align-items: center;
justify-content: center;
}
.ripple-btn {
position: relative;
padding: 18px 46px;
font-size: 18px;
font-weight: 600;
letter-spacing: 1.5px;
color: #fff;
background: linear-gradient(135deg, #ff3cac, #784ba0, #2b86c5);
border: none;
border-radius: 50px;
cursor: pointer;
outline: none;
text-transform: uppercase;
box-shadow:
0 0 20px rgba(255, 60, 172, 0.4),
0 0 40px rgba(120, 75, 160, 0.3),
inset 0 0 10px rgba(255, 255, 255, 0.1);
transition: transform 0.15s ease, box-shadow 0.3s ease;
}
.ripple-btn:hover {
transform: scale(1.05);
box-shadow:
0 0 30px rgba(255, 60, 172, 0.6),
0 0 60px rgba(120, 75, 160, 0.5),
inset 0 0 15px rgba(255, 255, 255, 0.2);
}
.ripple-btn:active {
transform: scale(0.97);
}
.particle {
position: fixed;
pointer-events: none;
width: 10px;
height: 10px;
border-radius: 50%;
background: #fff;
box-shadow: 0 0 10px 2px currentColor;
will-change: transform, opacity;
animation: particle-fly 700ms ease-out forwards;
}
@keyframes particle-fly {
0% {
opacity: 1;
transform: translate(-50%, -50%) translate(0, 0) scale(1);
}
100% {
opacity: 0;
transform: translate(-50%, -50%) translate(var(--dx), var(--dy)) scale(0.3);
}
}
</style>
</head>
<body>
<button class="ripple-btn" id="rippleBtn">Click Me</button>
<script>
const btn = document.getElementById('rippleBtn');
const colors = ['#ff3cac', '#ffd166', '#06d6a0', '#2b86c5', '#f72585', '#7209b7', '#fff'];
btn.addEventListener('click', (e) => {
const rect = btn.getBoundingClientRect();
const cx = rect.left + rect.width / 2;
const cy = rect.top + rect.height / 2;
const count = 18;
for (let i = 0; i < count; i++) {
const p = document.createElement('div');
p.className = 'particle';
const angle = (Math.PI * 2 * i) / count + Math.random() * 0.4;
const distance = 80 + Math.random() * 80;
const dx = Math.cos(angle) * distance;
const dy = Math.sin(angle) * distance;
2026-05-23 16:41:31 · 8474 ms · 总耗时 8s · 输入 228 / 输出 1,199 / 总计 1,427 tokens