Skip to The Blocks
Sly Art DesignsThe website collectionStart something
Menu

The Blocks · Complete, paste-ready website projects

Copy.
Drop.
Create.

Ready-to-use HTML, CSS, and JavaScript components and small projects for designers and developers who need working creation—not a screenshot and a prayer.

Inspired by everything.
Cloned from nothing.
Browse the working Blocks

The Blocks standard

Pretty is not
proof.

Every published project must solve one useful problem, remain self-contained, responsive, accessible, scoped to reduce collisions, honest about its requirements, and tested before it earns a Copy button.

  • Complete focused project
  • No hidden dependencies
  • Keyboard and mobile considered
  • Reduced-motion support where needed

From inspiration to original work

See it. Understand it.
Make our own.

  1. 01

    Study

    A video, pattern, specification, or problem gives us a useful direction.

  2. 02

    Translate

    We identify the underlying idea—not somebody else’s brand, artwork, or exact execution.

  3. 03

    Build

    We create an original site or self-contained code block and test the behavior.

  4. 04

    Catalog

    One canonical project enters every relevant home by type, style, language, and purpose.

08 complete, tested Blocks showing · 08 in the collection

Block 001Tested · dependency-free
Ready when you areMake the idea
real.
Start ↗

Conversion

Spotlight CTA

A polished call-to-action panel with an atmospheric glow, strong hierarchy, and a responsive button.

  • HTML
  • CSS
Best used for: Drop it near the end of a landing page when one decisive next step matters.
Open the code
<section class="sly-spotlight">
  <p class="sly-spotlight__eyebrow">Ready when you are</p>
  <h2>Turn the idea into something people can enter.</h2>
  <a href="#contact">Start the project <span aria-hidden="true">↗</span></a>
</section>

<style>
  .sly-spotlight {
    --ink: #f7f1e8;
    --accent: #ff7357;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(2rem, 7vw, 6rem);
    border-radius: 1.5rem;
    color: var(--ink);
    background: #11110f;
  }
  .sly-spotlight::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 24rem;
    aspect-ratio: 1;
    right: -7rem;
    top: -10rem;
    border-radius: 50%;
    background: var(--accent);
    filter: blur(75px);
    opacity: .55;
  }
  .sly-spotlight__eyebrow {
    margin: 0 0 1rem;
    font: 700 .75rem/1 system-ui, sans-serif;
    letter-spacing: .15em;
    text-transform: uppercase;
  }
  .sly-spotlight h2 {
    max-width: 13ch;
    margin: 0 0 2.5rem;
    font: 500 clamp(2.3rem, 6vw, 5.5rem)/.92 Georgia, serif;
    letter-spacing: -.055em;
  }
  .sly-spotlight a {
    display: inline-flex;
    gap: 2rem;
    align-items: center;
    padding: 1rem 1.25rem;
    border-radius: 999px;
    color: #151310;
    background: var(--ink);
    font: 800 .78rem/1 system-ui, sans-serif;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .08em;
  }
  .sly-spotlight a:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
</style>
Block 002Tested · dependency-free
Before we begin.Can I change the colors?

Yes. Make the block yours.

Does it need JavaScript? +

Content

Native FAQ Stack

An accessible question-and-answer section using the browser’s native disclosure behavior—no JavaScript required.

  • HTML
  • CSS
Best used for: Use it for services, policies, product details, or the questions blocking a purchase.
Open the code
<section class="sly-faq" aria-labelledby="sly-faq-title">
  <p class="sly-faq__eyebrow">Good questions</p>
  <h2 id="sly-faq-title">Before we begin.</h2>

  <details open>
    <summary>Can I change the colors?</summary>
    <p>Yes. Update the custom properties at the top of the style block.</p>
  </details>
  <details>
    <summary>Does this need JavaScript?</summary>
    <p>No. The disclosure behavior is built into modern browsers.</p>
  </details>
  <details>
    <summary>Is it keyboard accessible?</summary>
    <p>Yes. The native summary control supports keyboard interaction.</p>
  </details>
</section>

