Use a vertical Auto Layout frame as the parent of any top-to-bottom content stack. Set text layers to fill the available width and hug their contents vertically, then place mixed arrangements inside nested frames. When copy grows, wraps, or is replaced, the parent frame changes height and pushes everything below it without manual repositioning.
Build the parent stack first
In Figma, select the layers that belong to one component—such as a title, description, metadata row, and buttons—and press Shift+A to apply Auto Layout. In the Auto Layout controls, choose Vertical. Vertical flow places children along the y-axis, so their order becomes the order of the stack. Additions, deletions, and reordering follow that axis.
Set the frame’s gap to define the space between children and use padding for the inset between the content and the frame edges. This is more reliable than applying individual margins because one parent owns the spacing rules. Figma describes the result this way: when content changes or elements are added, removed, or resized, the layout adjusts without requiring manual repositioning. See the Figma Auto Layout guide and the documentation for horizontal and vertical flows.
Choose the parent’s sizing behavior
- Hug contents: the frame grows or shrinks around its children. Use this for cards, labels, buttons, and sections whose height should follow their content.
- Fixed width: keeps the component at a predictable width while text reflows inside it.
- Fill container: lets the component occupy the available width of its parent. This is useful when several cards or sections share a column.
A common responsive card uses a fixed or fill-container width and a height that hugs its contents. If the outer frame must remain a fixed height—for example, a banner slot—keep the height fixed and decide how overflow should be handled instead of expecting the frame to expand.
Make growing text resize intentionally
Text is usually the element that changes the stack’s height. Select the headline, caption, or description inside the Auto Layout frame and set its horizontal resizing to Fill container. Set its vertical resizing to Hug contents. The text then receives the parent’s usable width, wraps when necessary, and reports its resulting height back to the stack.
#1 Best Overall
- Select the text layer inside the vertical frame.
- In the text layer’s resizing controls, choose Fill container for width.
- Choose Hug contents for height.
- Replace the copy with a short version and then a multi-line version. The text layer should become taller and the following child should move down.
If a paragraph remains one long line, its width is probably fixed rather than filling the parent. If the paragraph clips, its height may be fixed rather than hugging contents. Check both dimensions before changing gaps or padding.
Prevent text from changing the wrong dimension
Use a width constraint that reflects the design intent. A headline that should align with the card edges can fill the container; a small badge may need a fixed width or hug its own contents. Do not set every layer to fill container: icons, dividers, and compact controls often need their intrinsic size so they do not stretch.
Use nested frames for mixed layouts
Most real templates combine directions. A social card may stack its sections vertically, while each section contains a horizontal icon-and-copy row. Create an inner frame for that row, apply Auto Layout, and set the inner frame to Horizontal. Then place the row inside the outer vertical frame.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesFor example, a profile card can be structured as:
- Outer card: vertical flow, padding, and section gap.
- Avatar row: horizontal flow, fixed-size avatar, and a text group.
- Text group: vertical flow, with name and subtitle stacked.
- Action row: horizontal flow for buttons.
Each frame owns its own gap, padding, and sizing rules. The outer frame only has to position the major sections. This isolation prevents a longer subtitle from disturbing the avatar’s horizontal alignment while still increasing the overall card height. Figma documents these combined patterns in Combine vertical, horizontal, and grid Auto Layout flows.
Keep component internals independent
When turning the card into a component, expose only the properties that should vary—such as text, visibility, and instance swaps. Keep the internal frames responsible for their own arrangement. A variable-length title should change the title layer’s height, not require a separate manually positioned variant for every copy length.
Rank #2
When to use vertical, horizontal, wrap, or grid
Choose the flow from the intended arrangement, not from the fact that the content happens to be inside an image template.
| Approach | Best for | What happens as content grows | Important limitation |
|---|---|---|---|
| Vertical | One ordered top-to-bottom stack | Later children move down; the parent can grow | It does not create columns automatically |
| Horizontal | A row such as icon plus text or a button group | Children advance along the x-axis | Long content can consume the row unless wrapping or constraints are added |
| Wrap | Items that should move to another row or column when space runs out | Children continue in Auto Layout order on a new line or track | Vertical wrap is not masonry; it does not freely balance unequal columns |
| Grid | Two-dimensional placement in cells, including designs that need spans | Items occupy defined grid positions | It is more structured than a simple sequential stack |
Figma’s Auto Layout guide explains wrapping, while its flow documentation distinguishes vertical and horizontal behavior. If the design is a feed of variable-height cards, use a vertical list of cards rather than assuming vertical wrap will produce a masonry layout. Figma states that vertical wrap preserves Auto Layout order and moves to another column only after the available height is reached.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteA repeatable workflow for a growing template
- Group by behavior. Decide which layers always move together: a heading and subtitle, an icon and label, or a button cluster.
- Apply inner layouts. Add horizontal or vertical Auto Layout to each group before composing the larger component.
- Apply the outer vertical flow. Select the groups and press Shift+A; set the parent direction to Vertical.
- Set width rules. Use Fill container for copy that should wrap to the parent; use fixed or hug sizing for icons and compact controls.
- Set height rules. Use Hug contents for text and any parent that should expand with it.
- Replace manual spacing. Remove ad-hoc offsets and use the parent’s gap and padding values.
- Exercise the extremes. Try a short string, a long string, an empty optional field, and the longest supported translation. Observe which frame grows and whether all following elements move.
- Test changes in both directions. Remove a section, reorder two children, and restore them. The stack should remain coherent without dragging later layers.
Optional fields, images, and fixed slots
Optional text
For an optional caption, hide the entire caption frame rather than leaving an empty text layer with a fixed height. In a vertical stack, removing the child closes the gap automatically. If a deliberate reserved space is part of the visual design, use explicit padding or a spacer frame and document why it exists.
Images with unknown dimensions
Give an image a defined width or aspect-ratio rule so the parent can calculate its footprint. Put the image and its overlay label in a nested frame if the label should stay attached to the image. Do not rely on a text layer positioned over the image to push content below; an absolutely positioned layer is outside the normal flow.
Fixed-height export areas
If every exported variation must fit a fixed canvas, decide what happens when copy exceeds it: reduce the copy, change the type scale, allow clipping intentionally, or use a product-specific copyfitting feature. Auto Layout can calculate a growing design, but it cannot guarantee that arbitrary text will fit a fixed-height slot without a separate constraint or copyfitting rule.
Rank #3
Figma compared with Adobe template features
Adobe products use different names and behaviors, so do not transfer Figma settings one-for-one. Adobe Experience Manager Dynamic Media Templates documents Smart Text Resize, a copyfitting algorithm intended to fit text in its area, prevent overflow, and minimize space below the text. Its controls and output should be evaluated within Dynamic Media Templates; they are not Figma Auto Layout options. See Adobe’s Dynamic Media Templates documentation.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Adobe XD’s Stacks provide content-reactive layouts, Auto Height text, and nested horizontal and vertical stacks. Those are XD features with their own controls. Adobe describes them in Create dynamic designs with Stacks. The shared principle is content-reactive layout, not interchangeable settings or guaranteed identical behavior.
Troubleshooting a stack that does not grow
Following layers do not move
Check that the layers are actual children of the vertical Auto Layout frame. A layer positioned absolutely, outside the frame, or in a separate group will not participate in the normal flow. Move it into the correct nested frame.
Text is clipped or stays one line
Set text width to Fill container and height to Hug contents. Also check that no ancestor frame has a fixed height that clips its children. If the parent is fixed-height by design, clipping may be intentional and must be handled through copy limits or typography changes.
The card is wider than expected
A child may be set to Hug contents or have a fixed width larger than the parent. Select each child and verify its horizontal resizing rule. A long unbroken string can also force a minimum width; add appropriate break opportunities or revise the content.
Rank #4
There is an unexpected gap after hiding a layer
Inspect whether the hidden layer is inside a wrapper that still has a fixed height, padding, or a spacer. Hide or remove the wrapper when the whole optional section should disappear.
Wrap looks like the wrong kind of grid
Wrap follows Auto Layout order and available space; it is not a masonry algorithm. For stable rows and columns, use Grid and define the cells. For a simple list, return to a vertical parent.
A component breaks when text is swapped
Look for fixed-height text layers, absolute positioning, or an inner frame whose width is not constrained by its parent. Restore Fill container and Hug contents where the copy is expected to vary, then test the component instance rather than only the main component.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Performance, reliability, and maintenance
Auto Layout reduces manual correction because the layout rules are recalculated when children change, but a robust template still needs representative content checks. Test the longest approved copy, missing optional values, different font weights, and translated strings. Keep nesting purposeful: each frame should represent a real layout boundary, such as a row, text group, or card section.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Use consistent spacing tokens for gaps and padding, name frames by role, and avoid mixing manual offsets with flow-based spacing unless an overlay is deliberate. When a requirement changes from “one vertical list” to “fixed two-dimensional cells,” change the parent model rather than adding exceptions to a vertical stack.
Best Value
Or skip the browser setup
If you need rendered images of the finished template or a set of public URLs, ScreenshotNeo provides a website screenshot API. It accepts a URL and returns PNG, JPEG, WebP, or PDF. Before capture, it accepts cookie and consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers.
One-call cURL example (see the ScreenshotNeo documentation):
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
You can also use its MCP server with Claude, Cursor, or another MCP client through take_screenshot, get_page_info, and capture_pdf. The service includes full-page capture, element selectors, device and viewport settings, retina scale, PDF controls, custom CSS and JavaScript, click and wait actions, request blocking, headers, cookies, user agents, authorization, timezone and geolocation, transparent backgrounds, resizing, configurable caching, signed links, asynchronous webhooks, bulk capture of up to 100 URLs per call, a usage API, and an OpenAPI specification. Parameter names used by other screenshot APIs also work for easier migration.
Free tools Windows power users keep installed
One-click scans. No signup required.
The Free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 shots; yearly billing gives two months free. Create a free ScreenshotNeo account to start with the 1,000 free screenshots.
Frequently Asked Questions
Should every text layer in a template use Fill container?
No. Use Fill container when the text should wrap to its parent width. Small labels, badges, or controls may need hug or fixed width so they retain their intended size.
Can Auto Layout automatically make a fixed canvas fit any amount of copy?
No. Auto Layout can grow the frame, but a fixed export area still needs a copy limit, typography adjustment, intentional clipping, or a separate copyfitting feature.
Is Figma vertical wrap the same as masonry?
No. Figma says vertical wrap preserves Auto Layout order and moves to another column after the available height is reached; it does not freely balance columns by item height.
When should I use Grid instead of a vertical stack?
Use Grid when items must occupy defined rows and columns or span cells. Use Vertical when the primary requirement is an ordered sequence whose height changes with its children.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

