Sara Soueiden has an excellent CSS-Tricks post on Auto-Sizing Columns in CSS Grid: `auto-fill` vs `auto-fit` where she covers the difference between the two. At the end she asks the question of what the design case would be to use
auto-fill as, generally,
auto-fit seems to be a better solution. Thinking on it, I came up with one design situation where it actually would make sense to use `auto-fill.` As I commented on Sarah’s post:
auto-fillmay make sense when building a layout template for dynamic content that is pulled in asynchronously and therefore may not appear in the view all at the same time. So basically when you have dynamic content getting loaded in and you don’t want your grid layout to “shift around” as this content comes in.
For most design situations,
auto-fit is a better catch-all solution. But in cases where dynamic content is being loaded into your template asynchronously and where it’s important not for the grid layout to “shift” during this time while the content is being loaded in,
auto-fill may be the better solution.