section-014

Isometric Project Wall

Included in the VaultGet the Vault

An architectural photography portfolio section with a drifting isometric image wall, a stable six-project index, readable project summaries and a square-on image viewer.

intermediate
6 more details
isometricinfinite-loopquickSetterkeyboard-navigationresponsive-sectionreduced-motion
Isometric Project Wall - website section preview

This section reads better at your own screen size than in the frame below:

About this section

Isometric Project Wall is a complete portfolio section for photographers, architecture practices and visual studios. A diagonal collection of photographic prints establishes the breadth of the work, while a flat project index keeps six choices easy to read and select. The selected project's title, short description and view action stay together outside the moving wall.

Read the full section overview

The worked example is OBLIQUE, a fictional architectural photography practice. Six licensed stock photographs illustrate studies of building forms; the project names and copy are sample portfolio content, not claims of real commissions. Cool paper, dark typography and a cobalt accent give the composition a clear identity without external fonts.

GSAP core adds alternating, continuously wrapped image lanes with an explicit pause control. A native dialog presents the selected photograph and notes without perspective distortion. Without JavaScript or GSAP, the section remains a complete six-project article grid. Reduced motion keeps the portfolio stationary and the controls available.

What's included

10 items
  • Complete portfolio composition with an introduction, six photographic projects, concise summaries and fuller project notes
  • Isometric image wall with alternating lanes, seamless wrapping and coverage beyond all four edges
  • Stable project index for precise selection without chasing moving images
  • Square-on project viewer using a native dialog
  • Continuous drift through hover, an explicit pause control and automatic suspension while offscreen
  • Stationary reduced-motion presentation with operable project controls
  • Complete semantic article grid when JavaScript or GSAP is unavailable
  • Container-aware layouts with a generous 1920px desktop maximum, mobile and narrow-host compositions
  • Root-scoped brand variables, independent instances and instance teardown
  • Six local WebP photographs with no remote image or font dependency

Perfect for

5 use cases
  • Architectural photography portfolios
  • Architecture and interior design project selections
  • Creative studio work indexes
  • Furniture and object photography collections
  • Visual identity and art direction showcases

How it works

3 sections

The photographic wall drifts in alternating directions while the project index stays still. Visitors can keep browsing the images on hover, select a project from either the wall or the index, and open its photograph and notes in a square-on viewer. The wall fills its frame as the section adapts to desktop, phone or a narrow host column.

Selecting a project pauses the drift so its story can be read without distraction. The pause/play control lets visitors resume or stop it themselves. Keyboard focus and the image viewer suspend motion, and the section stops animation work when offscreen. Reduced motion provides a stationary wall with the same project choices.

The download includes editable HTML, CSS, JavaScript and six local photographs. Replace the sample imagery, project copy and section colours for your own portfolio. Multiple sections can operate independently, and without JavaScript every project remains available in a normal article grid.

Difficulty Intermediate
Includes HTML + JS + CSS source, documentation, AI setup prompt, lifetime updates

Lighthouse, as measured

Google Lighthouse on this website section's demo, 15 September 2026. A measurement of the demo as shipped, not a promise for your page.

Accessibility
100
Best practices
100

No performance score, on purpose. That figure depends on how you deploy: your server's compression and caching, your CDN, the connection and the device doing the test, none of which the code controls. The same page can score very differently on two consecutive runs, so measure it where it will live.

Included in the Vault

Get the Vault to use this section.

The Vault includes Isometric Project Wall, the HTML, CSS and JavaScript source, the full documentation, an AI setup prompt for your editor, and every update we ship to it. Standard license: unlimited personal and commercial projects. Sections are available only in the Vault for now while the collection is small.

Documentation

Quick Start

Keep index.html and its assets/ directory together and serve them from your website. No build step is required. To add the section to an existing page, include:

Code snippet omitted: it ships with the download.

Copy the complete [data-project-wall] section from index.html, including its project articles and dialog. The extract comments mark its boundary. Adjust asset paths to suit the host page. The surrounding document and preview body styling are demonstration context; the section does not need that page shell.

GSAP core enables the wall and project controls. If JavaScript or GSAP is unavailable, every project remains readable as a complete article in a static grid.

Make it yours

Replace the introduction and the six [data-wall-detail] project articles in index.html. Each article supplies [data-wall-image], [data-wall-title], [data-wall-summary] and [data-wall-expanded] for its photograph, name, short summary and fuller notes. Use meaningful alternative text and update image dimensions when needed. Keep each article's identifier matched to its [data-wall-select] index button and [data-wall-project] wall photographs. Replace the wall photographs as well as the article image when changing a project. The built-in [data-wall-open] action opens the local image viewer; it does not require a case-study route or backend.

The photographs are deliberately different subjects. Replace the fictional copy with your own verified project descriptions before presenting the portfolio as your work. For a furniture collection, for example, replace each architectural study with an object photograph, use the project summary for materials and dimensions, and use the fuller notes for its design story.

