Client-First Webflow Style Guide
Client-First Webflow Style Guide
Quick Guide
Classes
Strategy for how to identify, use, and manage classes inside Webflow as a platform.
Utility Show in docs Custom Show in docs Meaningful & Show in docs
A utility class is created for a specific combination A custom class created for a specific and complete naming
of CSS properties, which can be applied to identifiable component, page, grouping of Class names should say what they do. The name of a
elements across the project. elements, or single element. class should answer these questions:
Utility classes use dashes ‘-’ only. Custom classes use an underscore ‘_’ to define the "What is the purpose of this class in the project?
“custom folder name”. "How can I give the most context into what this
text-size-large class is responsible for in the project?"
background-color-primary header_background-layer
Give classes meaningful names.
testimonial-slider_headshot
testimonials_wrapper Yes
the project that use the utility class. It is ‘global’ by Better for maintaining a project as it’s more flexible
nature. to changes. Avoid over-stacking classes and making
class naming convention
site-wide mistakes.
text-size-large
This class is used to style a text
is always can be element.
Global Show in docs Combo Show in docs This class is used to make the text size large.
A global class is intended for use across the entire A combo class is a variant to a base class. It inherits
project. It is a further classification of the purpose of styles from the base class and adds more styles on
a class. Utility classes & custom classes can be top of it. team-list_headshot-wrapper
global classes.
Custom class folder name. This is
Use prefix ‘is-’ to define a combo class. the “team list” component related
A global class can use ‘-’ or ‘_’ to the team page or a team section.
team-list_component
Useful for adding additional styles for a specific
instance. team-list_headshot-image
team-list_headshot-texture-layer
team-list_headshot-background
Page structure
Strategy for the core structure of each web page. Show in docs
page-wrapper Outermost parent of all elements Helps to copy/paste the entire page to a different
on the page. page or apply CSS styles to the entire page.
navbar The nav element specifies a list of <nav> HTML tag is placed outside of the main-wrapper
navigation links. since its content is not for page-specific content.
global-styles Global custom CSS for the project. Organizes all custom CSS snippets for the entire
projects. Stored in a Webflow HTML embed as a symbol.
main-wrapper The “main” or page-specific Use a <main> HTML tag for accessibility best
content of the page. practice.
section_[identifier] Wraps an entire section of content. Helps to organize Webflow Navigator panel. HTML
<section> tag is recommended.
padding-global Horizontal spacing of a page's content Used for site-wide left and right outer
padding of each page.
container-[size] Sets a max-width for all page content Includes 3 sizes of max-width small ,
and centers the content on the page. medium , and large .
padding-section-small 3rem
padding-section-medium 5rem
padding-section-large 8rem
Use rem Show in docs Accessibility benefits Show in docs Minimal stacking Show in docs
What is rem? The rem unit is based on one thing Browsers can zoom normally when a project is built strategy
— HTML root font size. By default it’s 16px in REM. Build a maintainable project and avoid
“deep stacking” classes.
Browser font size settings that are modified by end-
users will be respected.
faq_item background-color-primary
text-color-primary text-style-italic
faq_item is-dark
Typography
Strategy for project typography using utility classes Show in docs
Tags Heading classes Text size Text alignment Custom typography classes
H1 heading-style-h1 4rem Use text-size- classes to change the size of Use text-align- classes to align the text. Create a custom class if the typography
H2 heading-style-h2 3rem a text element. instance is very unique, requires deep
text-align-left
stacking or is better managed outside of the
H3 heading-style-h3 2rem text-size-large 1.5rem
text-align-center utility system.
H4 heading-style-h4 1.5rem text-size-medium 1.25rem
text-align-right
Deep stacking typography classes:
H5 heading-style-h5 1.25rem text-size-regular 1rem
H6 heading-style-h6 1rem text-size-small 0.85rem More text utility classes
Use the correct HTML Heading tag based text-size-tiny 0.75rem More utility classes to help maintain a global
on the Heading’s hierarchy on the page. typography system for the project.
Use heading-style- classes only to Text color
override the default Heading tag style. text-style-2lines Truncate the text
Use text-color- classes to change the
text-style-3lines Truncate the text
color of a text element. It is encouraged to
If the H1 on the page should be styled text-style-allcaps e.g. ALL CAPS
add more utility class colors based on the
like an H1, don’t apply any class to it.
project styles. text-style-italic e.g. italic Merge classes to a custom class. Use
If the HH11 should be styled like an H3
H3 ,
text-style-strikethrough e.g. strike Finsweet Extension to merge classes
text-color-primary color: #000
for example, you can use a heading-style
text-style-muted opacity: 0.7
class. text-color-secondary color: #fff
text-color-neutral color: #707070
H1 heading-style-h3 S tack typography classes
S pacing
Strategy for consistent spacing Show in docs
Utility classes Show in docs Content sections Custom classes Show in docs
padding-xhuge spacer-xhuge 8
padding-xxhuge spacer-xxhuge 12 spacing_clean
padding-custom1 spacer-custom1 1.5 Remove native Webflow component
padding-0 0 spacing.
margin-[direction] margin-[size]
S pacing strategy
Spacing blocks Show in docs Wrappers Show in docs Grid / flex Show in docs
How it works
Add block between elements to add spacing. Add content inside a Div block with Spacing utility classes. Add content inside wrapper with grid
or flex styles applied.
spacer-[size]
padding-bottom testimonials_content
padding-medium
padding-medium
How it looks
Heading padding-bottom
Heading
padding-medium testimonials_content
Heading
spacer-medium
Text link
Text link
Navigator
Folders
Control and organize classes with Folders Show in docs
Custom classes (underscore) are organized by the word Utility classes (no underscore) are automatically
before the underscore. organized inside the Utility folder.
button is-secondary
icon-[size] icon-1X1-[size]
button is-text
icon-small icon-1x1-small 1rem
Pro tip: Add style flex or grid with gap 0.5em icon-medium icon-1x1-medium 2rem
to a button with label and and icon.
icon-large icon-1x1-large 2.5rem
button-group
hide overflow-hidden max-width-xxlarge 80rem pointer-events-none Turn on mouse events on the element
hide-tablet overflow-scroll max-width-xlarge 64rem pointer-events-auto Turn off mouse events on the element
hide-mobile-landscape overflow-auto max-width-large 48rem z-index-1 Turn on/off mouse events
on the element
hide-mobile-portrait align-center max-width-medium 32rem z-index-2
max-width-small 20rem align-center margin: 0 auto
Background color max-width-xsmall 16rem layer position: absolute, top, right, bottom, left: 0
background-color-primary #f5f5f5 max-width-xxsmall 12rem display-inlineflex Allows elements to behave as inline, while
maintaining flex capabilities inside them.
background-color-secondary #fff
max-width-full
background-color-dark #000
max-width-full-tablet
max-width-full-mobile-landscape
max-width-full-mobile-portrait
ales points:
100VH 100SVH 100DVH 100LVH
S
Maintenanc
Scalabilit
Accessibilit
Community recognize
Inclusivity - available on 6 languages [Link]