Modern CSS Variables in HubSpot
Using CSS variables with HubSpot empowers developers and marketers to build consistent, scalable styles that are easy to maintain across landing pages, blogs, and full website themes.
This guide walks through what CSS variables are, how they work, and how to apply them effectively in a HubSpot environment.
What Are CSS Variables and Why They Matter in HubSpot
CSS variables, also known as custom properties, are reusable values you define once and apply across your styles. They are perfect for color systems, typography, spacing, and theming in HubSpot templates.
Instead of repeating the same hex color or font-size many times, you define a variable and reference it wherever needed. Update the variable once, and your whole HubSpot site updates automatically.
Core Syntax of CSS Variables for HubSpot Projects
CSS variables follow a simple pattern: you define them inside a selector, then reference them using the var() function.
Defining CSS Variables
Variables are defined with a name that starts with two dashes:
:root {
--primary-color: #4f46e5;
--secondary-color: #64748b;
--heading-font: "Inter", system-ui, sans-serif;
--body-font-size: 16px;
}
Using :root makes the variables globally available across your HubSpot templates and stylesheets.
Using CSS Variables
To use a variable, call it with var():
body {
font-family: var(--heading-font);
font-size: var(--body-font-size);
color: var(--secondary-color);
}
.button-primary {
background-color: var(--primary-color);
}
This pattern keeps your HubSpot theme code clean and flexible.
Creating a Theme System with HubSpot and CSS Variables
A powerful way to work with HubSpot is to design a full theme system based on CSS variables. This gives you centralized control over your branding and layout.
Step 1: Plan Your Design Tokens
Start by listing the reusable design tokens you need across HubSpot modules and templates:
- Brand colors (primary, secondary, accents)
- Text colors (body, headings, muted text)
- Font families and font sizes
- Spacing scale (small, medium, large)
- Border radii and shadows
These tokens become your CSS variables.
Step 2: Define Global Variables in Your HubSpot Theme
Place the variables in a global stylesheet that loads across your HubSpot pages, such as a main theme.css file.
:root {
/* Colors */
--color-primary: #2563eb;
--color-primary-dark: #1d4ed8;
--color-accent: #f97316;
--color-bg: #ffffff;
--color-text: #0f172a;
/* Typography */
--font-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
--font-size-base: 16px;
--font-size-lg: 18px;
--font-size-xl: 24px;
/* Spacing */
--space-xs: 0.25rem;
--space-sm: 0.5rem;
--space-md: 1rem;
--space-lg: 1.5rem;
}
Once defined, these variables can be used across all HubSpot modules, templates, and partials.
Step 3: Apply Variables to HubSpot Components
Use the variables to style common UI elements:
.hs-section {
background-color: var(--color-bg);
color: var(--color-text);
padding: var(--space-lg) 0;
}
.hs-btn-primary {
background-color: var(--color-primary);
color: #ffffff;
padding: var(--space-sm) var(--space-md);
border-radius: 999px;
}
.hs-btn-primary:hover {
background-color: var(--color-primary-dark);
}
This method ensures consistency across all HubSpot landing pages and blog layouts.
Advanced CSS Variable Techniques for HubSpot
Beyond basic colors and fonts, CSS variables enable dynamic, interactive experiences that align with HubSpot content strategies.
Using Fallback Values
You can provide a backup value if a variable is not defined:
.hero-title {
color: var(--color-hero-title, #0f172a);
}
This keeps your HubSpot pages robust even if certain variables are missing or overridden.
Overriding Variables for Sections and Modules
Because variables are scoped, you can override them in specific sections of a HubSpot page.
.hs-dark-section {
--color-bg: #020617;
--color-text: #e5e7eb;
background-color: var(--color-bg);
color: var(--color-text);
}
Any child element inside .hs-dark-section uses the updated values, giving you flexible theming for HubSpot modules without rewriting component styles.
Creating Light and Dark Themes in HubSpot
You can build a theme toggle by switching a wrapper class on the <body> element or a main layout container.
:root {
--color-bg: #ffffff;
--color-text: #0f172a;
}
body.dark-theme {
--color-bg: #020617;
--color-text: #e5e7eb;
}
Your HubSpot template can then toggle the dark-theme class with JavaScript or user settings, and the CSS variables automatically update the appearance.
Performance and Maintenance Benefits for HubSpot Sites
Using CSS variables can reduce maintenance overhead and enhance performance for HubSpot implementations.
- Fewer style overrides: Update a variable once instead of touching dozens of rules.
- Smaller CSS files: Reuse tokens instead of repeating literal values.
- Faster design changes: Rebrand HubSpot pages by changing a few lines.
- Cleaner collaboration: Designers and developers share a clear token system.
These benefits scale as a HubSpot site grows in complexity.
Best Practices for CSS Variables in HubSpot
To keep your implementation sustainable, follow these guidelines.
Naming Conventions
Adopt predictable, semantic names:
--color-primary,--color-primary-dark--font-heading,--font-body--space-sm,--space-xl
A consistent system makes your HubSpot stylesheets easier to navigate.
Group Variables Logically
Group related variables and comment sections in your CSS file:
:root {
/* Brand Colors */
--color-primary: #2563eb;
--color-secondary: #64748b;
/* Typography */
--font-base: system-ui, sans-serif;
--font-size-base: 16px;
}
This organization speeds up editing for any HubSpot developer or designer.
Align Variables with HubSpot Theme Fields
If your HubSpot theme exposes color or typography fields in the settings, map those values to CSS variables. This allows non-technical users to adjust branding while keeping your variable-based system intact.
Learning More About CSS Variables for HubSpot
To deepen your understanding of CSS variables and how they enhance HubSpot builds, review the full tutorial on the HubSpot blog at this CSS variables guide. It includes explanations and examples that pair well with the techniques described here.
For broader technical SEO and implementation support alongside your HubSpot work, you can also explore consulting resources at Consultevo, which focuses on scalable, search-friendly website architectures.
Conclusion: Using CSS Variables to Power HubSpot Themes
CSS variables provide a modern foundation for designing, maintaining, and evolving HubSpot websites. By centralizing design tokens, building flexible theme layers, and leveraging scoped overrides, you gain precise control over branding while simplifying long-term maintenance.
Integrated thoughtfully into your templates and modules, CSS variables enable your HubSpot implementation to stay consistent, adaptable, and ready for future design iterations.
Need Help With Hubspot?
If you want expert help building, automating, or scaling your Hubspot , work with ConsultEvo, a team who has a decade of Hubspot experience.
“`
