How do you hand off responsive behavior the mockups don’t capture?
On this page
You hand off responsive behavior by specifying how the layout adapts across the full range of widths, what reflows, what hides, what scales, what reorders, and at which points, along with the intent behind each rule, rather than handing over two fixed frames and trusting the developer to invent the in-between. The behavior between breakpoints is the actual design, and it has to be described as behavior, not implied by two snapshots that happen to sit at the ends of a continuum. The mockups capture two moments; the handoff has to capture the motion between them.
This is necessary because a layout does not jump from desktop to mobile, it stretches and compresses through every width in between, and that continuous range is exactly where a static comp goes silent. A developer given only a 1440 frame and a 375 frame has clear instructions for two widths and pure guesswork for the thousand widths between them. At 900 pixels, does that three-column grid become two columns or one? Does the sidebar move above the content or below it? Does the hero headline scale down smoothly or step to a fixed smaller size at a breakpoint? The mockups answer none of this, so the developer fills the gap with whatever is easiest to build, and the result is a layout that looks right at exactly two widths and looks accidental everywhere else. Describing the adaptation rules closes that gap with intent instead of inference.
The specification has to read as behavior. Take a content row with an image and a block of text side by side on desktop. The useful handoff does not just show that desktop frame and a stacked mobile frame; it states the rule. The image and text share the row until the text column drops below a comfortable reading measure, at which point the image moves above the text and spans the full width, the image maintains its aspect ratio and scales to the container rather than cropping, and the vertical spacing between the now-stacked blocks increases to keep them from reading as one element. It names what triggers the change, the reading measure becoming too tight, not an arbitrary device width, so the developer understands the why and can apply judgment at the edges. A navigation that collapses to a menu button should say when it collapses, when the links no longer fit on one line without crowding, and what the open menu does, rather than leaving the developer to pick a breakpoint and a pattern.
The catch that matters is that this is about communicating behavior, not about designing more breakpoints or producing a frame for every width, which is impossible and beside the point. You are not trying to draw the layout at 900 pixels; you are trying to state the rules that govern what happens there so the layout is correct at 900 and 901 and 1100 without anyone having drawn them. There is also a limit to how much you should prescribe: where the natural behavior is obvious, a fluid grid that simply rewraps, you do not need a paragraph, you need to confirm it flows and move on. The effort goes to the non-obvious transitions, the reorders, the conditional hiding, the elements that change role rather than just size, because those are where a developer’s reasonable default will differ from your intent.
When you prepare a responsive handoff, walk the layout from the widest width to the narrowest in your head and narrate every change as you go, then write those changes down as rules with their triggers and their reasons. Mark what reflows, what hides and why, what scales versus what steps, and what reorders, and tie each rule to the intent behind it rather than to a device. Hand off the behavior across the range instead of two frames and a hope, and you replace a guessing game with a design the developer can build correctly everywhere, not just at the two widths you happened to draw.