svg鹦鹉骑自行车动画代码
代码语言:html
所属分类:其他
代码由qwen-4 ai生成,可能有错误,仅供参考:点击查看提示词
代码描述:svg鹦鹉骑自行车动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>鹈鹕骑行 · PELICAN RIDER</title>
<style>
:root{
--accent:#178f8a; --accent-2:#e8a13c;
--bg-0:#f4ead6; --bg-1:#e9dcc2;
--surface:#fdf8ee; --surface-2:#fffdf6; --line:#e3d5b8; --line-soft:#eee0c4;
--text:#2c3a55; --muted:#7c8299;
--success:#22b57b; --warning:#e8a13c; --danger:#e05252; --info:#3f8fe0; --fun:#c65cc6;
--track:#eadfc6;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
font-family:"Trebuchet MS",Verdana,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
color:var(--text); overflow:hidden;
background:
radial-gradient(1100px 700px at 10% -12%, rgba(23,143,138,.16), transparent 60%),
radial-gradient(900px 620px at 108% 14%, rgba(232,161,60,.18), transparent 55%),
radial-gradient(1200px 900px at 50% 122%, rgba(63,143,224,.13), transparent 60%),
linear-gradient(158deg, var(--bg-0) 0%, #f0e4cc 46%, var(--bg-1) 100%);
}
body::before{
content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
background-image:
radial-gradient(rgba(60,80,110,.055) .6px, transparent .7px),
repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 2px, transparent 2px 5px);
background-size:3px 3px, 7px 7px;
}
.app{position:relative;z-index:1;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr)}
/* ---------- header ---------- */
header{
display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
padding:12px 18px;border-bottom:1px solid var(--line);
background:rgba(253,248,238,.82);backdrop-filter:blur(8px);
}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.logo{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
background:linear-gradient(140deg,var(--accent),var(--accent-2));
box-shadow:0 6px 16px rgba(44,58,85,.22)}
h1{font-size:clamp(16px,2.3vw,24px);letter-spacing:1px;line-height:1.15;white-space:nowrap}
h1 .en{background:linear-gradient(90deg,var(--accent),var(--accent-2));
-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
.sub{font-size:12px;color:var(--muted);letter-spacing:1.5px;margin-top:2px}
.top-actions{display:flex;gap:8px;flex-wrap:wrap}
/* ---------- buttons ---------- */
.btn{
appearance:none;border:1px solid transparent;border-radius:10px;cursor:pointer;
padding:9px 14px;font-size:13px;font-weight:700;letter-spacing:.5px;color:#fff;
font-family:inherit;display:inline-flex;align-items:center;gap:6px;justify-content:center;
transition:transform .12s ease, filter .15s ease, box-shadow .15s ease;
box-shadow:0 3px 10px rgba(44,58,85,.16);
}
.btn:hover{transform:translateY(-1px);filter:brightness(1.07)}
.btn:active{transform:scale(.95)}
.btn:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%, transparent);outline-offset:2px}
.btn.success{background:linear-gradient(160deg,#26c286,#17925f)}
.btn.info{background:linear-gradient(160deg,#4a99e8,#2b6fc0)}
.btn.warning{background:linear-gradient(160deg,#f0b054,#d18a1f);color:#3a2a08}
.btn.fun{background:linear-gradient(160deg,#cf6ccd,#9e3f9e)}
.btn.ghost-success{background:var(--surface-2);color:#14875a;border-color:#9fd9bf}
.btn.ghost-success:hover{background:#eefaf3}
/* ---------- layout ---------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 332px;gap:14px;padding:14px;min-height:0}
/* ---------- stage ---------- */
.stage{
position:relative;min-height:0;display:flex;overflow:auto;border-radius:20px;
border:1px solid var(--line);
background:
radial-gradient(900px 500px at 50% 0%, rgba(255,255,255,.55), transparent 65%),
linear-gradient(180deg, #f7efdd, #ecdfc4);
box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 10px 30px rgba(44,58,85,.10);
}
.canvas-wrap{
margin:auto;flex:none;width:100%;height:100%;border-radius:16px;overflow:hidden;position:relative;
}
.canvas-wrap.pulse{animation:pulse .5s ease-out}
@keyframes pulse{
0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 50%, transparent)}
100%{box-shadow:0 0 0 20px transparent}
}
.canvas-wrap svg{display:block;width:100%;height:100%}
.hud{
position:absolute;left:12px;bottom:12px;pointer-events:none;z-index:3;
font-size:12px;letter-spacing:.5px;color:var(--text);
background:rgba(253,248,238,.85);backdrop-filter:blur(6px);
border:1px solid var(--line);border-radius:999px;padding:6px 12px;
display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(44,58,85,.12);
}
.hud .dot{width:8px;height:8px;border-radius:50%;background:var(--success);flex:none}
/* ---------- panel ---------- */
.panel{
min-height:0;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;
border:1px solid var(--line);background:var(--surface);
box-shadow:0 10px 30px rgba(44,58,85,.10);
}
.panel-head{
display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);
background:linear-gradient(120deg, color-mix(in srgb,var(--accent) 10%, var(--surface)), var(--surface));
}
.panel-title{font-size:13px;font-weight:800;letter-spacing:2px}
.panel-head .spacer{flex:1}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 22%, transparent)}
#liveText{font-size:12px;color:var(--muted)}
.panel-scroll{overflow:auto;padding:12px;display:grid;gap:10px;grid-template-columns:1fr;align-content:start;flex:1;min-height:0}
.group{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:14px;padding:12px}
.group h3{font-size:11px;letter-spacing:2.5px;color:var(--accent);margin-bottom:10px;display:flex;align-items:center;gap:7px;font-weight:800}
.group h3::before{content:"";width:7px;height:7px;border-radius:2px;background:linear-gradient(140deg,var(--accent),var(--accent-2));flex:none}
.ctrl{margin-bottom:12px}
.ctrl:last-child{margin-bottom:2px}
.lr{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:8px}
label{font-size:13px;font-weight:600}
output{
font-size:11px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%, #fff);
border:1px solid color-mix(in srgb,var(--accent) 25%, #fff);border-radius:999px;padding:2px 9px;min-width:52px;text-align:center;
}
output.bump{animation:bump .35s ease}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.14)}100%{transform:scale(1)}}
.color-ctrl{display:flex;align-items:center;justify-content:space-between;gap:8px}
.color-wrap{display:flex;align-items:center;gap:8px}
.hex{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.5px}
input[type=color]{
inline-size:52px;block-size:32px;border:2px solid var(--line);border-radius:9px;padding:2px;
background:#fff;cursor:pointer;transition:border-color .15s, transform .12s;
}
input[type=color]:hover{border-color:var(--accent);transform:scale(1.05)}
input[type=color]::-webkit-color-swatch-wrapper{padding:0}
input[type=color]::-webkit-color-swatch{border:none;border-radius:6px}
input[type=color]::-moz-color-swatch{border:none;border-radius:6px}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:24px;background:transparent;cursor:pointer;--range-bg:var(--track)}
input[type=range]::-webkit-slider-runnable-track{height:7px;border-radius:5px;background:var(--range-bg)}
input[type=range]::-webkit-slider-thumb{
-webkit-appearance:none;width:19px;height:19px;border-radius:50%;margin-top:-6px;
background:#fff;border:3.5px solid var(--accent);box-shadow:0 2px 6px rgba(44,58,85,.25);
transition:transform .15s;
}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.18)}
input[type=range]::-moz-range-track{height:7px;border-radius:5px;background:var(--range-bg)}
input[type=range]::-moz-range-thumb{width:13px;height:13px;bo.........完整代码请登录后点击上方下载按钮下载查看















网友评论0