Skip to content
OwnlyPlans

index.html.md

Complete code of the result in the video.

Part of Feedback and voting 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>Feedback and voting board</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:#fbf7f0;color:#241d12}
.w{position:absolute;left:150px;right:150px;top:30px}
h1{font-size:30px;letter-spacing:-.03em}.sub{color:#8a7b61;font-size:14px;margin:6px 0 22px}
.l{position:relative;height:540px}
.i{position:absolute;left:0;right:0;height:96px;background:#fff;border-radius:20px;box-shadow:0 14px 30px -22px #7a5a1d;display:flex;align-items:center;gap:22px;padding:0 26px;opacity:0;animation:in 8s infinite both}
@keyframes in{0%,4%{opacity:0;transform:translateY(12px)}12%,100%{opacity:1;transform:none}}
.i:nth-child(1){top:0;animation:in 8s infinite both,d1 8s infinite both}
.i:nth-child(2){top:114px;animation:in 8s .08s infinite both,up 8s infinite both}
.i:nth-child(3){top:228px;animation:in 8s .16s infinite both}
.i:nth-child(4){top:342px;animation:in 8s .24s infinite both}
.i:nth-child(5){top:456px;animation:in 8s .32s infinite both}
@keyframes up{0%,48%{top:114px}60%,100%{top:0}}
@keyframes d1{0%,48%{top:0}60%,100%{top:114px}}
.v{width:66px;height:64px;border-radius:16px;background:#f3ecde;display:grid;place-items:center;text-align:center;line-height:1.1;font-size:12px;color:#8a7b61}
.v b{display:block;font-size:22px;color:#241d12}
.v::before{content:"▲";display:block;font-size:11px;color:#c58a1d}
.t b{font-size:17px;display:block}.t span{font-size:13px;color:#8a7b61}
.tg{margin-left:auto;font-size:12px;font-weight:700;padding:5px 11px;border-radius:99px;background:#fdebc8;color:#8a5a00}.tg.g{background:#d9f3e4;color:#17794a}.tg.b{background:#dce8ff;color:#2457d6}
.v1{animation:vv1 8s infinite both}@keyframes vv1{0%,100%{--n:142}}
.v2{animation:vv2 8s infinite both}@keyframes vv2{0%,24%{--n:138}28%,36%{--n:139}40%,48%{--n:140}52%,100%{--n:145}}
.i:nth-child(2) .v{animation:hl 8s infinite both}@keyframes hl{0%,22%{background:#f3ecde}28%,70%{background:#fdebc8}}
.add{position:absolute;right:150px;top:36px;background:#241d12;color:#fff;border-radius:14px;padding:12px 20px;font-weight:700;font-size:14px}
.v b.cnt{counter-reset:n var(--n)}.v b.cnt::after{content:counter(n)}</style></head><body><div class="stage"><div class="w"><h1>Feedback board</h1><div class="sub">Vote for what we build next</div><div class="l"><div class="i"><div class="v"><b class="cnt v1" style=""></b>votes</div><div class="t"><b>Dark mode for the dashboard</b><span>Requested by 38 teams</span></div><div class="tg ">Planned</div></div><div class="i"><div class="v"><b class="cnt v2" style=""></b>votes</div><div class="t"><b>Export reports to CSV</b><span>Requested by 31 teams</span></div><div class="tg b">Open</div></div><div class="i"><div class="v"><b class="cnt " style="counter-reset:n 121"></b>votes</div><div class="t"><b>Slack notifications</b><span>Requested by 27 teams</span></div><div class="tg b">Open</div></div><div class="i"><div class="v"><b class="cnt " style="counter-reset:n 97"></b>votes</div><div class="t"><b>Two-factor sign in</b><span>Requested by 19 teams</span></div><div class="tg g">Shipped</div></div><div class="i"><div class="v"><b class="cnt " style="counter-reset:n 64"></b>votes</div><div class="t"><b>Custom domains</b><span>Requested by 12 teams</span></div><div class="tg b">Open</div></div></div></div><div class="add">+ New idea</div></div><script>window.start=function(){document.body.classList.add("go")};if(!/[?&]rec/.test(location.search))start();</script></body></html>
Source, 40 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>Feedback and voting board</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:#fbf7f0;color:#241d12}
.w{position:absolute;left:150px;right:150px;top:30px}
h1{font-size:30px;letter-spacing:-.03em}.sub{color:#8a7b61;font-size:14px;margin:6px 0 22px}
.l{position:relative;height:540px}
.i{position:absolute;left:0;right:0;height:96px;background:#fff;border-radius:20px;box-shadow:0 14px 30px -22px #7a5a1d;display:flex;align-items:center;gap:22px;padding:0 26px;opacity:0;animation:in 8s infinite both}
@keyframes in{0%,4%{opacity:0;transform:translateY(12px)}12%,100%{opacity:1;transform:none}}
.i:nth-child(1){top:0;animation:in 8s infinite both,d1 8s infinite both}
.i:nth-child(2){top:114px;animation:in 8s .08s infinite both,up 8s infinite both}
.i:nth-child(3){top:228px;animation:in 8s .16s infinite both}
.i:nth-child(4){top:342px;animation:in 8s .24s infinite both}
.i:nth-child(5){top:456px;animation:in 8s .32s infinite both}
@keyframes up{0%,48%{top:114px}60%,100%{top:0}}
@keyframes d1{0%,48%{top:0}60%,100%{top:114px}}
.v{width:66px;height:64px;border-radius:16px;background:#f3ecde;display:grid;place-items:center;text-align:center;line-height:1.1;font-size:12px;color:#8a7b61}
.v b{display:block;font-size:22px;color:#241d12}
.v::before{content:"▲";display:block;font-size:11px;color:#c58a1d}
.t b{font-size:17px;display:block}.t span{font-size:13px;color:#8a7b61}
.tg{margin-left:auto;font-size:12px;font-weight:700;padding:5px 11px;border-radius:99px;background:#fdebc8;color:#8a5a00}.tg.g{background:#d9f3e4;color:#17794a}.tg.b{background:#dce8ff;color:#2457d6}
.v1{animation:vv1 8s infinite both}@keyframes vv1{0%,100%{--n:142}}
.v2{animation:vv2 8s infinite both}@keyframes vv2{0%,24%{--n:138}28%,36%{--n:139}40%,48%{--n:140}52%,100%{--n:145}}
.i:nth-child(2) .v{animation:hl 8s infinite both}@keyframes hl{0%,22%{background:#f3ecde}28%,70%{background:#fdebc8}}
.add{position:absolute;right:150px;top:36px;background:#241d12;color:#fff;border-radius:14px;padding:12px 20px;font-weight:700;font-size:14px}
.v b.cnt{counter-reset:n var(--n)}.v b.cnt::after{content:counter(n)}</style></head><body><div class="stage"><div class="w"><h1>Feedback board</h1><div class="sub">Vote for what we build next</div><div class="l"><div class="i"><div class="v"><b class="cnt v1" style=""></b>votes</div><div class="t"><b>Dark mode for the dashboard</b><span>Requested by 38 teams</span></div><div class="tg ">Planned</div></div><div class="i"><div class="v"><b class="cnt v2" style=""></b>votes</div><div class="t"><b>Export reports to CSV</b><span>Requested by 31 teams</span></div><div class="tg b">Open</div></div><div class="i"><div class="v"><b class="cnt " style="counter-reset:n 121"></b>votes</div><div class="t"><b>Slack notifications</b><span>Requested by 27 teams</span></div><div class="tg b">Open</div></div><div class="i"><div class="v"><b class="cnt " style="counter-reset:n 97"></b>votes</div><div class="t"><b>Two-factor sign in</b><span>Requested by 19 teams</span></div><div class="tg g">Shipped</div></div><div class="i"><div class="v"><b class="cnt " style="counter-reset:n 64"></b>votes</div><div class="t"><b>Custom domains</b><span>Requested by 12 teams</span></div><div class="tg b">Open</div></div></div></div><div class="add">+ New idea</div></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