10 Essential Micro-Interactions
Each pattern is built with Bay House property content. Spring physics via CSS
linear(), typed custom properties, and compositor-friendly animations only.
Pattern 1
Spring-Physics Button
CSS linear() spring easing
Real spring overshoot on hover, instant compression on press.
The linear() function creates physics-based motion that
cubic-bezier() cannot express.
Pattern 2
Accordion Expand
grid-template-rows: 0fr → 1fr
Smooth height animation to auto using CSS Grid's row sizing.
No fixed heights, no max-height hacks.
200mm reinforced Hebel block walls with vertical D12 steel rods, 500mm concrete ring beam, and 900mm deep foundations. Engineered to withstand coastal wind loads and seismic events.
325m² of Koemmerling German PVCu double-glazed windows with tilt & turn multi-lock system. 9-metre corner panorama windows frame uninterrupted ocean views. Steel inserts for coastal wind resistance.
90 evacuated solar tubes powering a 1,500-litre hot water system and 33-zone hydronic underfloor heating. 120,000+ litres of underground rainwater storage with filtration and UV treatment.
192 metres above sea level, more than 800 metres from the shoreline. Withstood Cyclone Gabrielle (2023) and the 2011 Waimarama floods — validating the geotechnical design and stormwater management.
Pattern 3
Elastic Badge Counter
@property <integer> + spring scale
Badge springs with elastic overshoot when a buyer saves the property
to their shortlist. Compositor-only transform: scale.
Pattern 4
Text Decode Hover
number counter + story revealHover or tap a row — the number counts up from zero while the story behind it fades in. Real Bay House property data.
-
Ocean Views 270°
-
Floor Area 590 m²
-
Elevation 192 m
-
Wrap Deck 382 m²
-
Rebuild Cost $5.96M
Pattern 5
Ocean Light Button
Cursor-tracking light bloom + letter-spacing breath + magnetic lerpA deep ocean gradient surface with a warm light bloom that follows your cursor — like sunlight playing on water. Letter-spacing widens gently on approach. A gold edge-glow scales in from center. Magnetic pull via lerp interpolation. Pointer:fine devices only.
Pattern 6
Creative Link Interactions
luxury combo · kukuri bar · 3D flip · gradient sweepFour genuinely different techniques — not variations of the same trick. The luxury combo layers a sliding vertical bar with a horizontal underline (two pseudo-elements, staggered timing). Then clip-path text reveal, CSS 3D flip with backface-visibility, and background-clip gradient morph. Each tells a different micro-story about architectural craft.
Pattern 7
Morphing SVG Icons
stroke-dasharray ring draw + spring overshoot + ambient pulse
Four icons sharing one design language: a ring draws on hover and
persists on activation. Menu morphs hamburger→× via spring overshoot
(cubic-bezier(0.34,1.56,0.64,1)). Search and Back-to-Top
have ambient pulse animations that accelerate on hover. Play crossfades
triangle→pause bars via opacity. All GPU-composited.
Menu
Search
Play
Back to Top
Pattern 8
Daylight Lifestyle Card
CSS gradient overlay + opacity transition + JS phase swapFive daylight phases reveal the property's changing mood — from a Pacific dawn to a violet night sky. Hover each icon to feel the light. Click any icon or the button to explore the full lifestyle page.
Bay House — Hawke's Bay
The light changes.
The view never does.
192 metres above sea level — every hour, a different painting.
Explore Life on the HillPattern 9
3D Press-Depth Card
perspective tilt + radial light reflectionSubtle 3D tilt follows the cursor. Maximum rotation: 5 degrees. Radial light gradient tracks mouse position for physical realism.
Total floor area
Six bedrooms across three wings, five bathrooms, plus a fully self-contained 68m² guest house.
Pattern 10
Toast Notification
@starting-style + allow-discrete
Smooth entry via @starting-style, smooth exit via class toggle.
Auto-dismisses after 4 seconds. Stacks from bottom.
5 Advanced Techniques
Cutting-edge CSS features: native popovers, scroll-driven animation timelines, CSS-only number counters, and stagger grid entrances — all with graceful fallbacks.
Bonus A
CSS-Only Popover
native popover + @starting-style
No JavaScript for show/hide. The native popover attribute
combined with @starting-style creates smooth entry
animations. The backdrop dims automatically.
Bay House — At a Glance
Elevated sanctuary: 590m² of living space on 1.5 hectares, 192 metres above sea level with 270° uninterrupted ocean views.
Enquiries over $4,500,000
Fully furnished. Move-in ready. Private sale by owners.
Bonus B
Scroll Progress Bar
animation-timeline: scroll(root)
Look at the top of the page — the sage green bar grows as you scroll.
Pure CSS: animation-timeline: scroll(root block) drives
a scaleX animation from 0 to 1. Zero JavaScript.
↑ Scroll the page to see the progress bar at the top
Bonus C
Counter on Scroll
@property + animation-timeline: view()
Pure CSS number counting — no JavaScript. Registers <integer>
custom properties, then drives them from 0 to their final value as
the element scrolls into view. Falls back to static numbers.
m²
Living space
°
Ocean views
L
Rainwater storage
Bonus D
Stagger Grid Entrance
view() + per-item animation delay
Each card animates in as it enters the viewport. Scroll-driven via
animation-timeline: view() with IntersectionObserver fallback.
Solar Power
90 evacuated tubes
Rain Water
120,000L+ storage
Smart Home
Voice & app control
Heated Floors
33 independent zones
German Windows
325m² Koemmerling
Seismic Design
500mm ring beam
Bonus E
Floating Label Input
:placeholder-shown + sibling selector
The label floats up on focus or when the field has content.
Pure CSS using :placeholder-shown — the contact form pattern.