The brand controls are collected on .ipw at the top of assets/style.css: --wall-paper, --wall-ink, --wall-muted, --wall-rule, --wall-accent, --wall-white, --wall-font, --wall-width and --wall-gutter. Add a class to your section root to give one instance a different identity:

Code snippet omitted: it ships with the download.

Supply your own font files if changing the system font. The default --wall-width is 120rem (1920px at the default font size), allowing a wider composition on large screens. --wall-height, --wall-card-w, --wall-card-h, --wall-gap, --wall-tilt and --wall-spin control the wall's proportions. The script measures the projected viewport and repeats lanes and photographs beyond all four edges, so the wall remains filled as it drifts or resizes. Keep --wall-span under script control: it is measured for seamless wrapping. Preserve the scoped classes and data attributes used by the script. The tilted wall is decorative presentation; readable project titles and controls remain on the flat page.

Inspect replacement photos in both the cropped wall and the square-on viewer. The article photographs use a 4:3 crop; the wall's image crop follows its card dimensions, while the viewer contains the whole image. Keep important subjects away from crop edges. Replacing imagery and text does not require editing animation internals.

Behaviour and options

Attribute Default Purpose
data-drift 14 Decorative lane speed in pixels per second. Set 0 for a stationary wall.
data-paused false Set true to start with motion paused until the visitor resumes it.

The project index selects a project without opening the viewer. Clicking or tapping a wall photograph offers the same selection. Arrow keys, Home and End move focus between index buttons; Enter or Space selects the focused project. Set aria-pressed="true" on one index button to choose the initial project. Selection never advances automatically.

“View project” opens the selected photograph and notes in a native dialog. Close it with its close button, Escape or the backdrop. The native dialog requires browser support for HTMLDialogElement.showModal().

The compact circular pause/play icon controls the decorative drift, with an accessible label and a 44px touch target. Hovering over the wall leaves it moving. Selecting a project pauses motion until the play icon is pressed. Focusing within the section or opening the dialog temporarily suspends drift; hidden tabs and offscreen sections suspend animation work too. Reduced motion keeps the wall stationary and disables the pause button with an accessible reduced-motion description. The script does not install Lenis, use ScrollTrigger, pin the section or intercept wheel input.

Mount content added after page load with:

Code snippet omitted: it ships with the download.

Before removing a section or replacing its markup, destroy that instance:

Code snippet omitted: it ships with the download.

Teardown removes only that root's listeners, observers, generated content and GSAP work, and restores the complete article grid. The mount helper can initialise the same root again. Calling it on an already-mounted root does not stack the behaviour.

Accessibility and integration

  • The native project index buttons provide stable keyboard and touch targets, with visible focus, current-selection state and a polite selection announcement. The entire tilted wall is excluded from keyboard navigation and assistive technology; its pointer interaction duplicates the accessible index.
  • The native dialog contains the project details, supports Escape and returns focus to its opener when closed.
  • prefers-reduced-motion: reduce retains project selection and the viewer while stopping decorative motion. The setting can change while the section is mounted.
  • No JavaScript or a blocked GSAP request leaves all six complete project articles visible.
  • The section uses an h2 introduction and h3 project headings. Adjust those levels to fit the host document outline; classes supply the styling.
  • The container-aware layout adapts to a narrow host column. No sticky ancestor, full-width breakout or smooth-scroll library is required. Native page scrolling remains owned by the host.
  • Multiple roots operate independently. Mount and destroy the relevant root as part of your own application's page lifecycle.

Dependencies and image credits

GSAP core 3.12+ is the only animation dependency; the demo uses GSAP 3.15.0. No GSAP plugins or external font files are required. The downloaded assets/img/ directory contains six local 1200 × 900 WebP derivatives, so the photographs need no runtime image service.

Local file Source
white-villa.webp Unsplash photograph
orange-curve.webp Unsplash photograph
glass-angles.webp Unsplash photograph
brutalist-block.webp Pexels photograph
white-spiral.webp Unsplash photograph
scaled-curve.webp Unsplash photograph

The five Unsplash images use the Unsplash License: commercial use and modification are permitted; selling images without significant modification or compiling a competing image service is not. The Pexels image uses the Pexels License, which permits use and modification in websites and templates. It does not permit selling unaltered copies, implying endorsement, redistributing images on stock or wallpaper platforms, or using them as a trademark. Image rights remain governed by their respective providers.

The source repository records baking settings in assets/img-manifest.json; that build-only manifest is excluded from the buyer download. Replace the delivered WebP files directly with your own appropriately licensed images when integrating the section elsewhere.

Worked examples, the events and programmatic API, and the class reference ship with the download, alongside the full source.

Your cart

Your cart is empty

The Vault £99

The Vault library, plus future additions to the library.