<style>
  .sly-faq {
    --ink: #171715;
    --line: #c9c3b8;
    --accent: #f06042;
    max-width: 52rem;
    margin-inline: auto;
    color: var(--ink);
    font-family: system-ui, sans-serif;
  }
  .sly-faq__eyebrow {
    margin: 0 0 .75rem;
    color: var(--accent);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
  }
  .sly-faq h2 {
    margin: 0 0 2rem;
    font: 500 clamp(2.5rem, 7vw, 5rem)/.95 Georgia, serif;
    letter-spacing: -.05em;
  }
  .sly-faq details { border-top: 1px solid var(--line); }
  .sly-faq details:last-child { border-bottom: 1px solid var(--line); }
  .sly-faq summary {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    padding: 1.5rem 0;
    cursor: pointer;
    font-weight: 750;
  }
  .sly-faq summary::after { content: "+"; color: var(--accent); font-size: 1.4rem; }
  .sly-faq details[open] summary::after { content: "−"; }
  .sly-faq summary::-webkit-details-marker { display: none; }
  .sly-faq details p { max-width: 62ch; margin: 0; padding: 0 0 1.5rem; line-height: 1.7; }
  .sly-faq summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
</style>
Block 003Tested · dependency-free
Long page
↑ Top

Utility

Back to Top

A compact floating return control that appears only after the visitor has traveled down the page.

  • HTML
  • CSS
  • JavaScript
Best used for: Add it to long pages, catalogs, portfolios, and articles where returning should take one click.
Open the code
<button class="sly-to-top" type="button" aria-label="Back to top">
  <span aria-hidden="true">↑</span> Top
</button>

