Webflow Layout Techniques

Responsive Pagination

Overview
Responsive Layout Techniques
102
Element Layouts
Aspect Ratio
201
Responsive Image Annotations
6:50
202
Collection List Alternating Item Layouts
4:32
601
Collection Page & Collection List Layouts
Collection List Card Layouts
4:32
601
Creating Variable Layout Options, per Collection Item
11:46
602
Random List Items on Every Page Refresh
10:00
603
Variable Collection Item Sizes in a Grid Layout
603
Limit Collection List Items by Breakpoint
10:00
604
Hide Collection List on Empty, or Item Qty
605
Responsive Pagination
605
Masonry Grid Layouts
607
Glossary w/ Letter Groupings
612
Comparison Grid Layout
612
CMS Style Multiref-Matched Items
11:00
614
Master-Detail Layouts
Master-Detail Layouts
710
CMS-Driven Expando
19:42
714
Special Layouts
Creating Leader Lines
5:54
821
Photo Gallery Layouts
821
Column Layouts
822
Text Layouts
823
Checkerboard Grid Styling
824
Tetris Grid Layouts
12:00
826
Advanced Techniques
Breakpoints
901
No items found.
Published
July 15, 2023
Updated
July 15, 2023
in lightbox

Give Webflow's paginated collection lists responsive page sizes, using Finsweet's CMS Load and some custom code.

Making Collection Lists Responsive

For some time we've been using a CSS-based technique to control the number of collection items that appear at various breakpoints e.g. 20 on desktop, 15 on tablet, 5 on mobile-portrait.

It's very useful for basic designs that have < 100 items, and it can be an ideal solution for non-essential views. When you're showing a series of testimonials, or the most recent blog posts... it makes sense to simply truncate list items from that part of your design when the screen size becomes too small.

But this approach does not support many situations;

  • It does not support paginated collection lists, so you cannot have more than 100 items in your collection list
  • Critical content, like a product catalog, cannot simply be "truncated" in mobile view to hide extra items when space is tight
  • It doesn't work with Finsweet CMS Filter

Making Paginated Collection Lists Responsive

To make our paginated collection lists responsive, we've designed a new capability around Finsweet's powerful CMS Load more attribute.

Design Goals

  • Make responsive pagination possible, using FS CMS Load as the underlying script-controllable paging mechanism
  • Support all 7 Webflow breakpoints with varying item counts at every breakpoint
  • Fully and seamlessly support FS CMS Filter as well
  • Dynamically adjust the item count as the breakpoint changes
  • If necessary, automatically adjust the current page to ensure a page is always being viewed

Demonstration

The implementation we did uses CMS Load plus some custom code to handle the responsive pagination.

It also uses CMS Filter, and dynamic column layout changes across the breakpoints to complete the UX.

https://responsive-pagination.webflow.io

Resources

  • Demo - https://responsive-pagination.webflow.io
  • Cloneable - https://webflow.com/made-in-webflow/website/responsive-pagination
  • Codepen - https://codepen.io/memetican/pen/QWJQeKe/bea1116878a9bb9f41b1a7147e404eb5?editors=1010

Notes

Multiple Responsive Collection Lists On One Page

Is there a way to use this code for multiple paginations on one page?

Currently the code is designed for a page which has only one CMS Load-configured collection list. The code will need some adjustments if you have several, particularly if the responsive configuration ( N items at breakpoint X ) is different for different collection lists.

If you want to make those adjustments, check Finsweet's CMS Load API docs and look to identify and separate the CMS Load instances.

Need help?
Sygnal does custom programming for Webflow designers, contact us if you need some work done.

Old-School Conditional Visibility Hacks

“Why not use multiple lists and make each one conditionally visible by breakpoint?”

The old-school hack for this problem was to have multiple paginated collection lists on your page, and then to hide/show them by breakpoint.

There are a number of substantial downsides to this.

  • Significant design admin overhead. Design changes must be made in every list-variant.
  • Webflow supports 7 breakpoints. Do you want to trade your one collection list for seven? You're limited to 20 per page.
  • Performance. Even with that content invisible, it's loaded into the page, which means you have 7x as much content as you need.
  • Performance again. If you're also using CMS Load, they you may well be magnifying that load time by 7x as well.
  • No support for Finsweet Filter. If you want a more powerful UX, around a key part of your site such as a product catalog, this approach doesn't work well. You'd need 7 different filter blocks for your 7 different collection lists... it gets messy fast.

Fortunately, there's a better mousetrap.

Videos
No items found.
Table of Contents
Comments
Did we just make your life better?
Passion drives our long hours and late nights supporting the Webflow community. Click the button to show your love.