Bird
Raised Fist0
Figmabi_tool~5 mins

Resizing rules (hug, fill, fixed) in Figma - Step-by-Step Guide

Choose your learning style10 modes available
Introduction
Resizing rules in Figma control how objects change size when their parent frame changes. They help keep your design neat and responsive without manual adjustments.
When you want a button to grow or shrink with the frame width automatically.
When you want text to stay just big enough to fit its content inside a frame.
When you want an image to fill the entire space of its container regardless of size changes.
When you want a sidebar to keep a fixed width even if the window resizes.
When you want a chart to stretch horizontally but keep its height fixed.
Steps
Step 1: Select the object you want to resize
- Canvas or Layers panel
The object is highlighted and its properties appear in the right sidebar
Step 2: Locate the Resizing section
- Right sidebar under the 'Constraints' panel
You see options for Horizontal and Vertical resizing rules
Step 3: Click the dropdown for Horizontal resizing
- Resizing section in the right sidebar
Options 'Hug contents', 'Fill container', and 'Fixed size' appear
Step 4: Select 'Hug contents' for horizontal resizing
- Horizontal resizing dropdown
The object width adjusts automatically to fit its content
Step 5: Select 'Fill container' for vertical resizing
- Vertical resizing dropdown
The object height stretches to fill the parent frame's height
Step 6: Resize the parent frame
- Select and drag the frame edges on the canvas
The object resizes according to the chosen rules (hug, fill, or fixed)
Before vs After
Before
A button inside a frame has fixed size horizontally and vertically. When the frame width grows from 200px to 400px, the button stays 100px wide.
After
The button's horizontal resizing is set to 'Fill container'. When the frame width grows from 200px to 400px, the button width also grows from 100px to 400px to fill the space.
Settings Reference
Horizontal Resizing
📍 Right sidebar > Constraints > Horizontal dropdown
Controls how the object's width changes when the parent frame resizes
Default: Fixed size
Vertical Resizing
📍 Right sidebar > Constraints > Vertical dropdown
Controls how the object's height changes when the parent frame resizes
Default: Fixed size
Common Mistakes
Setting both horizontal and vertical resizing to 'Fixed size' when you want the object to adapt to frame size changes.
The object will not resize and may look out of place or cause layout issues.
Use 'Fill container' or 'Hug contents' depending on whether you want the object to stretch or fit its content.
Confusing 'Hug contents' with 'Fill container'.
'Hug contents' sizes the object to its content, not the frame, so the object won't stretch with the frame.
Use 'Fill container' to make the object stretch with the parent frame size.
Summary
Resizing rules control how objects change size inside frames in Figma.
'Hug contents' fits the object size to its content automatically.
'Fill container' stretches the object to fill the parent frame size.
'Fixed size' keeps the object size constant regardless of frame changes.

Practice

(1/5)
1. Which resizing rule in Figma makes a frame adjust its size exactly to fit its content?
easy
A. Fixed size
B. Fill container
C. Auto layout
D. Hug contents

Solution

  1. Step 1: Understand resizing rules

    Hug contents means the frame changes size to fit the content inside exactly.
  2. Step 2: Compare with other rules

    Fill stretches to fill the container, Fixed keeps size constant, Auto layout arranges items but does not define resizing rule itself.
  3. Final Answer:

    Hug contents -> Option D
  4. Quick Check:

    Hug contents = fits content exactly [OK]
Hint: Hug means frame hugs content tightly [OK]
Common Mistakes:
  • Confusing Fill with Hug
  • Thinking Fixed resizes with content
  • Mixing Auto layout with resizing rules
2. Which of the following is the correct way to set a frame's resizing rule to fill its parent container in Figma?
easy
A. Set resizing to Fill container
B. Set resizing to Fixed size
C. Set resizing to Hug contents
D. Set resizing to Auto layout

Solution

  1. Step 1: Identify the fill resizing rule

    Fill container means the frame stretches to fill the available space of its parent container.
  2. Step 2: Confirm correct option

    Only Set resizing to Fill container correctly names this resizing rule as Fill container.
  3. Final Answer:

    Set resizing to Fill container -> Option A
  4. Quick Check:

    Fill container = stretches to parent [OK]
Hint: Fill means stretch to parent container [OK]
Common Mistakes:
  • Choosing Fixed size instead of Fill
  • Confusing Hug with Fill
  • Using Auto layout as resizing rule
3. Consider a frame with a fixed width of 200px inside a parent frame of 400px width. If the child frame's horizontal resizing is set to Fill, what will be its width when the parent frame resizes to 600px?
medium
A. 200px
B. 600px
C. 400px
D. It will stay fixed at 200px

Solution

  1. Step 1: Understand Fill resizing behavior

    Fill resizing makes the child frame stretch to fill the parent's width.
  2. Step 2: Calculate new width

    When parent resizes to 600px, child frame with Fill will also resize to 600px width.
  3. Final Answer:

    600px -> Option B
  4. Quick Check:

    Fill resizing stretches child to parent's width [OK]
Hint: Fill means child matches parent size [OK]
Common Mistakes:
  • Assuming fixed width stays constant
  • Choosing original 200px width
  • Confusing Fill with Hug
4. You set a frame's resizing to Fixed size, but when you resize the parent frame, the child frame also resizes unexpectedly. What is the most likely cause?
medium
A. The child frame has Hug contents resizing
B. The parent frame has Auto layout enabled
C. The child frame's resizing is actually set to Fill, not Fixed
D. The child frame is locked

Solution

  1. Step 1: Analyze resizing behavior

    If child resizes with parent, it is likely set to Fill, not Fixed.
  2. Step 2: Check settings

    Verify child's resizing rule; if set to Fill, it will stretch with parent.
  3. Final Answer:

    The child frame's resizing is actually set to Fill, not Fixed -> Option C
  4. Quick Check:

    Fixed resizing means no size change [OK]
Hint: Check child's resizing rule if size changes unexpectedly [OK]
Common Mistakes:
  • Blaming Auto layout instead of resizing rule
  • Assuming locked frames resize
  • Confusing Hug with Fixed
5. You want a button inside a resizable panel to always fit its text content width but also stretch vertically to fill the panel height. Which resizing rules should you apply to the button's width and height respectively?
hard
A. Width: Hug contents, Height: Fill container
B. Width: Fill container, Height: Hug contents
C. Width: Fixed size, Height: Fixed size
D. Width: Fill container, Height: Fixed size

Solution

  1. Step 1: Determine width resizing

    To fit text exactly, width should be Hug contents.
  2. Step 2: Determine height resizing

    To stretch vertically to fill panel, height should be Fill container.
  3. Final Answer:

    Width: Hug contents, Height: Fill container -> Option A
  4. Quick Check:

    Hug width fits text, Fill height stretches vertically [OK]
Hint: Hug width fits content, Fill height stretches to parent [OK]
Common Mistakes:
  • Using Fixed size for width or height
  • Swapping Hug and Fill rules
  • Setting both dimensions to Fill
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard