8pt

Network Lines Hero

汇聚线条首屏•Hero
介绍

暖灰底首屏:两侧细线像网络一样汇聚到中间的网址输入框,绿色光点沿线流动;顶部数据胶囊上下轮换,绿色重点标题、两枚说明胶囊和输入后才点亮的箭头按钮。

拆自整页模板 潮引 获客智能体官网,可以单独使用,也能和同一模板拆出的其他组件拼回整页。

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

适用场景

产品官网、SaaS 落地页和活动页的首屏:标题、副标题和主按钮决定第一印象的地方。

安装

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

$ npm i -g @8pt-dev/cli && 8pt add network-lines-hero
mcp › 使用 8pt MCP 调用 get_component("network-lines-hero")

代码

Network Lines Hero 的源码,动效只用 transform 与 opacity,并尊重减少动态效果设置。

<div class="x-nlh"><section class="cy-hero" id="hero"><svg class="cy-hero__lines" viewBox="0 0 1440 640" preserveAspectRatio="xMidYMid slice" aria-hidden="true"><g class="cy-l"><path id="cyl0" d="M-20 16C241 16 386 298 560 298"/><path id="cyl1" d="M-20 63C241 63 386 302 560 302"/><path id="cyl2" d="M-20 101C241 101 386 304 560 304"/><path id="cyl3" d="M-20 166C241 166 386 308 560 308"/><path id="cyl4" d="M-20 207C241 207 386 310 560 310"/><path id="cyl5" d="M-20 239C241 239 386 314 560 314"/><path id="cyl6" d="M-20 287C241 287 386 316 560 316"/><path id="cyl7" d="M-20 344C241 344 386 320 560 320"/><path id="cyl8" d="M-20 389C241 389 386 322 560 322"/><path id="cyl9" d="M-20 432C241 432 386 326 560 326"/><path id="cyl10" d="M-20 479C241 479 386 328 560 328"/><path id="cyl11" d="M-20 528C241 528 386 332 560 332"/><path id="cyl12" d="M-20 578C241 578 386 334 560 334"/><path id="cyl13" d="M-20 624C241 624 386 338 560 338"/><path id="cyl14" d="M1460 9C1199 9 1054 298 880 298"/><path id="cyl15" d="M1460 68C1199 68 1054 302 880 302"/><path id="cyl16" d="M1460 114C1199 114 1054 304 880 304"/><path id="cyl17" d="M1460 169C1199 169 1054 308 880 308"/><path id="cyl18" d="M1460 208C1199 208 1054 310 880 310"/><path id="cyl19" d="M1460 245C1199 245 1054 314 880 314"/><path id="cyl20" d="M1460 288C1199 288 1054 316 880 316"/><path id="cyl21" d="M1460 348C1199 348 1054 320 880 320"/><path id="cyl22" d="M1460 378C1199 378 1054 322 880 322"/><path id="cyl23" d="M1460 443C1199 443 1054 326 880 326"/><path id="cyl24" d="M1460 477C1199 477 1054 328 880 328"/><path id="cyl25" d="M1460 518C1199 518 1054 332 880 332"/><path id="cyl26" d="M1460 574C1199 574 1054 334 880 334"/><path id="cyl27" d="M1460 616C1199 616 1054 338 880 338"/></g><g class="cy-d"><circle cx="121" cy="44" r="2"/><circle cx="346" cy="191" r="2"/><circle cx="72" cy="73" r="2"/><circle cx="287" cy="172" r="2"/><circle cx="255" cy="177" r="2"/><circle cx="79" cy="111" r="2"/><circle cx="107" cy="177" r="2"/><circle cx="157" cy="188" r="2"/><circle cx="463" cy="301" r="2"/><circle cx="316" cy="263" r="2"/><circle cx="428" cy="301" r="2"/><circle cx="189" cy="255" r="2"/><circle cx="104" cy="290" r="2"/><circle cx="198" cy="294" r="2"/><circle cx="341" cy="329" r="2"/><circle cx="228" cy="337" r="2"/><circle cx="75" cy="386" r="2"/><circle cx="73" cy="386" r="2"/><circle cx="201" cy="406" r="2"/><circle cx="319" cy="374" r="2"/><circle cx="194" cy="444" r="2"/><circle cx="403" cy="363" r="2"/><circle cx="294" cy="434" r="2"/><circle cx="435" cy="361" r="2"/><circle cx="189" cy="524" r="2"/><circle cx="475" cy="352" r="2"/><circle cx="122" cy="595" r="2"/><circle cx="279" cy="499" r="2"/><circle cx="1087" cy="194" r="2"/><circle cx="1049" cy="224" r="2"/><circle cx="1005" cy="266" r="2"/><circle cx="1239" cy="125" r="2"/><circle cx="1175" cy="190" r="2"/><circle cx="1019" cy="270" r="2"/><circle cx="1168" cy="227" r="2"/><circle cx="1089" cy="257" r="2"/><circle cx="960" cy="304" r="2"/><circle cx="1026" cy="290" r="2"/><circle cx="1206" cy="267" r="2"/><circle cx="1087" cy="289" r="2"/><circle cx="1336" cy="290" r="2"/><circle cx="1367" cy="289" r="2"/><circle cx="1330" cy="346" r="2"/><circle cx="1271" cy="343" r="2"/><circle cx="1178" cy="356" r="2"/><circle cx="1136" cy="350" r="2"/><circle cx="1027" cy="349" r="2"/><circle cx="1010" cy="345" r="2"/><circle cx="1002" cy="350" r="2"/><circle cx="973" cy="342" r="2"/><circle cx="1306" cy="495" r="2"/><circle cx="1278" cy="487" r="2"/><circle cx="1263" cy="528" r="2"/><circle cx="1397" cy="569" r="2"/><circle cx="1214" cy="532" r="2"/><circle cx="1129" cy="470" r="2"/></g><g class="cy-m"><circle r="2.6"><animateMotion dur="4.7s" begin="3.2s" repeatCount="indefinite"><mpath href="#cyl0"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="4.7s" begin="3.2s" repeatCount="indefinite"/></circle><circle r="2.6"><animateMotion dur="4.8s" begin="2.5s" repeatCount="indefinite"><mpath href="#cyl2"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="4.8s" begin="2.5s" repeatCount="indefinite"/></circle><circle r="2.6"><animateMotion dur="5.7s" begin="5.9s" repeatCount="indefinite"><mpath href="#cyl4"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="5.7s" begin="5.9s" repeatCount="indefinite"/></circle><circle r="2.6"><animateMotion dur="6.9s" begin="1.1s" repeatCount="indefinite"><mpath href="#cyl6"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="6.9s" begin="1.1s" repeatCount="indefinite"/></circle><circle r="2.6"><animateMotion dur="5.1s" begin="4.1s" repeatCount="indefinite"><mpath href="#cyl8"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="5.1s" begin="4.1s" repeatCount="indefinite"/></circle><circle r="2.6"><animateMotion dur="6.6s" begin="1.5s" repeatCount="indefinite"><mpath href="#cyl10"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="6.6s" begin="1.5s" repeatCount="indefinite"/></circle><circle r="2.6"><animateMotion dur="4.9s" begin="2.5s" repeatCount="indefinite"><mpath href="#cyl12"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="4.9s" begin="2.5s" repeatCount="indefinite"/></circle><circle r="2.6"><animateMotion dur="6.6s" begin="3.6s" repeatCount="indefinite"><mpath href="#cyl15"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="6.6s" begin="3.6s" repeatCount="indefinite"/></circle><circle r="2.6"><animateMotion dur="4.7s" begin="4.2s" repeatCount="indefinite"><mpath href="#cyl17"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="4.7s" begin="4.2s" repeatCount="indefinite"/></circle><circle r="2.6"><animateMotion dur="4.6s" begin="2.8s" repeatCount="indefinite"><mpath href="#cyl19"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="4.6s" begin="2.8s" repeatCount="indefinite"/></circle><circle r="2.6"><animateMotion dur="5.7s" begin="5.2s" repeatCount="indefinite"><mpath href="#cyl21"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="5.7s" begin="5.2s" repeatCount="indefinite"/></circle><circle r="2.6"><animateMotion dur="5.3s" begin="2.5s" repeatCount="indefinite"><mpath href="#cyl23"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="5.3s" begin="2.5s" repeatCount="indefinite"/></circle><circle r="2.6"><animateMotion dur="5.2s" begin="2.9s" repeatCount="indefinite"><mpath href="#cyl25"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="5.2s" begin="2.9s" repeatCount="indefinite"/></circle><circle r="2.6"><animateMotion dur="7.4s" begin="4.1s" repeatCount="indefinite"><mpath href="#cyl27"/></animateMotion><animate attributeName="opacity" values="0;1;1;0" keyTimes="0;.15;.8;1" dur="7.4s" begin="4.1s" repeatCount="indefinite"/></circle></g></svg><div class="cy-hero__in">
<div class="cy-badge" aria-live="polite"><span class="cy-badge__i is-out"><b>按回复计效果</b>不按发信量讲故事</span><span class="cy-badge__i is-on"><b>全天候</b>你睡觉时它在找客户</span><span class="cy-badge__i"><b>零搭建</b>粘贴网址即可开跑</span></div>
<h1><em>一觉醒来</em><br>高意向客户已在收件箱</h1>
<div class="cy-chips"><span class="cy-chip">不用招销售,也不用自建发信域名</span><span class="cy-chip"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="8.5" width="17" height="4" rx="1"/><path d="M5 12.5V20h14v-7.5"/><path d="M12 8.5V20"/><path d="M12 8.5C10.6 5.2 7 4.6 7 6.8c0 1.3 1.7 1.7 5 1.7Z"/><path d="M12 8.5c1.4-3.3 5-3.9 5-1.7 0 1.3-1.7 1.7-5 1.7Z"/></svg>注册即送体验额度</span></div>
<div class="cy-url"><input type="text" placeholder="粘贴你的网站,例如 example.com" aria-label="你的网站"><button class="cy-url__go" type="button" aria-label="开始"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14"/><path d="m13 6 6 6-6 6"/></svg></button></div>
<button class="cy-btn cy-mgo" type="button">开始找客户<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14"/><path d="m13 6 6 6-6 6"/></svg></button>
<p class="cy-hero__note" role="status"></p>
<a class="cy-hero__alt" href="#faq">我还没有网站</a>
<p class="cy-hero__p">智能体替你研究市场、校准理想客户画像、找出有购买意向的决策人,写好个性化邮件,并把演示会议约进你的日历。</p>
</div></section></div>
.x-nlh{--bg:#F6F5F3;--ink:#111111;--acc:#0D9467;--chip:#ECEBE9;--card:#FFFFFF;--mut:#8E8D8A;--sub:#5F5E5B;--line:#E7E5E1;--tile:#F4F4F3;
--sans:"Inter","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Microsoft YaHei",system-ui,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}.x-nlh *,.x-nlh *::before,.x-nlh *::after{box-sizing:border-box;margin:0;padding:0}.x-nlh{width:100%;text-align:left;font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:clip}.x-nlh a{color:inherit;text-decoration:none}.x-nlh button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.x-nlh input{font:inherit;color:inherit}.x-nlh .cy-wrap{max-width:1080px;margin:0 auto;padding:0 24px}.x-nlh .cy-h2{font-size:clamp(28px,3vw,38px);font-weight:500;letter-spacing:-.02em;line-height:1.2;text-align:center}.x-nlh .cy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 24px;border-radius:10px;background:#161616;color:#fff;font-size:15px;font-weight:500;transition:transform .2s var(--ease),background .2s}.x-nlh .cy-btn:hover{background:#2b2b2b}.x-nlh .cy-btn:active{transform:scale(.98)}.x-nlh .cy-btn svg{width:16px;height:16px;transition:transform .25s var(--ease)}.x-nlh .cy-btn:hover svg{transform:translateX(3px)}.x-nlh .cy-logo{display:inline-flex;align-items:center;gap:8px;font-size:20px;font-weight:600;letter-spacing:.02em}.x-nlh .cy-logo__m{width:26px;height:26px}.x-nlh .cy-tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:999px;background:var(--chip);color:var(--sub);font-size:11px;font-weight:500}@media (prefers-reduced-motion:reduce){.x-nlh *,.x-nlh *::before,.x-nlh *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.x-nlh .cy-m{display:none}}.x-nlh .cy-hero{position:relative;overflow:hidden;padding:60px 24px 70px;text-align:center}.x-nlh .cy-hero__lines{position:absolute;left:0;right:0;top:72px;width:100%;height:640px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 80% 75% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 80% 75% at 50% 50%,#000 55%,transparent 100%)}.x-nlh .cy-l path{fill:none;stroke:#E2E0DB;stroke-width:1.1}.x-nlh .cy-d circle{fill:#BDBBB6}.x-nlh .cy-m circle{fill:var(--acc);opacity:0}.x-nlh .cy-hero__in{position:relative;max-width:720px;margin:0 auto}.x-nlh .cy-badge{position:relative;height:74px;margin:0 auto 6px}.x-nlh .cy-badge__i{position:absolute;left:50%;bottom:0;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 15px;border-radius:999px;background:#fff;box-shadow:0 2px 10px -2px rgba(0,0,0,.12);font-size:13px;white-space:nowrap;opacity:0;transform:translate(-50%,14px) scale(.96);filter:blur(4px);transition:opacity .6s var(--ease),transform .7s var(--ease),filter .6s}.x-nlh .cy-badge__i b{font-weight:600}.x-nlh .cy-badge__i.is-on{opacity:1;transform:translate(-50%,0);filter:none}.x-nlh .cy-badge__i.is-out{opacity:.22;transform:translate(-50%,-40px) scale(.94);filter:blur(3px)}.x-nlh .cy-hero h1{font-size:clamp(38px,4.6vw,58px);font-weight:500;letter-spacing:-.03em;line-height:1.12}.x-nlh .cy-hero h1 em{font-style:normal;color:var(--acc)}.x-nlh .cy-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}.x-nlh .cy-chip{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 14px;border-radius:999px;background:var(--chip);font-size:13px;color:#333}.x-nlh .cy-chip svg{width:15px;height:15px}.x-nlh .cy-url{position:relative;display:flex;align-items:center;max-width:484px;height:62px;margin:40px auto 0;padding:0 10px 0 22px;background:#fff;border:2.5px solid #161616;border-radius:16px;transition:box-shadow .25s}.x-nlh .cy-url:focus-within{box-shadow:0 0 0 5px rgba(13,148,103,.14)}.x-nlh .cy-url input{flex:1;min-width:0;height:100%;border:0;outline:0;background:none;font-size:16px}.x-nlh .cy-url input::placeholder{color:#8E8D8A}.x-nlh .cy-url__go{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#F0EFEC;color:#555;transition:background .2s,color .2s,transform .2s}.x-nlh .cy-url__go svg{width:17px;height:17px}.x-nlh .cy-url.is-filled .cy-url__go{background:#161616;color:#fff}.x-nlh .cy-url__go:active{transform:scale(.94)}.x-nlh .cy-mgo{display:none}.x-nlh .cy-hero__alt{display:inline-block;margin-top:14px;font-size:13px;color:var(--mut);transition:color .2s}.x-nlh .cy-hero__alt:hover{color:var(--ink)}.x-nlh .cy-hero__note{height:0;overflow:hidden;font-size:13px;color:var(--acc);opacity:0;transition:opacity .3s,height .3s}.x-nlh .cy-hero__note.is-on{height:22px;margin-top:8px;opacity:1}.x-nlh .cy-hero__p{max-width:580px;margin:34px auto 0;font-size:17px;line-height:1.65;color:var(--mut)}@media (max-width:760px){.x-nlh .cy-hero{padding:24px 18px 48px}.x-nlh .cy-hero__lines{height:560px;top:40px}.x-nlh .cy-badge{height:64px}.x-nlh .cy-hero h1{font-size:33px}.x-nlh .cy-chips{flex-direction:column;align-items:center;gap:8px}.x-nlh .cy-url{height:60px;margin-top:30px}.x-nlh .cy-url__go{display:none}.x-nlh .cy-mgo{display:flex;width:100%;height:52px;margin-top:10px;border-radius:12px;background:#E9E8E5;color:#8E8D8A;font-size:17px}.x-nlh .cy-mgo.is-ready{background:#161616;color:#fff}.x-nlh .cy-hero__p{font-size:17px}
}.x-nlh .cy-hero{min-height:min(860px,96vh);display:flex;flex-direction:column;justify-content:center;}.x-nlh .cy-hero__lines{top:50%;transform:translateY(-50%)}
(root) => {
  const el = (root.matches && root.matches('.cy-hero')) ? root : root.querySelector('.cy-hero');
  if (!el) return;
  const items = [...el.querySelectorAll('.cy-badge__i')];
  let cur = items.findIndex((x) => x.classList.contains('is-on'));
  const timers = [];
  const tick = () => {
    const prev = items[cur]; cur = (cur + 1) % items.length; const next = items[cur];
    items.forEach((x) => { if (x !== prev && x !== next) x.classList.remove('is-out'); });
    prev.classList.remove('is-on'); prev.classList.add('is-out');
    next.classList.remove('is-out'); next.classList.add('is-on');
  };
…
订阅 Builder 查看完整源码。查看价格

同一模板的其他组件

查看全部

Usage Slider Calculator

Soft FAQ Accordion

Three Claim Cards

Dual Row Quote Marquee

Scenario Metric Cards

Closing CTA Footer

更多Hero组件

查看全部

Dot Matrix Glow Hero

Aurora Prompt Hero

Pill Word Hero

Orbit Sphere Marquee

Glow Prompt Hero

Sky Hero Headline

Portfolio Intro Hero

Inline Icon Hero

更多组件

查看全部

Tabbed Logo Testimonial

Dotted Globe Features

Chaos Versus Ship Split

Segmented Pricing Tiers

Live Deploy Bento

Floating Tile CTA Banner

Integration Tile Grid

Trio Capability Cards

继续探索