Skip to main content
Matt_W
New Member
September 6, 2023
Question

Auto layout makes contents absolutely positioned

  • September 6, 2023
  • 29 replies
  • 5559 views

I’m loathed to post this because Figma is becoming a time sink and nothing ever gets fixed, sh!t just gets bolted on with very poor testing and planning to avoid fallout. It’s the new Sketch, Photoshop, you name the bloatware, Figma is it.

Having a group elements in a container that i want to apply auto layout to, let’s say a simple row with cells, doesn’t matter. I have the row, I apply auto layout… yet now I have auto layout of one item with the rest being absolutely positioned. The container element with the background and shadow is now within the auto layout and the rest sit on top with some arbitrary position. This is garbage. Manually fixing this retroactively to the elements is a massive waste of time. Figma is becoming a massive waste of time.

There was an update that changed this behaviour. Previously the container element would be applied as the background, and the contents would be auto-laid-out as you’d expect.

image

This topic has been closed for replies.

29 replies

Hannah_Taylor
New Member
January 30, 2024

Yes, this is what I keep experiencing too!! In some of the examples shared above its (somewhat) justifiable that absolute position is applied by default to one of the objects. But the more common thing that keeps happening to me is the example you have shared here where it makes absolutely NO sense for it to be applied.

Matt_W
Matt_WAuthor
New Member
February 1, 2024

Thanks for providing these examples. It’s somewhat ironic that having “auto” in the name is adding extra manual effort each and every time.

Also, when developing components, it is extremely rare to consciously use position: absolute; for anything other than decoration. So this needs to be a conscious decision to enable absolute positioning for layers in Figma, rather than assuming that to maintain the visual arrangement. I’ve had many situations, like my first screenshot, where all are absolute except one… wtaf lol

Matt_W
Matt_WAuthor
New Member
February 1, 2024

This change was made to prevent a frame or layout that you’ve already created from visually changing when you apply auto layout.

Regarding this decision - Layout is layout, not visual design. It is a consistent way of organising elements. If I apply display: flex; to an html element I don’t then go and apply absolute positioning to some of the child elements to keep the visual design.

NLB
New Member
February 2, 2024

Love the toast idea, I think that would help! What would be even better would be:

If you hit undo, it could snap everything back into autolayout. So, applying autolayout with absolutely positioned elements would work like it does now, and be one-step, but undoing would be 2 steps - first undoing absolute positioning, then undoing apply autolayout.

NLB
New Member
February 2, 2024

I agree with this too.

I think snap to autolayout should be the default behavior, and you should have to manually override the element you want absolutely positioned. Right now it works the exact opposite way.

But IF preserving absolute positioning is going to be the default, there needs to be a simple and elegant way to undo/override that. Otherwise what’s the point of autolayout?

Final bit of feedback from me, small usability issue. I only googled this because I could not figure out how to undo the auto-applied absolute positioning on my elements. I kept clicking the resize to fit button. Took me forever to realize you have to un-click the active absolute position button. Could just be a me problem, but it added to the frustration.

Matt_W
Matt_WAuthor
New Member
February 9, 2024

Yeah the design of some of the UI elements in the Figma app/tool panels contradict each other. Some are so subtle, others hidden in nest dropdown menus (WTF!!!). Just bolt-ons

ViktorIa_Korotkova
February 14, 2024

yeah, it SHOULD help, but it doesn’t! and how can Figma decide what size of frame do I need? when I autolayout objects, because of this Absolute position all my nested layers just get stuck onto layout nearby (image you build a form with many fileds), no help!

February 14, 2024

I would like to add to the chorus of feedback that this feature is more problematic than helpful. I train designers on Figma, and even I’ve struggled to figure out an actual use case for this feature that’s not an edge case. It’s hard to explain to people who are already confused and overwhelmed by Auto Layout. Absolute positioning might be the least understood facet of AL as is. When it’s applied automatically, objects might be hidden out of frame, making it even harder to resolve.

If I create a new frame with Auto Layout (with Shift+A that’s usually the case), there’s no need to hide any content to preserve a height that has yet to be officially set. It adds extra steps to a tool that is supposed to remove them.

Paul_Morley
February 14, 2024

One additional rumination… Even if we entertain the notion that every user of AL possesses expert-level comprehension, acknowledging that when applying it to multiple objects, absolute positioning might affect some, all, or none of the objects, the lack of transparency regarding the pattern or algorithm AL employs renders its behavior unpredictable at best.

In situations where AL fails to apply absolute positioning to desired objects, manual intervention becomes necessary. Conversely, for items where absolute positioning was undesired, users must expend effort to remove it.

Perhaps in the minds of Figma developers and product teams, the implementation of absolute positioning prompted discussions on enhancing its functionality. They might have contemplated employing a “best guess” algorithm to intelligently position items when AL is applied to a frame of objects. Ideally, this would align with user expectations, with items remaining in their intended positions. However, the worst-case scenario entails users having to adjust items that were incorrectly positioned, introducing a learning curve. Despite this, the feature may be perceived as intelligent over time.

Yet, skepticism remains. The apparent randomness of item placement when AL is applied may never become something users fully accept or acclimate to.

matthewcorreia
February 27, 2024

To me this defeats the purpose of Autolayout, as I had understood it. The default behaviour of a frame already essentially has child items absolutely positioned. By applying autolayout, I specifically expect that it arranges them to fit the flex rules (vert, horiz, wrap). Having this feature unpredictably make some of those children ignore the rules is really frustrating. Now every time I apply autolayout to existing items, I need to select all the children, and toggle the absolute positioning on and off to ensure it’s off for all children. Every. Time.

Please at least add an option to disable this behaviour by default. Absolute positioning should never be applied automatically, and should always be treated as a manual choice, to be used in exceptional circumstances.

Also for developer handover, if they are looking at these components and layouts and seeing absolute positioning… this is extremely rarely the intended positioning property, at least in my Design System based workflow.

I would prefer that the items move around and ‘ruin the visual layout’ to adhere to the newly applied autolayout rules, so that I know what I need to fix in terms of positioning, padding, etc… I don’t want that Figma hides these issues from me by having some layers ignore the rules. This is also not how it would be developed, where absolute positioning is also only for exceptional cases, since it breaks the cascade flow and can cause issues with responsiveness.