Webflow Layout Techniques

Responsive Pagination

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

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.

Table of Contents
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.