8pt

Kanban Window Mock

看板窗口样机•媒体
介绍

浏览器窗口样机:左侧带图标的工作区侧栏与智能体列表,右侧页面标题、视图切换和四列彩色看板,卡片每隔几秒依次流向下一列,右上角智能体通知定时浮现。

拆自整页模板 墨格 团队 AI 工作台官网,可以单独使用,也能和同一模板拆出的其他组件拼回整页。

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

适用场景

图片对比、视频展示、画廊、轮播和媒体卡片。

安装

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

$ npm i -g @8pt-dev/cli && 8pt add kanban-window-mock
mcp › 使用 8pt MCP 调用 get_component("kanban-window-mock")

代码

Kanban Window Mock 的源码,动效只用 transform 与 opacity,并尊重减少动态效果设置。

<div class="x-kwm"><section class="mg-mock" aria-label="产品界面示意"><div class="mg-mock__peb"><svg class="mg-peb " viewBox="0 0 92 92" width="86" height="86" aria-hidden="true" style="transform:rotate(-6deg)"><path d="M14 54c-4-22 12-42 34-42s36 16 32 38-18 32-38 30S17 72 14 54Z" fill="#F59AA8"/><path d="M22 40c3-12 12-19 22-20" fill="none" stroke="#fff" stroke-opacity=".55" stroke-width="4" stroke-linecap="round"/><g class="mg-peb__eyes"><ellipse cx="37" cy="46" rx="3.6" ry="4.6" fill="#191918"/><ellipse cx="56" cy="46" rx="3.6" ry="4.6" fill="#191918"/></g><path d="M40 59h12" stroke="#191918" stroke-width="2.6" stroke-linecap="round"/><path d="M16 62 6 70" stroke="#F59AA8" stroke-width="7" stroke-linecap="round"/><path d="M78 58l9 5" stroke="#F59AA8" stroke-width="7" stroke-linecap="round"/></svg></div><div class="mg-win"><div class="mg-win__bar"><i></i><i></i><i></i><span class="mg-win__tab"><b></b>青柚工作室总览</span></div>
<div class="mg-win__body"><aside class="mg-side"><b>青柚工作室</b><a href="#hero"><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="11" cy="11" r="6.5"/><path d="m20 20-4.4-4.4"/></svg>搜索</a><a href="#hero"><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="M4 10.5 12 4l8 6.5"/><path d="M6 9v10.5h12V9"/><path d="M10 19.5v-5h4v5"/></svg>首页</a><a href="#hero"><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="6" width="12" height="12" rx="2.5"/><path d="m15.5 10.5 5-3v9l-5-3"/></svg>会议</a><a href="#hero"><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="M12 3.5c.6 4.2 2.3 5.9 6.5 6.5-4.2.6-5.9 2.3-6.5 6.5-.6-4.2-2.3-5.9-6.5-6.5 4.2-.6 5.9-2.3 6.5-6.5Z"/><path d="M18.5 15.5v4"/><path d="M16.5 17.5h4"/></svg>智能助手</a><a href="#hero"><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="M4 13.5 6.5 5h11l2.5 8.5"/><path d="M4 13.5v5h16v-5h-4.5l-1.5 2.5h-4l-1.5-2.5Z"/></svg>收件箱</a><small>智能体</small><a href="#agents"><span class="mg-dot" style="background:#9B8AF0"></span>需求分拣</a><a href="#agents"><span class="mg-dot" style="background:#F2A65A"></span>周报撰写</a><a href="#agents"><span class="mg-dot" style="background:#5BB98C"></span>内部问答</a><a href="#agents"><span class="mg-dot" style="background:#5AA9E6"></span>入职向导</a><small>团队空间</small><a href="#teams">产品路线图</a><a href="#teams">设计周会</a></aside><div class="mg-main"><div class="mg-main__t"><span><b></b></span>青柚工作室总览</div>
<div class="mg-views"><span class="is-on">团队任务</span><span>我的任务</span><span>本周冲刺</span><span>时间线</span></div>
<div class="mg-board"><div class="mg-col" style="--cbg:#F1EFEC;--cfg:#787774"><div class="mg-col__h"><i></i>待处理<em>3</em></div><div class="mg-col__l"><div class="mg-card">整理用户访谈纪要</div><div class="mg-card">更新帮助中心目录</div><div class="mg-card">核对季度预算表</div></div></div><div class="mg-col" style="--cbg:#FDF3E1;--cfg:#B7791F"><div class="mg-col__h"><i></i>进行中<em>3</em></div><div class="mg-col__l"><div class="mg-card">发布会演示脚本</div><div class="mg-card">新版定价页文案</div><div class="mg-card">招聘面试题库</div></div></div><div class="mg-col" style="--cbg:#E6F3FE;--cfg:#0B6BC2"><div class="mg-col__h"><i></i>审核中<em>3</em></div><div class="mg-col__l"><div class="mg-card">移动端引导流程</div><div class="mg-card">合同模板修订</div><div class="mg-card">客服话术更新</div></div></div><div class="mg-col" style="--cbg:#E8F5EC;--cfg:#2F8A55"><div class="mg-col__h"><i></i>已完成<em>3</em></div><div class="mg-col__l"><div class="mg-card">设计规范第二版</div><div class="mg-card">入职清单</div><div class="mg-card">官网首屏改版</div></div></div></div>
<div class="mg-note"><b><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="M12 3.5c.6 4.2 2.3 5.9 6.5 6.5-4.2.6-5.9 2.3-6.5 6.5-.6-4.2-2.3-5.9-6.5-6.5 4.2-.6 5.9-2.3 6.5-6.5Z"/><path d="M18.5 15.5v4"/><path d="M16.5 17.5h4"/></svg>周报撰写</b>本周进展已整理成草稿,三项待你确认。</div></div></div></div></section></div>
.x-kwm{--bg:#FFFFFF;--ink:#191918;--acc:#0075DE;--accs:#E6F3FE;--soft:#F6F5F4;--card:#F9F9F8;--line:#E6E5E3;--mut:#787774;
--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-kwm *,.x-kwm *::before,.x-kwm *::after{box-sizing:border-box;margin:0;padding:0}.x-kwm{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-kwm a{color:inherit;text-decoration:none}.x-kwm button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.x-kwm .mg-wrap{max-width:1240px;margin:0 auto;padding:0 32px}.x-kwm .mg-h2{font-size:clamp(30px,3.4vw,48px);font-weight:800;letter-spacing:-.03em;line-height:1.15}.x-kwm .mg-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 16px;border-radius:9px;font-size:15px;font-weight:500;white-space:nowrap;transition:background .2s,transform .2s var(--ease)}.x-kwm .mg-btn:active{transform:scale(.97)}.x-kwm .mg-btn--pri{background:var(--acc);color:#fff}.x-kwm .mg-btn--pri:hover{background:#005BAB}.x-kwm .mg-btn--sec{background:var(--accs);color:#005BAB}.x-kwm .mg-btn--sec:hover{background:#D5EAFC}.x-kwm .mg-btn--white{background:#fff;color:#005BAB}.x-kwm .mg-btn--white:hover{background:#F0F7FE}.x-kwm .mg-logo{display:inline-flex;align-items:center;gap:8px;font-size:18px;font-weight:700}.x-kwm .mg-logo__m{width:28px;height:28px}.x-kwm .mg-logo--big{font-size:26px;gap:10px}.x-kwm .mg-logo--big .mg-logo__m{width:40px;height:40px}.x-kwm .mg-peb{display:block;overflow:visible}.x-kwm .mg-peb__eyes{animation:xkwmBlink 5s infinite;transform-origin:center 46px;transform-box:view-box}@keyframes xkwmBlink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}@media (prefers-reduced-motion:reduce){.x-kwm *,.x-kwm *::before,.x-kwm *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.x-kwm .mg-mock{position:relative;padding:20px 24px 70px;overflow-x:clip}.x-kwm .mg-win{position:relative;max-width:980px;margin:0 auto;border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08),0 24px 60px -24px rgba(0,0,0,.22);overflow:hidden;text-align:left}.x-kwm .mg-win__bar{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;background:#F7F6F5;border-bottom:1px solid var(--line)}.x-kwm .mg-win__bar i{width:9px;height:9px;border-radius:50%;background:#DDDBD8}.x-kwm .mg-win__tab{display:inline-flex;align-items:center;gap:6px;height:24px;margin-left:56px;padding:0 10px;border-radius:6px;background:#fff;font-size:11.5px;box-shadow:0 0 0 1px var(--line)}.x-kwm .mg-win__tab b{width:10px;height:10px;border-radius:3px;background:#F28B6B}.x-kwm .mg-win__body{display:grid;grid-template-columns:200px 1fr;height:430px}.x-kwm .mg-side{padding:12px 10px;background:#FBFBFA;border-right:1px solid var(--line);font-size:12px;color:#5F5E5B}.x-kwm .mg-side b{display:block;padding:4px 8px 8px;color:var(--ink);font-size:12.5px}.x-kwm .mg-side a{display:flex;align-items:center;gap:7px;padding:4px 8px;border-radius:6px;transition:background .2s}.x-kwm .mg-side a:hover{background:#EFEEEC}.x-kwm .mg-side a svg{width:14px;height:14px}.x-kwm .mg-side small{display:block;padding:12px 8px 4px;font-size:10.5px;color:#A3A29E}.x-kwm .mg-side .mg-dot{width:12px;height:12px;border-radius:50%;flex:none}.x-kwm .mg-main{position:relative;padding:20px 22px;overflow:hidden}.x-kwm .mg-main__t{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:700}.x-kwm .mg-main__t span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#FDE8E0}.x-kwm .mg-main__t span b{width:16px;height:20px;border-radius:3px;background:#F28B6B;box-shadow:5px -3px 0 #F6B39C}.x-kwm .mg-views{display:flex;gap:4px;margin-top:14px;font-size:11.5px;color:#787774}.x-kwm .mg-views span{padding:3px 8px;border-radius:6px}.x-kwm .mg-views span.is-on{background:#EFEEEC;color:var(--ink)}.x-kwm .mg-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.x-kwm .mg-col{min-width:0;padding:8px;border-radius:9px;background:var(--cbg)}.x-kwm .mg-col__h{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:11.5px;font-weight:600;color:var(--cfg)}.x-kwm .mg-col__h i{width:7px;height:7px;border-radius:50%;background:var(--cfg)}.x-kwm .mg-col__h em{font-style:normal;font-weight:400;opacity:.7}.x-kwm .mg-col__l{display:grid;gap:6px}.x-kwm .mg-card{padding:8px 9px;border-radius:7px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.05);font-size:11.5px;line-height:1.4;transition:box-shadow .2s}.x-kwm .mg-card:hover{box-shadow:0 0 0 1px rgba(0,117,222,.4)}.x-kwm .mg-card.is-new{animation:xkwmPop .6s var(--ease)}@keyframes xkwmPop{from{transform:translateY(-6px) scale(.96);opacity:0;box-shadow:0 0 0 2px var(--acc)}}.x-kwm .mg-note{position:absolute;right:16px;top:14px;width:220px;padding:10px 12px;border-radius:10px;background:#fff;box-shadow:0 10px 28px -10px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.05);font-size:11.5px;line-height:1.45;animation:xkwmNote 7s var(--ease) infinite}.x-kwm .mg-note b{display:flex;align-items:center;gap:6px;font-size:12px}.x-kwm .mg-note b svg{width:14px;height:14px;color:var(--acc)}@keyframes xkwmNote{0%,6%{opacity:0;transform:translateY(-8px)}12%,86%{opacity:1;transform:none}94%,100%{opacity:0;transform:translateY(-8px)}}.x-kwm .mg-mock__peb{position:absolute;left:calc(50% - 560px);bottom:40px;animation:xkwmBob 5s ease-in-out infinite}@media (max-width:860px){.x-kwm .mg-mock{padding:8px 14px 44px}.x-kwm .mg-win__body{grid-template-columns:1fr;height:290px}.x-kwm .mg-side{display:none}.x-kwm .mg-board{grid-template-columns:repeat(2,minmax(0,1fr))}.x-kwm .mg-col:nth-child(n+3){display:none}.x-kwm .mg-note{display:none}.x-kwm .mg-mock__peb{display:none}.x-kwm .mg-win__tab{margin-left:12px}
}.x-kwm .mg-wrap{width:100%}.x-kwm .mg-mock{min-height:min(860px,96vh);display:flex;flex-direction:column;justify-content:center;}.x-kwm .mg-mock__peb{left:16px}
(root) => {
  const el = (root.matches && root.matches('.mg-mock')) ? root : root.querySelector('.mg-mock');
  if (!el) return;
  const lists = [...el.querySelectorAll('.mg-col__l')];
  const iv = setInterval(() => {
    const moves = [];
    for (let c = lists.length - 2; c >= 0; c--) { const card = lists[c].firstElementChild; if (card) moves.push([card, lists[c + 1]]); }
    const back = lists[lists.length - 1].lastElementChild;
    moves.forEach(([card, to]) => { card.classList.remove('is-new'); void card.offsetWidth; to.insertBefore(card, to.firstElementChild); card.classList.add('is-new'); });
    if (back) { back.classList.remove('is-new'); lists[0].appendChild(back); }
  }, 3200);
  return () => clearInterval(iv);
…
订阅 Builder 查看完整源码。查看价格

同一模板的其他组件

查看全部

Agent Use Cards

AI Feature Bento

Tinted Team Cards

Motto Column Footer

Ticker CTA Band

Pill Word Hero

更多媒体组件

查看全部

Crossfade Media Stage

Tinted Team Cards

Hover Reveal Work Grid

Template Card Grid

Paywall Flow Strip

Gallery Lightbox Stage

Infinite Drag Wall

Library Browser Mock

更多组件

查看全部

Tabbed Logo Testimonial

Dot Matrix Glow Hero

Dotted Globe Features

Chaos Versus Ship Split

Segmented Pricing Tiers

Live Deploy Bento

Floating Tile CTA Banner

Aurora Prompt Hero

继续探索