Skip to content
OwnlyPlans

index.html.md

Complete code of the result in the video.

Part of Kanban project board by Admin

Download Open the item

index.html

The finished result as one file. Save it as index.html and open it.

<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Kanban board dashboard</title><style>*{box-sizing:border-box;margin:0;padding:0}
html,body{width:1280px;height:720px;overflow:hidden}
body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
@property --n{syntax:'<integer>';inherits:false;initial-value:0}
.stage{position:absolute;inset:0;animation:cyc 8s linear infinite both}
@keyframes cyc{0%{opacity:0}4%{opacity:1}94%{opacity:1}100%{opacity:0}}
body:not(.go) *,body:not(.go) *::before,body:not(.go) *::after{animation-play-state:paused!important}
.cnt::after{content:counter(n)}.cnt{counter-reset:n var(--n)}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}


body{background:#f7f3ec;color:#1e1a14}
.hd{position:absolute;left:48px;top:30px;right:48px;display:flex;align-items:center;gap:16px}
.hd h1{font-size:26px;letter-spacing:-.03em}.hd span{color:#8a7f6e;font-size:14px}
.prog{margin-left:auto;width:300px}.prog small{display:flex;justify-content:space-between;font-size:12px;color:#8a7f6e;margin-bottom:6px}
.pb{height:8px;border-radius:9px;background:#e6ddcd;overflow:hidden}.pb i{display:block;height:100%;background:#e0561b;border-radius:9px;animation:pg 8s infinite both}
@keyframes pg{0%,8%{width:40%}60%,100%{width:73%}}
.pc{animation:pc 8s infinite both}@keyframes pc{0%,8%{--n:40}60%,100%{--n:73}}
.col{position:absolute;top:100px;width:350px;height:560px;background:#efe8da;border-radius:20px;padding:16px}
.col h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#7b705f;margin-bottom:14px;display:flex;justify-content:space-between}
.c1{left:48px}.c2{left:430px}.c3{left:812px}
.card{position:absolute;width:318px;height:96px;background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 1px 0 #e0d6c4,0 8px 18px -12px #0003}
.card b{font-size:15px;display:block;margin-bottom:6px}.card span{font-size:12px;padding:3px 9px;border-radius:99px;background:#ffe3d6;color:#b43e0b;margin-right:6px}.card span.g{background:#dff3e6;color:#17713a}.card span.b{background:#e0e8ff;color:#2a4dc4}
.card u{position:absolute;right:14px;bottom:12px;width:24px;height:24px;border-radius:50%;background:#e0561b}
.p1{left:64px;top:156px}.p2{left:64px;top:266px}.p3{left:64px;top:376px}
.q1{left:446px;top:156px}.q2{left:446px;top:266px}
.r1{left:828px;top:156px}.r2{left:828px;top:266px}
.a{animation:a 8s infinite both;z-index:5}
@keyframes a{0%,16%{transform:translate(0,0);box-shadow:0 1px 0 #e0d6c4,0 8px 18px -12px #0003}22%{transform:translate(0,-6px) rotate(-2.5deg) scale(1.04);box-shadow:0 24px 40px -14px #0006}42%{transform:translate(382px,0) rotate(2deg) scale(1.04)}48%,100%{transform:translate(382px,110px) rotate(0) scale(1);box-shadow:0 1px 0 #e0d6c4,0 8px 18px -12px #0003}}
.b{animation:b 8s infinite both;z-index:4}
@keyframes b{0%,50%{transform:translate(0,0)}56%{transform:translate(0,-6px) rotate(2deg) scale(1.04);box-shadow:0 24px 40px -14px #0006}76%{transform:translate(382px,-110px) rotate(-1.5deg) scale(1.04)}82%,100%{transform:translate(382px,-110px) rotate(0) scale(1)}}
.tick{position:absolute;right:16px;top:14px;width:24px;height:24px;border-radius:50%;background:#17a34a;color:#fff;font-size:14px;text-align:center;line-height:24px;opacity:0;animation:tk 8s infinite both}
@keyframes tk{0%,80%{opacity:0;transform:scale(.3)}86%,100%{opacity:1;transform:scale(1)}}
.cur{position:absolute;left:0;top:0;width:26px;z-index:9;animation:cur 8s infinite both;filter:drop-shadow(0 3px 4px #0005)}
@keyframes cur{0%{transform:translate(240px,520px)}12%{transform:translate(300px,206px)}22%{transform:translate(300px,200px)}42%{transform:translate(690px,200px)}48%{transform:translate(690px,200px)}56%{transform:translate(690px,316px)}76%{transform:translate(1072px,206px)}84%,100%{transform:translate(1130px,330px)}}
</style></head><body><div class="stage">
<div class="hd"><h1>Launch week board</h1><span>12 tasks · 4 teammates</span><div class="prog"><small><span>Sprint progress</span><b><span class="cnt pc"></span>%</b></small><div class="pb"><i></i></div></div></div>
<div class="col c1"><h3>To do <span>3</span></h3></div><div class="col c2"><h3>In progress <span>2</span></h3></div><div class="col c3"><h3>Done <span>2</span></h3></div>
<div class="card p2"><b>Write release notes</b><span>Content</span><u style="background:#2a4dc4"></u></div>
<div class="card p3"><b>QA signup flow</b><span class="b">QA</span><u style="background:#17a34a"></u></div>
<div class="card q1"><b>Design pricing page</b><span>Design</span><span class="b">Urgent</span><u></u></div>
<div class="card a p1"><b>Connect payment webhook</b><span class="b">Backend</span><u style="background:#7c3aed"></u></div>
<div class="card b q2"><b>Set up analytics events</b><span class="g">Growth</span><u style="background:#2a4dc4"></u><i class="tick">✓</i></div>
<div class="card r1"><b>Brand colour tokens</b><span class="g">Design</span><u></u></div>
<div class="card r2" style="top:156px;left:828px;display:none"></div>
<svg class="cur" viewBox="0 0 24 24"><path d="M3 2l7 19 2.6-7.6L20 11z" fill="#1e1a14" stroke="#fff" stroke-width="1.6" stroke-linejoin="round"/></svg></div><script>window.start=function(){document.body.classList.add("go")};if(!/[?&]rec/.test(location.search))start();</script></body></html>
Source, 52 lines
# index.html

The finished result as one file. Save it as index.html and open it.

```html
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Kanban board dashboard</title><style>*{box-sizing:border-box;margin:0;padding:0}
html,body{width:1280px;height:720px;overflow:hidden}
body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
@property --n{syntax:'<integer>';inherits:false;initial-value:0}
.stage{position:absolute;inset:0;animation:cyc 8s linear infinite both}
@keyframes cyc{0%{opacity:0}4%{opacity:1}94%{opacity:1}100%{opacity:0}}
body:not(.go) *,body:not(.go) *::before,body:not(.go) *::after{animation-play-state:paused!important}
.cnt::after{content:counter(n)}.cnt{counter-reset:n var(--n)}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}


body{background:#f7f3ec;color:#1e1a14}
.hd{position:absolute;left:48px;top:30px;right:48px;display:flex;align-items:center;gap:16px}
.hd h1{font-size:26px;letter-spacing:-.03em}.hd span{color:#8a7f6e;font-size:14px}
.prog{margin-left:auto;width:300px}.prog small{display:flex;justify-content:space-between;font-size:12px;color:#8a7f6e;margin-bottom:6px}
.pb{height:8px;border-radius:9px;background:#e6ddcd;overflow:hidden}.pb i{display:block;height:100%;background:#e0561b;border-radius:9px;animation:pg 8s infinite both}
@keyframes pg{0%,8%{width:40%}60%,100%{width:73%}}
.pc{animation:pc 8s infinite both}@keyframes pc{0%,8%{--n:40}60%,100%{--n:73}}
.col{position:absolute;top:100px;width:350px;height:560px;background:#efe8da;border-radius:20px;padding:16px}
.col h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#7b705f;margin-bottom:14px;display:flex;justify-content:space-between}
.c1{left:48px}.c2{left:430px}.c3{left:812px}
.card{position:absolute;width:318px;height:96px;background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 1px 0 #e0d6c4,0 8px 18px -12px #0003}
.card b{font-size:15px;display:block;margin-bottom:6px}.card span{font-size:12px;padding:3px 9px;border-radius:99px;background:#ffe3d6;color:#b43e0b;margin-right:6px}.card span.g{background:#dff3e6;color:#17713a}.card span.b{background:#e0e8ff;color:#2a4dc4}
.card u{position:absolute;right:14px;bottom:12px;width:24px;height:24px;border-radius:50%;background:#e0561b}
.p1{left:64px;top:156px}.p2{left:64px;top:266px}.p3{left:64px;top:376px}
.q1{left:446px;top:156px}.q2{left:446px;top:266px}
.r1{left:828px;top:156px}.r2{left:828px;top:266px}
.a{animation:a 8s infinite both;z-index:5}
@keyframes a{0%,16%{transform:translate(0,0);box-shadow:0 1px 0 #e0d6c4,0 8px 18px -12px #0003}22%{transform:translate(0,-6px) rotate(-2.5deg) scale(1.04);box-shadow:0 24px 40px -14px #0006}42%{transform:translate(382px,0) rotate(2deg) scale(1.04)}48%,100%{transform:translate(382px,110px) rotate(0) scale(1);box-shadow:0 1px 0 #e0d6c4,0 8px 18px -12px #0003}}
.b{animation:b 8s infinite both;z-index:4}
@keyframes b{0%,50%{transform:translate(0,0)}56%{transform:translate(0,-6px) rotate(2deg) scale(1.04);box-shadow:0 24px 40px -14px #0006}76%{transform:translate(382px,-110px) rotate(-1.5deg) scale(1.04)}82%,100%{transform:translate(382px,-110px) rotate(0) scale(1)}}
.tick{position:absolute;right:16px;top:14px;width:24px;height:24px;border-radius:50%;background:#17a34a;color:#fff;font-size:14px;text-align:center;line-height:24px;opacity:0;animation:tk 8s infinite both}
@keyframes tk{0%,80%{opacity:0;transform:scale(.3)}86%,100%{opacity:1;transform:scale(1)}}
.cur{position:absolute;left:0;top:0;width:26px;z-index:9;animation:cur 8s infinite both;filter:drop-shadow(0 3px 4px #0005)}
@keyframes cur{0%{transform:translate(240px,520px)}12%{transform:translate(300px,206px)}22%{transform:translate(300px,200px)}42%{transform:translate(690px,200px)}48%{transform:translate(690px,200px)}56%{transform:translate(690px,316px)}76%{transform:translate(1072px,206px)}84%,100%{transform:translate(1130px,330px)}}
</style></head><body><div class="stage">
<div class="hd"><h1>Launch week board</h1><span>12 tasks · 4 teammates</span><div class="prog"><small><span>Sprint progress</span><b><span class="cnt pc"></span>%</b></small><div class="pb"><i></i></div></div></div>
<div class="col c1"><h3>To do <span>3</span></h3></div><div class="col c2"><h3>In progress <span>2</span></h3></div><div class="col c3"><h3>Done <span>2</span></h3></div>
<div class="card p2"><b>Write release notes</b><span>Content</span><u style="background:#2a4dc4"></u></div>
<div class="card p3"><b>QA signup flow</b><span class="b">QA</span><u style="background:#17a34a"></u></div>
<div class="card q1"><b>Design pricing page</b><span>Design</span><span class="b">Urgent</span><u></u></div>
<div class="card a p1"><b>Connect payment webhook</b><span class="b">Backend</span><u style="background:#7c3aed"></u></div>
<div class="card b q2"><b>Set up analytics events</b><span class="g">Growth</span><u style="background:#2a4dc4"></u><i class="tick">✓</i></div>
<div class="card r1"><b>Brand colour tokens</b><span class="g">Design</span><u></u></div>
<div class="card r2" style="top:156px;left:828px;display:none"></div>
<svg class="cur" viewBox="0 0 24 24"><path d="M3 2l7 19 2.6-7.6L20 11z" fill="#1e1a14" stroke="#fff" stroke-width="1.6" stroke-linejoin="round"/></svg></div><script>window.start=function(){document.body.classList.add("go")};if(!/[?&]rec/.test(location.search))start();</script></body></html>
```

Your AI tool
Starter prompt

		

Download the plan