8pt

Typing Search Marquee

打字搜索界面长廊•动效
介绍

左对齐的问题式标题与灰色长段落,下方搜索词逐字打出又删除、轮换展示,底部是一条缓慢横向滚动的界面长廊,手机与网页截图卡片交替,悬停暂停。

拆自整页模板 版拾 设计参考库官网,可以单独使用,也能和同一模板拆出的其他组件拼回整页。

纯 HTML、CSS 与少量原生 JS,没有框架依赖。复制提示词交给 Claude Code、Cursor、Trae 或 Codex,模型会把 Typing Search Marquee 加进你的项目并换成你的配色。

适用场景

滚动、悬停与入场动效,给页面增加节奏感;动效只用 transform 和 opacity。

安装

订阅 Builder 后,用 8pt CLI 装进项目,或在已接入 8pt MCP 的编辑器里直接调用。

$ npm i -g @8pt-dev/cli && 8pt add typing-search-marquee
mcp › 使用 8pt MCP 调用 get_component("typing-search-marquee")

代码

Typing Search Marquee 的源码,动效只用 transform 与 opacity,并尊重减少动态效果设置。

<div class="x-bts"><section class="bs-sm"><div class="bs-wrap">
<h2 class="bs-sm__h">设计调研,曾经要花半天。<br>现在,搜一下就够了。</h2>
<p class="bs-sm__p">每位设计师都有那样一个文件夹:<br>存了几百张截图,<br>需要时偏偏找不到那一张。</p>
<div class="bs-sm__q"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="10.5" cy="11.5" r="6"/><path d="m20 21-5.2-5.2M18 2.5v4M16 4.5h4"/></svg><span class="bs-sm__typed" data-q='顺手的新手引导|让人想升级的付费页|清爽的空状态|一眼看懂的数据看板'>顺手的新手引导</span><i class="bs-sm__caret"></i></div>
</div>
<div class="bs-sm__view"><div class="bs-sm__track"><div class="bs-sm__c bs-sm__c--ph"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:#ffffff"><svg viewBox="0 0 24 24" fill="none" stroke="#111" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="7" fill="#f97316" stroke="none"/><path d="M9 11c1 1 2 1 3 0M13 11c1 1 2 1 3 0" stroke="#7c2d12"/></svg></span><div class="bs-sm__in"><div class="bs-ph" aria-hidden="true"><div class="bs-ph__sb"><span>9:41</span><span><i></i></span></div><div class="bs-ph__bar s"></div><div class="bs-ph__hero" style="background:#f9731622"><span style="width:58%;aspect-ratio:1;border-radius:50%;background:#f97316;display:block"></span></div><div class="bs-ph__bar d m"></div><div class="bs-ph__bar"></div><div class="bs-ph__bar s"></div><div class="bs-ph__btn"></div></div></div></div><div class="bs-sm__c bs-sm__c--site"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#18181b,#e11d48)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v18M3 12h18M6 6l12 12M18 6 6 18"/></svg></span><div class="bs-sm__in"><div class="bs-site bs-site--float" aria-hidden="true"><div class="bs-site__nav"><i></i><i style="width:30%"></i><i></i></div><b style="left:8%;top:20%;background:#fbbf24;transform:rotate(-8deg)"></b><b style="left:80%;top:14%;background:#60a5fa;transform:rotate(6deg)"></b><b style="left:16%;top:66%;background:#f472b6;transform:rotate(5deg)"></b><b style="left:74%;top:62%;background:#34d399;transform:rotate(-6deg)"></b><b style="left:44%;top:12%;background:#a78bfa;transform:rotate(3deg)"></b><b style="left:88%;top:40%;background:#fb923c;transform:rotate(-4deg)"></b><b style="left:4%;top:44%;background:#22d3ee;transform:rotate(8deg)"></b><b style="left:56%;top:74%;background:#f87171;transform:rotate(-3deg)"></b><div class="bs-site__t">每场好活动<br><em>从这里开场</em></div></div></div></div><div class="bs-sm__c bs-sm__c--ph"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#c084fc,#7c3aed)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="7"/><circle cx="12" cy="12" r="2.5"/></svg></span><div class="bs-sm__in"><div class="bs-ph" aria-hidden="true"><div class="bs-ph__sb"><span>9:41</span><span><i></i></span></div><div class="bs-ph__hero" style="flex:0 0 32%;background:linear-gradient(160deg,#7c3aed,#111)"></div><div class="bs-ph__bar d m"></div><div class="bs-ph__plan on"><div class="bs-ph__bar d s"></div><div class="bs-ph__bar m"></div></div><div class="bs-ph__plan"><div class="bs-ph__bar d s"></div><div class="bs-ph__bar m"></div></div><div class="bs-ph__btn" style="background:#7c3aed"></div></div></div></div><div class="bs-sm__c bs-sm__c--ph"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#27272a,#09090b)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5h16v11H9l-5 4z"/></svg></span><div class="bs-sm__in"><div class="bs-ph" aria-hidden="true"><div class="bs-ph__sb"><span>9:41</span><span><i></i></span></div><div class="bs-ph__bar d s"></div><div class="bs-ph__bub">你好,想从哪里开始?</div><div class="bs-ph__bub me">先看看新手引导</div><div class="bs-ph__bub">好的,帮你挑了几种做法</div><div class="bs-ph__bub me">第二种不错</div><div class="bs-ph__bar" style="height:20px;border-radius:999px;margin-top:auto"></div></div></div></div><div class="bs-sm__c bs-sm__c--site"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#3b82f6,#1d4ed8)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l8 4.5v9L12 21l-8-4.5v-9z M4 7.5l8 4.5 8-4.5 M12 12v9"/></svg></span><div class="bs-sm__in"><div class="bs-site bs-site--wave" aria-hidden="true"><div class="bs-site__nav"><i></i><i style="width:30%"></i><i></i></div><svg viewBox="0 0 160 100" preserveAspectRatio="none"><path d="M10 80C40 20 70 90 100 30S150 10 160 40" fill="none" stroke="#8b5cf6" stroke-width="6" opacity=".7"/><path d="M0 60C30 40 60 100 95 50S140 20 160 70" fill="none" stroke="#c4b5fd" stroke-width="2" opacity=".6"/></svg><div class="bs-site__t">我们只做界面</div></div></div></div><div class="bs-sm__c bs-sm__c--ph"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#4ade80,#16a34a)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M5 19C5 10 11 5 19 5c0 8-5 14-14 14z M5 19l8-8"/></svg></span><div class="bs-sm__in"><div class="bs-ph" aria-hidden="true"><div class="bs-ph__sb"><span>9:41</span><span><i></i></span></div><div class="bs-ph__bar d s"></div><div class="bs-ph__bar m" style="height:14px;background:#111"></div><div class="bs-ph__bars"><i style="height:40%;background:#111"></i><i style="height:65%;background:#111"></i><i style="height:50%;background:#111"></i><i style="height:85%;background:#111"></i><i style="height:60%;background:#111"></i><i style="height:95%;background:#16a34a"></i><i style="height:70%;background:#111"></i></div><div class="bs-ph__row"><b style="background:#e0e7ff"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i></span></div><div class="bs-ph__row"><b style="background:#fee2e2"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i></span></div></div></div></div><div class="bs-sm__c bs-sm__c--ph"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#38bdf8,#0284c7)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M3 14c3-4 6-4 9 0s6 4 9 0M3 9c3-4 6-4 9 0s6 4 9 0"/></svg></span><div class="bs-sm__in"><div class="bs-ph" aria-hidden="true"><div class="bs-ph__sb"><span>9:41</span><span><i></i></span></div><div class="bs-ph__bar d s"></div><div class="bs-ph__bar" style="height:20px;border-radius:8px"></div><div class="bs-ph__row"><b style="background:#fde68a"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i><i class="bs-ph__bar s" style="display:block;height:5px"></i></span></div><div class="bs-ph__row"><b style="background:#bfdbfe"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i><i class="bs-ph__bar s" style="display:block;height:5px"></i></span></div><div class="bs-ph__row"><b style="background:#fecdd3"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i><i class="bs-ph__bar s" style="display:block;height:5px"></i></span></div><div class="bs-ph__row"><b style="background:#bbf7d0"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i><i class="bs-ph__bar s" style="display:block;height:5px"></i></span></div><div class="bs-ph__row"><b style="background:#e9d5ff"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i><i class="bs-ph__bar s" style="display:block;height:5px"></i></span></div></div></div></div><div class="bs-sm__c bs-sm__c--site"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#2dd4bf,#0f766e)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="7" height="7" rx="1.5"/><rect x="13" y="4" width="7" height="7" rx="1.5"/><rect x="4" y="13" width="7" height="7" rx="1.5"/><rect x="13" y="13" width="7" height="7" rx="3.5"/></svg></span><div class="bs-sm__in"><div class="bs-site bs-site--gal" aria-hidden="true"><div class="bs-site__nav"><i></i><i style="width:30%"></i><i></i></div><b style="left:6%;top:16%;background:#d6d3d1"></b><b style="left:20%;top:58%;background:#78716c"></b><b style="left:30%;top:12%;background:#a8a29e"></b><b style="left:68%;top:18%;background:#e7e5e4"></b><b style="left:82%;top:54%;background:#57534e"></b><b style="left:12%;top:74%;background:#c2410c"></b><b style="left:74%;top:76%;background:#1d4ed8"></b><b style="left:88%;top:22%;background:#b91c1c"></b><b style="left:40%;top:70%;background:#e5e5e5"></b><b style="left:56%;top:8%;background:#44403c"></b><div class="bs-site__t">灵感的落脚处</div><span class="bs-site__pill"></span></div></div></div><div class="bs-sm__c bs-sm__c--ph"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:#ffffff"><svg viewBox="0 0 24 24" fill="none" stroke="#111" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="7" fill="#f97316" stroke="none"/><path d="M9 11c1 1 2 1 3 0M13 11c1 1 2 1 3 0" stroke="#7c2d12"/></svg></span><div class="bs-sm__in"><div class="bs-ph" aria-hidden="true"><div class="bs-ph__sb"><span>9:41</span><span><i></i></span></div><div class="bs-ph__bar s"></div><div class="bs-ph__hero" style="background:#f9731622"><span style="width:58%;aspect-ratio:1;border-radius:50%;background:#f97316;display:block"></span></div><div class="bs-ph__bar d m"></div><div class="bs-ph__bar"></div><div class="bs-ph__bar s"></div><div class="bs-ph__btn"></div></div></div></div><div class="bs-sm__c bs-sm__c--site"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#18181b,#e11d48)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v18M3 12h18M6 6l12 12M18 6 6 18"/></svg></span><div class="bs-sm__in"><div class="bs-site bs-site--float" aria-hidden="true"><div class="bs-site__nav"><i></i><i style="width:30%"></i><i></i></div><b style="left:8%;top:20%;background:#fbbf24;transform:rotate(-8deg)"></b><b style="left:80%;top:14%;background:#60a5fa;transform:rotate(6deg)"></b><b style="left:16%;top:66%;background:#f472b6;transform:rotate(5deg)"></b><b style="left:74%;top:62%;background:#34d399;transform:rotate(-6deg)"></b><b style="left:44%;top:12%;background:#a78bfa;transform:rotate(3deg)"></b><b style="left:88%;top:40%;background:#fb923c;transform:rotate(-4deg)"></b><b style="left:4%;top:44%;background:#22d3ee;transform:rotate(8deg)"></b><b style="left:56%;top:74%;background:#f87171;transform:rotate(-3deg)"></b><div class="bs-site__t">每场好活动<br><em>从这里开场</em></div></div></div></div><div class="bs-sm__c bs-sm__c--ph"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#c084fc,#7c3aed)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="7"/><circle cx="12" cy="12" r="2.5"/></svg></span><div class="bs-sm__in"><div class="bs-ph" aria-hidden="true"><div class="bs-ph__sb"><span>9:41</span><span><i></i></span></div><div class="bs-ph__hero" style="flex:0 0 32%;background:linear-gradient(160deg,#7c3aed,#111)"></div><div class="bs-ph__bar d m"></div><div class="bs-ph__plan on"><div class="bs-ph__bar d s"></div><div class="bs-ph__bar m"></div></div><div class="bs-ph__plan"><div class="bs-ph__bar d s"></div><div class="bs-ph__bar m"></div></div><div class="bs-ph__btn" style="background:#7c3aed"></div></div></div></div><div class="bs-sm__c bs-sm__c--ph"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#27272a,#09090b)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5h16v11H9l-5 4z"/></svg></span><div class="bs-sm__in"><div class="bs-ph" aria-hidden="true"><div class="bs-ph__sb"><span>9:41</span><span><i></i></span></div><div class="bs-ph__bar d s"></div><div class="bs-ph__bub">你好,想从哪里开始?</div><div class="bs-ph__bub me">先看看新手引导</div><div class="bs-ph__bub">好的,帮你挑了几种做法</div><div class="bs-ph__bub me">第二种不错</div><div class="bs-ph__bar" style="height:20px;border-radius:999px;margin-top:auto"></div></div></div></div><div class="bs-sm__c bs-sm__c--site"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#3b82f6,#1d4ed8)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l8 4.5v9L12 21l-8-4.5v-9z M4 7.5l8 4.5 8-4.5 M12 12v9"/></svg></span><div class="bs-sm__in"><div class="bs-site bs-site--wave" aria-hidden="true"><div class="bs-site__nav"><i></i><i style="width:30%"></i><i></i></div><svg viewBox="0 0 160 100" preserveAspectRatio="none"><path d="M10 80C40 20 70 90 100 30S150 10 160 40" fill="none" stroke="#8b5cf6" stroke-width="6" opacity=".7"/><path d="M0 60C30 40 60 100 95 50S140 20 160 70" fill="none" stroke="#c4b5fd" stroke-width="2" opacity=".6"/></svg><div class="bs-site__t">我们只做界面</div></div></div></div><div class="bs-sm__c bs-sm__c--ph"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#4ade80,#16a34a)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M5 19C5 10 11 5 19 5c0 8-5 14-14 14z M5 19l8-8"/></svg></span><div class="bs-sm__in"><div class="bs-ph" aria-hidden="true"><div class="bs-ph__sb"><span>9:41</span><span><i></i></span></div><div class="bs-ph__bar d s"></div><div class="bs-ph__bar m" style="height:14px;background:#111"></div><div class="bs-ph__bars"><i style="height:40%;background:#111"></i><i style="height:65%;background:#111"></i><i style="height:50%;background:#111"></i><i style="height:85%;background:#111"></i><i style="height:60%;background:#111"></i><i style="height:95%;background:#16a34a"></i><i style="height:70%;background:#111"></i></div><div class="bs-ph__row"><b style="background:#e0e7ff"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i></span></div><div class="bs-ph__row"><b style="background:#fee2e2"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i></span></div></div></div></div><div class="bs-sm__c bs-sm__c--ph"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#38bdf8,#0284c7)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M3 14c3-4 6-4 9 0s6 4 9 0M3 9c3-4 6-4 9 0s6 4 9 0"/></svg></span><div class="bs-sm__in"><div class="bs-ph" aria-hidden="true"><div class="bs-ph__sb"><span>9:41</span><span><i></i></span></div><div class="bs-ph__bar d s"></div><div class="bs-ph__bar" style="height:20px;border-radius:8px"></div><div class="bs-ph__row"><b style="background:#fde68a"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i><i class="bs-ph__bar s" style="display:block;height:5px"></i></span></div><div class="bs-ph__row"><b style="background:#bfdbfe"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i><i class="bs-ph__bar s" style="display:block;height:5px"></i></span></div><div class="bs-ph__row"><b style="background:#fecdd3"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i><i class="bs-ph__bar s" style="display:block;height:5px"></i></span></div><div class="bs-ph__row"><b style="background:#bbf7d0"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i><i class="bs-ph__bar s" style="display:block;height:5px"></i></span></div><div class="bs-ph__row"><b style="background:#e9d5ff"></b><span><i class="bs-ph__bar m d" style="display:block;height:5px"></i><i class="bs-ph__bar s" style="display:block;height:5px"></i></span></div></div></div></div><div class="bs-sm__c bs-sm__c--site"><span class="bs-ic bs-sm__badge" style="width:40px;height:40px;background:linear-gradient(145deg,#2dd4bf,#0f766e)"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="7" height="7" rx="1.5"/><rect x="13" y="4" width="7" height="7" rx="1.5"/><rect x="4" y="13" width="7" height="7" rx="1.5"/><rect x="13" y="13" width="7" height="7" rx="3.5"/></svg></span><div class="bs-sm__in"><div class="bs-site bs-site--gal" aria-hidden="true"><div class="bs-site__nav"><i></i><i style="width:30%"></i><i></i></div><b style="left:6%;top:16%;background:#d6d3d1"></b><b style="left:20%;top:58%;background:#78716c"></b><b style="left:30%;top:12%;background:#a8a29e"></b><b style="left:68%;top:18%;background:#e7e5e4"></b><b style="left:82%;top:54%;background:#57534e"></b><b style="left:12%;top:74%;background:#c2410c"></b><b style="left:74%;top:76%;background:#1d4ed8"></b><b style="left:88%;top:22%;background:#b91c1c"></b><b style="left:40%;top:70%;background:#e5e5e5"></b><b style="left:56%;top:8%;background:#44403c"></b><div class="bs-site__t">灵感的落脚处</div><span class="bs-site__pill"></span></div></div></div></div></div>
</section></div>
.x-bts{--ink:#111113;--mut:#6b6b70;--soft:#f3f3f4;--line:#e7e7ea;--card:#fff;
--sans:"Inter","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Microsoft YaHei",system-ui,sans-serif;
--mono:ui-monospace,Menlo,Consolas,"DejaVu Sans Mono",monospace;--ease:cubic-bezier(.16,1,.3,1)}.x-bts *{box-sizing:border-box;margin:0;padding:0}.x-bts{width:100%;text-align:left;font-family:var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:clip}.x-bts a{color:inherit;text-decoration:none}.x-bts button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.x-bts .bs-wrap{max-width:1080px;margin:0 auto;padding:0 24px}.x-bts .bs-h2{font-size:clamp(28px,3.4vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1.18;text-align:center}.x-bts .bs-btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:600;white-space:nowrap;transition:transform .2s var(--ease),background .2s}.x-bts .bs-btn:active{transform:translateY(1px) scale(.98)}.x-bts .bs-btn--dark{background:var(--ink);color:#fff}.x-bts .bs-btn--dark:hover{background:#2a2a2e}.x-bts .bs-btn--gray{background:#ececee;color:var(--ink)}.x-bts .bs-btn--gray:hover{background:#e2e2e5}.x-bts .bs-btn svg{width:16px;height:16px}.x-bts .bs-ic{position:relative;display:inline-grid;place-items:center;flex:none;border-radius:24%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06),0 6px 16px -8px rgba(0,0,0,.35);overflow:hidden}.x-bts .bs-ic svg{width:56%;height:56%}.x-bts .bs-ph{position:relative;width:100%;aspect-ratio:9/19.5;background:#fff;border-radius:22px;box-shadow:0 0 0 1px rgba(0,0,0,.07),0 18px 40px -24px rgba(0,0,0,.35);overflow:hidden;display:flex;flex-direction:column;padding:10px 12px;gap:8px;font-size:9px;color:#111}.x-bts .bs-ph__sb{display:flex;justify-content:space-between;font-weight:600;font-size:8px}.x-bts .bs-ph__sb i{display:inline-block;width:18px;height:6px;border-radius:2px;background:#111;margin-left:3px}.x-bts .bs-ph__bar{height:6px;border-radius:3px;background:#ececef}.x-bts .bs-ph__bar.s{width:45%}.x-bts .bs-ph__bar.m{width:70%}.x-bts .bs-ph__bar.d{background:#1a1a1e}.x-bts .bs-ph__hero{flex:1;border-radius:14px;display:grid;place-items:center}.x-bts .bs-ph__btn{height:22px;border-radius:999px;background:#111;margin-top:auto}.x-bts .bs-ph__row{display:flex;align-items:center;gap:7px;padding:6px 0;border-bottom:1px solid #f0f0f2}.x-bts .bs-ph__row b{width:20px;height:20px;border-radius:6px;flex:none}.x-bts .bs-ph__row span{flex:1;display:flex;flex-direction:column;gap:4px}.x-bts .bs-ph__plan{border:1.5px solid #ececef;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:5px}.x-bts .bs-ph__plan.on{border-color:#111}.x-bts .bs-ph__bub{max-width:78%;padding:6px 8px;border-radius:10px;background:#f1f1f3;font-size:8.5px;line-height:1.4}.x-bts .bs-ph__bub.me{align-self:flex-end;background:#2563eb;color:#fff}.x-bts .bs-ph__bars{flex:1;display:flex;align-items:flex-end;gap:5px;padding:8px 0}.x-bts .bs-ph__bars i{flex:1;border-radius:4px 4px 0 0;background:#111}.x-bts .bs-site{position:relative;width:100%;aspect-ratio:16/10;border-radius:6px;overflow:hidden;box-shadow:0 10px 30px -18px rgba(0,0,0,.5)}.x-bts .bs-site__nav{position:absolute;left:5%;right:5%;top:5%;display:flex;justify-content:space-between}.x-bts .bs-site__nav i{display:block;height:3px;width:14%;border-radius:2px;background:currentColor;opacity:.5}.x-bts .bs-site__t{position:absolute;left:0;right:0;text-align:center;font-weight:700;letter-spacing:-.02em;line-height:1.15}.x-bts .bs-site--wave{background:radial-gradient(120% 90% at 70% 30%,#3b1d8f,#0b0618 70%);color:#fff}.x-bts .bs-site--wave svg{position:absolute;inset:0;width:100%;height:100%}.x-bts .bs-site--wave .bs-site__t{bottom:16%;font-family:Georgia,"Noto Serif CJK SC",serif;font-weight:400;font-size:clamp(11px,1.5vw,17px)}.x-bts .bs-site--float{background:#fff;color:#111}.x-bts .bs-site--float .bs-site__t{top:38%;font-size:clamp(11px,1.5vw,17px)}.x-bts .bs-site--float .bs-site__t em{font-style:normal;color:#ec4899}.x-bts .bs-site--float b{position:absolute;width:11%;aspect-ratio:1;border-radius:4px;box-shadow:0 4px 10px -4px rgba(0,0,0,.4)}.x-bts .bs-site--gal{background:#0e0e10;color:#fff}.x-bts .bs-site--gal b{position:absolute;width:9%;aspect-ratio:3/4;border-radius:2px}.x-bts .bs-site--gal .bs-site__t{top:40%;font-size:clamp(11px,1.5vw,17px)}.x-bts .bs-site--gal .bs-site__pill{position:absolute;left:50%;top:62%;width:16%;height:7%;margin-left:-8%;border-radius:99px;background:#fff}.x-bts .bs-sm{padding:110px 0 120px;overflow:hidden}.x-bts .bs-sm__h{font-size:clamp(26px,3vw,34px);font-weight:700;letter-spacing:-.03em;line-height:1.25}.x-bts .bs-sm__p{margin-top:40px;font-size:clamp(24px,3vw,34px);font-weight:600;letter-spacing:-.03em;line-height:1.3;color:#8a8a90}.x-bts .bs-sm__q{display:flex;align-items:center;gap:14px;margin-top:64px;font-size:clamp(22px,2.6vw,30px);font-weight:600;letter-spacing:-.02em;min-height:44px}.x-bts .bs-sm__q svg{width:30px;height:30px;flex:none}.x-bts .bs-sm__caret{width:2px;height:1.1em;background:#111;animation:xbtsBlink 1s steps(1) infinite}@keyframes xbtsBlink{50%{opacity:0}}.x-bts .bs-sm__view{margin-top:44px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.x-bts .bs-sm__track{display:flex;gap:16px;width:max-content;animation:xbtsMarq 60s linear infinite;padding:14px 0}.x-bts .bs-sm__view:hover .bs-sm__track{animation-play-state:paused}@keyframes xbtsMarq{to{transform:translateX(-50%)}}.x-bts .bs-sm__c{position:relative;flex:none;height:420px;background:var(--soft);border-radius:28px;display:grid;place-items:center;padding:28px}.x-bts .bs-sm__c--ph{width:240px}.x-bts .bs-sm__c--site{width:420px}.x-bts .bs-sm__in{width:100%}.x-bts .bs-sm__c--ph .bs-sm__in{width:170px}.x-bts .bs-sm__badge{position:absolute;left:16px;top:16px;z-index:2}@media (max-width:720px){.x-bts .bs-sm{padding:72px 0 80px}.x-bts .bs-sm__c{height:320px;padding:20px;border-radius:22px}.x-bts .bs-sm__c--ph{width:190px}.x-bts .bs-sm__c--ph .bs-sm__in{width:130px}.x-bts .bs-sm__c--site{width:300px}}@media (prefers-reduced-motion:reduce){.x-bts .bs-sm__track{animation:none}.x-bts .bs-sm__caret{animation:none}}.x-bts .bs-sm__view{contain:inline-size}.x-bts .bs-sm{padding:56px 0}.x-bts .bs-sm__p{margin-top:24px}.x-bts .bs-sm__q{margin-top:36px}.x-bts .bs-sm__view{margin-top:28px}.x-bts .bs-sm__c{height:340px}.x-bts .bs-sm__c--ph{width:200px}.x-bts .bs-sm__c--ph .bs-sm__in{width:140px}.x-bts .bs-sm__c--site{width:360px}
(root) => {
  const el = (root.classList && root.classList.contains('x-bts')) ? root : (root.querySelector('.x-bts') || root);

  
  const out = el.querySelector('.bs-sm__typed');
  const qs = (out.getAttribute('data-q') || '').split('|');
  const RM = window.matchMedia && matchMedia('(prefers-reduced-motion: reduce)').matches;
  let qi = 0, ci = qs[0].length, del = true, tm = 0;
  const step = () => {
    const q = qs[qi];
    if (del) { ci--; if (ci <= 0) { del = false; qi = (qi + 1) % qs.length; } }
    else { ci++; if (ci >= qs[qi].length) { del = true; out.textContent = qs[qi]; tm = setTimeout(step, 2200); return; } }
…
订阅 Builder 查看完整源码。查看价格

同一模板的其他组件

查看全部

Floating Icons CTA

Library Bento Grid

Inline Icon Hero

Giant Wordmark Footer

Agent Chat Demo

Library Browser Mock

更多动效组件

查看全部

Chaos Versus Ship Split

Integration Tile Grid

Infra Tab Showcase

Ticker CTA Band

Chrome Outline Wordmark

Prompt Hub Diagram

OCR Scan Card

Dual Row Quote Marquee

更多组件

查看全部

Tabbed Logo Testimonial

Dot Matrix Glow Hero

Dotted Globe Features

Segmented Pricing Tiers

Live Deploy Bento

Floating Tile CTA Banner

Aurora Prompt Hero

Trio Capability Cards

继续探索