Skip to main content

Missing Calc() - feature so bad

  • August 6, 2025
  • 1 reply
  • 46 views

Jarl Helin

Hey y’all, 

 

Who votes for the calc() - feature ?

It’d solve a whole bunch of tiresome workarounds, such as :

Line-height and widths on all kind of stuff, but for me it’d be really cool to have the grid working in percentage… 

 

What are your thoughts?

 

1 reply

Poliklot
  • New Member
  • July 10, 2026

This is primarily a web-interface-development need, not a graphic-design feature request.

A common responsive UI pattern requires a specific layer to be sized as:

calc(50% - 32px)

relative to its Auto Layout parent.

For example, a responsive component may contain a media or content region that should always occupy half of the parent’s inner width minus a fixed 32px offset, while the remaining space is used by elements with different sizing behavior. This relationship must remain correct as the parent resizes.

“Fill container” can distribute remaining space between sibling layers, but it cannot define an explicit, reusable mixed-unit sizing rule for one layer independently of that distribution. Current workarounds require additional wrapper frames, spacer layers, or breakpoint-specific variants. This makes components more complex, less reusable, and diverges from the CSS implementation.

Requested minimum:
• calculated Auto Layout width and height values, for example `calc(50% - 32px)`;
• `%` resolved against the Auto Layout parent’s inner size, after padding;
• live recalculation when the parent is resized;
• support in component instances and nested Auto Layouts;
• preservation of the expression in Dev Mode / CSS output where possible.

Could someone from the Figma Auto Layout / Design Systems team comment on whether calculated mixed-unit sizing is being considered?

I’m an active open-source contributor and would be happy to help validate a solution: provide reproduction files, real-world component examples, edge cases, test scenarios, and feedback on early builds. I understand Figma is not an open-source codebase, so I’m not expecting to submit a PR, but I would gladly help make the implementation robust.