Crosshatch grid panel
Dark card with crosshatch grid visual area, framer-motion entrance animation, hover state, and inset top highlight. Full React component with Tailwind.
Dependencies
Install the required packages before using this component.
Props
Crosshatch grid panel
titlestringRequiredCard heading rendered in the text area below the visual
default: —
descriptionstringRequiredSupporting copy rendered below the title
default: —
visualReact.ReactNodeRequiredAny JSX rendered inside the grid visual area; use your icon, chart, or illustration
default: —
delaynumberOptionalStagger delay in seconds for the whileInView entrance animation
default: 0
Notes
The inset 0 1px 0 0 highlight on the outer card container gives the dark surface a visible top edge. Without it the card blends into a dark page background with no visual definition.
The inner visual area uses #0a0a0c — just 2 steps darker than the card #171717. This small difference is enough to read as a distinct inset without looking like an obvious border.
The grid uses two overlapping linear-gradients at 1px width on the same element. Setting opacity on the container adjusts all grid lines simultaneously — no need to change individual stops.