Layouts
Column Deck
A column deck: an intro and links on the left, a row of snap-scrolling columns on the right — a link drives the row to its column, the active link follows the scroll, a pill slides to it. Each column scrolls vertically on its own. For personal sites, portfolios and 'second brains'.
What you can change
- heading and lead — the title and subtitle above the layout; without them — a ghost
- items — slots in order: 01 the left intro (title — name), 02 column, 03 column, 04 column, 05 column, 06 column; title/text/value/media
- media — your own frame, video or a background from the Background category (surface-*) inside a slot, under the text
A link for your AI agent: preview, code and instructions.
Preview
Use it with AI
- 1. Copy the link.
- 2. Write to your agent in your own words and drop the link into the sentence.
- 3. The agent opens the link and installs the component from the registry.
put this on the home page as the hero:
https://vibeui.ru/c/layout-015?lang=en&theme=dark
Not sure where to paste it? Step-by-step guide
Show the full instructions
What the link says, spelled out. Use it when your agent cannot open links — paste this text instead.
Loading…
For developers
The install command lives in the “Component source” block below — a signed link that stays valid for 24 hours.
Technical notes
One file, zero dependencies, JS only for the cursor light and undefined. An 18rem/1fr grid from 48rem, height min(46rem, 100dvh). The row is a flex with overflow-x: auto and scroll-snap-type x mandatory (data-snap), a column is flex: 0 0 var(--col) (26/32rem, data-width) with a header and an inner overflow-y: auto. Clicking a button — row.scrollTo({left: column.offsetLeft, behavior: smooth}); onScroll via rAF finds the nearest column by offsetLeft and sets aria-current; the pill is an absolute span with top/height from the active button's offsetTop and a 0.4s transition. Below 48rem — the nav is a top row, columns are full width. Slot 01 is the left intro (title = name), 02–06 are columns: title — heading, text — lead, media — your own column content instead of the ghost. Slots: 01 the left intro (title — name), 02 column, 03 column, 04 column, 05 column, 06 column — items[i] with title/text/value/media, without them — a ghost. Numbers (numbers) show which slot goes where. Entrance is its own, see above; hover — cursor light and edge highlight at the pointer. Palette --vibeui-layout-015-* with light-dark, container queries, DOM order = reading order.
Tags
- layout
- columns
- deck
- portfolio
- sidebar
- horizontal
- snap
- personal
Component source
The same file your agent installs. Here in case you would rather copy it by hand.
Loading…