<style>
  .sly-to-top {
    position: fixed;
    z-index: 50;
    right: 1.25rem;
    bottom: 1.25rem;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .85rem 1rem;
    border: 0;
    border-radius: 999px;
    color: white;
    background: #171715;
    box-shadow: 0 .7rem 2rem rgb(0 0 0 / .2);
    cursor: pointer;
    font: 800 .72rem/1 system-ui, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(.75rem);
    pointer-events: none;
    transition: opacity .2s, transform .2s;
  }
  .sly-to-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
  .sly-to-top:focus-visible { outline: 3px solid #ff7357; outline-offset: 4px; }
  @media (prefers-reduced-motion: reduce) { .sly-to-top { transition: none; } }
</style>

<script>
  (() => {
    const button = document.querySelector('.sly-to-top');
    if (!button) return;
    const sync = () => button.classList.toggle('is-visible', window.scrollY > 600);
    window.addEventListener('scroll', sync, { passive: true });
    button.addEventListener('click', () => window.scrollTo({
      top: 0,
      behavior: matchMedia('(prefers-reduced-motion: reduce)').matches ? 'auto' : 'smooth'
    }));
    sync();
  })();
</script>
Block 004Tested · dependency-free
Starter$49Most useful$99Expanded$179

Conversion

Responsive Pricing Trio

Three clear offers that collapse naturally on smaller screens while keeping the recommended choice prominent.

  • HTML
  • CSS
Best used for: Use it when customers should compare three understandable packages without opening another page.
Open the code
<section class="sly-pricing" aria-labelledby="sly-pricing-title">
  <header>
    <p>Simple choices</p>
    <h2 id="sly-pricing-title">Choose your starting point.</h2>
  </header>
  <div class="sly-pricing__grid">
    <article><span>Starter</span><h3>$49</h3><p>One focused foundation.</p><a href="#choose-starter">Choose Starter</a></article>
    <article class="is-featured"><span>Most useful</span><h3>$99</h3><p>The complete working set.</p><a href="#choose-complete">Choose Complete</a></article>
    <article><span>Expanded</span><h3>$179</h3><p>More range and support.</p><a href="#choose-expanded">Choose Expanded</a></article>
  </div>
</section>

<style>
  .sly-pricing { --ink:#171715; --paper:#f5f0e7; --accent:#ff7357; color:var(--ink); font-family:system-ui,sans-serif; }
  .sly-pricing>header { max-width:48rem; margin-bottom:2rem; }
  .sly-pricing>header p { color:var(--accent); font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
  .sly-pricing h2 { margin:.6rem 0 0; font:500 clamp(2.5rem,6vw,5rem)/.95 Georgia,serif; letter-spacing:-.05em; }
  .sly-pricing__grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #c9c3b8; border-left:1px solid #c9c3b8; }
  .sly-pricing article { min-height:24rem; padding:1.5rem; display:flex; flex-direction:column; border-right:1px solid #c9c3b8; border-bottom:1px solid #c9c3b8; background:var(--paper); }
  .sly-pricing article.is-featured { color:white; background:var(--ink); }
  .sly-pricing article>span { color:var(--accent); font-size:.7rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
  .sly-pricing h3 { margin:4rem 0 1rem; font:500 3.5rem/1 Georgia,serif; }
  .sly-pricing article p { line-height:1.6; }
  .sly-pricing article a { margin-top:auto; padding-top:1rem; border-top:1px solid currentColor; color:inherit; font-size:.75rem; font-weight:800; text-decoration:none; text-transform:uppercase; }
  .sly-pricing a:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
  @media (max-width:720px) { .sly-pricing__grid { grid-template-columns:1fr; } .sly-pricing article { min-height:19rem; } }
</style>
Block 005Tested · dependency-free
01Listen02Shape03Build

Motion

Gentle Scroll Reveal

A restrained entrance effect with staggered timing and an automatic no-motion path for visitors who prefer it.

  • CSS
  • JavaScript
Best used for: Use it to introduce a short sequence of important cards without making the page feel restless.
Open the code
<div class="sly-reveal-list">
  <article class="sly-reveal"><span>01</span><h3>Listen</h3><p>Understand the real need.</p></article>
  <article class="sly-reveal"><span>02</span><h3>Shape</h3><p>Give the idea a clear form.</p></article>
  <article class="sly-reveal"><span>03</span><h3>Build</h3><p>Make the direction work.</p></article>
</div>

<style>
  .sly-reveal-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; font-family:system-ui,sans-serif; }
  .sly-reveal { min-height:15rem; padding:1.5rem; color:white; background:#171715; opacity:0; transform:translateY(1.5rem); transition:opacity .6s ease,transform .6s ease; }
  .sly-reveal:nth-child(2) { transition-delay:.1s; }
  .sly-reveal:nth-child(3) { transition-delay:.2s; }
  .sly-reveal.is-visible { opacity:1; transform:none; }
  .sly-reveal span { color:#ff7357; font-size:.72rem; font-weight:800; }
  .sly-reveal h3 { margin:4rem 0 .75rem; font:500 2.5rem/1 Georgia,serif; }
  .sly-reveal p { color:#cbc7bf; line-height:1.6; }
  @media (max-width:720px) { .sly-reveal-list { grid-template-columns:1fr; } }
  @media (prefers-reduced-motion:reduce) { .sly-reveal { opacity:1; transform:none; transition:none; } }
</style>

<script>
  (() => {
    const items = document.querySelectorAll('.sly-reveal');
    if (matchMedia('(prefers-reduced-motion: reduce)').matches) return;
    const observer = new IntersectionObserver((entries) => {
      entries.forEach((entry) => {
        if (!entry.isIntersecting) return;
        entry.target.classList.add('is-visible');
        observer.unobserve(entry.target);
      });
    }, { threshold: .2 });
    items.forEach((item) => observer.observe(item));
  })();
</script>
Block 006Tested · dependency-free
NorthlineWork   About   Contact
Native navigation.
Zero dependencies.

Navigation

Disclosure Navigation

A compact navigation bar whose mobile menu works with native HTML before a single line of JavaScript loads.

  • HTML
  • CSS
Best used for: Use it for small business sites and landing pages that need reliable navigation on every screen.
Open the code
<nav class="sly-nav" aria-label="Main navigation">
  <a class="sly-nav__brand" href="#">Northline</a>
  <div class="sly-nav__desktop"><a href="#work">Work</a><a href="#about">About</a><a href="#contact">Contact</a></div>
  <details class="sly-nav__mobile">
    <summary>Menu</summary>
    <div><a href="#work">Work</a><a href="#about">About</a><a href="#contact">Contact</a></div>
  </details>
</nav>

<style>
  .sly-nav { position:relative; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1rem 1.25rem; border-bottom:1px solid #d3cec4; color:#171715; background:#f7f2e9; font-family:system-ui,sans-serif; }
  .sly-nav a { color:inherit; text-decoration:none; }
  .sly-nav__brand { font-weight:900; letter-spacing:-.04em; }
  .sly-nav__desktop { display:flex; gap:2rem; font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
  .sly-nav__mobile { display:none; }
  .sly-nav a:focus-visible,.sly-nav summary:focus-visible { outline:3px solid #ff7357; outline-offset:4px; }
  @media (max-width:650px) {
    .sly-nav__desktop { display:none; }
    .sly-nav__mobile { display:block; }
    .sly-nav__mobile summary { cursor:pointer; font-size:.75rem; font-weight:850; text-transform:uppercase; }
    .sly-nav__mobile div { position:absolute; z-index:10; top:100%; left:0; right:0; display:grid; padding:1rem 1.25rem; background:#171715; color:white; }
    .sly-nav__mobile div a { padding:1rem 0; border-bottom:1px solid #44433f; }
  }
</style>
Block 007Complete · live
NOAMake the
unseen felt.
Complete site · 007

Complete Sites

NOA VALE Animated Portfolio

A complete, cinematic fashion-photography gallery with eight original editorial studies, kinetic layout, accessible lightbox interaction, and no framework or runtime dependency.

  • HTML
  • CSS
  • JavaScript
  • No Framework
  • Responsive
  • Reduced Motion
Best used for: Use it as a complete starting point for an art director, filmmaker, photographer, designer, or image-led independent studio.
Enter the live project Download complete source
Open the code
NOA VALE is a complete multi-file project.

Download the source package to receive:
- index.html
- styles.css
- script.js
- eight optimized original gallery images
- README.md
- PROVENANCE.md

No build step, package installation, external image, or runtime dependency is required.
View credited inspiration
Block 008Tested · dependency-free
Three ways forwardA clearer signal.
01Strategy02Design03Delivery

Motion

Orbit Signal Cards

Three expressive service cards with a CSS-only orbital signal and a native disclosure that works by mouse, touch, and keyboard.

  • HTML
  • CSS
  • No JavaScript
  • No Dependencies
  • Responsive
  • Reduced Motion
Best used for: Use it to turn a short list of services, benefits, capabilities, or process steps into a compact section with purposeful motion.
Open the code
<section class="sly-orbit" aria-labelledby="sly-orbit-title">
  <header class="sly-orbit__heading">
    <p>Three ways forward</p>
    <h2 id="sly-orbit-title">Give the work a clearer signal.</h2>
  </header>

  <div class="sly-orbit__grid">
    <article class="sly-orbit__card" style="--accent:#ff5f3d">
      <div class="sly-orbit__mark" aria-hidden="true"><span>01</span><i></i><i></i></div>
      <p class="sly-orbit__kicker">Strategy</p>
      <h3>Find the sharp idea.</h3>
      <p>Clarify the audience, the promise, and the one action the page must earn.</p>
      <details>
        <summary>What this includes <b aria-hidden="true">+</b></summary>
        <p>Positioning, priorities, content hierarchy, and a practical path from first glance to next step.</p>
      </details>
    </article>

    <article class="sly-orbit__card" style="--accent:#5a7dff">
      <div class="sly-orbit__mark" aria-hidden="true"><span>02</span><i></i><i></i></div>
      <p class="sly-orbit__kicker">Design</p>
      <h3>Build a visual system.</h3>
      <p>Give type, color, spacing, and movement one recognizable point of view.</p>
      <details>
        <summary>What this includes <b aria-hidden="true">+</b></summary>
        <p>A responsive composition, reusable design tokens, visible focus, and motion that never blocks the message.</p>
      </details>
    </article>

    <article class="sly-orbit__card" style="--accent:#d8ff58">
      <div class="sly-orbit__mark" aria-hidden="true"><span>03</span><i></i><i></i></div>
      <p class="sly-orbit__kicker">Delivery</p>
      <h3>Make it hold up.</h3>
      <p>Test the experience where real visitors will read, tap, scroll, and decide.</p>
      <details>
        <summary>What this includes <b aria-hidden="true">+</b></summary>
        <p>Mobile behavior, accessibility, performance, metadata, and a clean handoff with no hidden dependency.</p>
      </details>
    </article>
  </div>
</section>

<style>
  .sly-orbit { --ink:#151513; --paper:#f3efe5; box-sizing:border-box; max-width:76rem; margin-inline:auto; padding:clamp(2rem,6vw,5rem); color:var(--ink); background:var(--paper); font-family:Arial,Helvetica,sans-serif; }
  .sly-orbit *, .sly-orbit *::before, .sly-orbit *::after { box-sizing:border-box; }
  .sly-orbit__heading { display:grid; grid-template-columns:minmax(8rem,.5fr) 2fr; gap:1.5rem; align-items:end; margin-bottom:2rem; }
  .sly-orbit__heading p, .sly-orbit__kicker { margin:0; font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
  .sly-orbit__heading h2 { max-width:14ch; margin:0; font:800 clamp(2.5rem,7vw,6.5rem)/.86 Arial,sans-serif; letter-spacing:-.075em; }
  .sly-orbit__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--ink); border-left:1px solid var(--ink); }
  .sly-orbit__card { min-width:0; padding:clamp(1.35rem,3vw,2.5rem); border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); background:#fffdf7; }
  .sly-orbit__mark { position:relative; display:grid; place-items:center; width:5.75rem; aspect-ratio:1; margin-bottom:clamp(2rem,5vw,4.5rem); border:1px solid var(--ink); border-radius:50%; }
  .sly-orbit__mark span { font:800 1.15rem/1 Arial,sans-serif; }
  .sly-orbit__mark i { position:absolute; inset:-5px; border:1px solid transparent; border-radius:50%; animation:sly-orbit-spin 5s linear infinite; }
  .sly-orbit__mark i::before { content:""; position:absolute; top:-4px; left:50%; width:9px; aspect-ratio:1; border-radius:50%; background:var(--accent); transform:translateX(-50%); }
  .sly-orbit__mark i + i { inset:-12px; animation-duration:8s; animation-direction:reverse; }
  .sly-orbit__mark i + i::before { top:auto; bottom:-3px; width:6px; }
  .sly-orbit__card h3 { min-height:2.1em; margin:.7rem 0 1rem; font:700 clamp(1.6rem,3vw,2.6rem)/.95 Georgia,serif; letter-spacing:-.045em; }
  .sly-orbit__card > p:not(.sly-orbit__kicker) { min-height:4.7em; margin:0; font-size:1rem; line-height:1.55; }
  .sly-orbit__card details { margin-top:2rem; border-top:1px solid var(--ink); }
  .sly-orbit__card summary { display:flex; justify-content:space-between; gap:1rem; padding:1rem 0; cursor:pointer; font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; list-style:none; }
  .sly-orbit__card summary::-webkit-details-marker { display:none; }
  .sly-orbit__card summary b { color:var(--accent); font-size:1.3rem; transition:transform .25s ease; }
  .sly-orbit__card details[open] summary b { transform:rotate(45deg); }
  .sly-orbit__card details p { margin:0 0 1rem; font-size:.92rem; line-height:1.55; }
  .sly-orbit__card:where(:hover,:focus-within) .sly-orbit__mark i { animation-play-state:paused; }
  .sly-orbit__card summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
  @keyframes sly-orbit-spin { to { transform:rotate(1turn); } }
  @media (max-width:760px) { .sly-orbit__heading { grid-template-columns:1fr; } .sly-orbit__grid { grid-template-columns:1fr; } .sly-orbit__card h3, .sly-orbit__card > p:not(.sly-orbit__kicker) { min-height:0; } }
  @media (prefers-reduced-motion:reduce) { .sly-orbit__mark i { animation:none; } .sly-orbit__card summary b { transition:none; } }
</style>
View credited inspiration

One project · Many proper homes

Build once.
Find it everywhere.

A navigation block can live under HTML, accessibility, small sites, menus, and utilities without creating five copies. One source stays true while the catalog creates the pathways.

See the complete website library