Custom CSS Disappear After Switching Squarespace Templates - Why?

You spent hours writing Custom CSS for your Squarespace site, switched templates, and now none of it works - your styles are gone and the site looks like a default template again. Custom CSS does not actually disappear after a Squarespace template switch. The code remains in the Custom CSS editor - it just stops working because the new template uses different HTML class names that your CSS selectors no longer match.

When Custom CSS seems to disappear after switching Squarespace templates, the CSS code is still there - open Design > Custom CSS and you will see it. The problem is that different templates use different HTML structures and class names. Your CSS rules target selectors that existed on the old template but do not exist on the new one. This guide covers why this happens, how to fix it, and how to prevent it in the future.

Custom CSS Disappear After Switching Squarespace Templates - Why?

This is a Squarespace 7.0 issue. On 7.1, there is no template switching - all sites share the same underlying HTML structure, so Custom CSS persists through redesigns. If you are on 7.1 and your CSS stopped working, the cause is different (likely a Squarespace platform update that changed class names). Squarespace includes Custom CSS on every plan. Use coupon code OKDIGITAL10 for 10% off any Squarespace plan.

Why Custom CSS Stops Working After a Template Switch

Different HTML Class Names

Each Squarespace 7.0 template generates different HTML. The Brine template might use .header-nav-list for navigation while Bedford uses .Main-nav. If your CSS targets .header-nav-list, it works on Brine but does nothing on Bedford because that class does not exist. The CSS rule is still in your editor - it just has no matching elements on the page.

Different HTML Structure

Beyond class names, the nesting structure of HTML elements differs between templates. A CSS rule that targets .content-wrapper .sqs-block h2 may not work if the new template nests those elements differently - even if the individual class names still exist, the parent-child relationship may have changed.

Different Default Styles

Your CSS may have been overriding specific default styles from the old template. The new template has different defaults, which means your CSS overrides may: no longer be necessary (the new template already has the style you wanted), target the wrong properties (the element exists but the property name or default value changed), or conflict with the new template's styling in unexpected ways.

How to Fix Your Custom CSS After Switching

Step 1: Do Not Delete Your Old CSS

Keep your old CSS in the editor - it documents what you previously styled and provides the values (colors, sizes, spacing) you want to recreate. Comment it out with /* */ so it does not interfere while you work on new rules.

Step 2: Inspect Elements in the New Template

Open your site in the browser, right-click on the element you want to style, and select Inspect. The browser's developer tools show the element's current HTML class names and structure. These are the selectors you need for the new template. For CSS debugging, our guide to Squarespace custom CSS covers using DevTools to find selectors.

Step 3: Rewrite CSS with New Selectors

For each old CSS rule, find the equivalent selector in the new template and rewrite the rule. Keep the property values (colors, sizes, spacing) from your old CSS - just update the selectors. This is faster than writing CSS from scratch because you already know what values you want.

Step 4: Test Each Rule

Add rules one at a time and verify each one works before adding the next. The Custom CSS editor shows changes in real time, so you can see immediately whether a new selector targets the correct element.

Step 5: Clean Up

Once all rules are rewritten, remove the commented-out old CSS. Add comments to the new rules explaining what each one does - this makes future template switches easier. For CSS organization, our guide to adding custom CSS to Squarespace covers documentation and maintainability practices.

Preventing CSS Loss in the Future

Always Back Up CSS Before Switching

Copy your entire Custom CSS to a text file before switching templates. Label it with the template name and date. This backup preserves your property values and serves as a reference for rewriting rules on the new template. For backup procedures, our guide to backing up your Squarespace site covers preserving all custom code.

Use Descriptive Comments

Comment every CSS rule with what it does (not what it targets): /* Make heading blue - brand primary color */ instead of /* Style for .header-nav-list */. The functional description helps you recreate the intent on any template, while selector-based comments are useless after a switch.

Use Generic Selectors Where Possible

When feasible, use standard HTML selectors (h1, h2, p, a) instead of template-specific class names. Standard selectors work across templates. Template-specific classes (.header-nav-list, .Main-nav) break on switch. Of course, generic selectors affect all elements of that type, so use them only when you want a site-wide change.

Consider Migrating to 7.1

On Squarespace 7.1, all sites share the same HTML structure. CSS you write on 7.1 survives redesigns because there is no template switching - you customize the same base. If repeated CSS rewrites after template switches are frustrating, migrating to 7.1 eliminates the problem permanently. For version differences, our guide to checking your Squarespace version covers migration considerations.

Common CSS Rules That Break After Switching

Navigation styling: Navigation class names differ the most between templates. Expect to rewrite all navigation CSS.

Header styling: Header structure varies significantly. Logo, menu, and header background CSS all need new selectors.

Button styling: Button class names are somewhat consistent (.sqs-block-button-element works on many templates) but hover states and sizing may differ.

Footer styling: Footer structure is entirely template-dependent. All footer CSS needs rewriting.

Gallery and blog styling: Gallery and blog HTML structures vary between templates. Image hover effects, blog grid layouts, and gallery spacing CSS break after switching. For CSS reference, our Squarespace CSS cheat sheet covers common selectors. For template switching details, our guide to changing templates on Squarespace covers the complete process. For design strategies, our Squarespace design tips guide covers visual customization principles.

Frequently Asked Questions

Why did my Custom CSS disappear after switching Squarespace templates?

Your CSS did not disappear - it is still in Design > Custom CSS. It stopped working because the new template uses different HTML class names. Your CSS selectors no longer match any elements on the new template.

How do I fix Custom CSS after a Squarespace template switch?

Inspect elements on the new template with browser DevTools to find the new class names. Rewrite your CSS rules with the updated selectors. Keep the property values (colors, sizes) from your old CSS - only change the selectors.

Will my Custom CSS work on any Squarespace template?

CSS using standard HTML selectors (h1, h2, p, a) works across templates. CSS targeting template-specific class names (.header-nav-list, .Main-nav) only works on the template those classes belong to.

Should I back up my CSS before switching templates?

Yes. Copy your entire Custom CSS to a text file before switching. Label it with the template name and date. This preserves your styling values and serves as a reference for rewriting on the new template.

Does this happen on Squarespace 7.1?

No. On 7.1, all sites share the same HTML structure - there is no template switching. CSS you write on 7.1 persists through redesigns. CSS may break on 7.1 only if Squarespace updates their platform HTML, which is rare.

How long does it take to rewrite CSS for a new template?

It depends on how much CSS you have. A site with 20 to 30 CSS rules can be rewritten in 1 to 2 hours. A site with hundreds of rules may take a full day. Having your old CSS as reference speeds up the process significantly.

Can I avoid CSS rewriting by staying on the same template family?

Switching between templates within the same 7.0 family (e.g., different Brine variations) usually preserves more CSS compatibility than switching between families. But even within families, some class names may differ.

Your CSS Is Not Gone - It Just Needs New Selectors

Custom CSS disappearing after a template switch is the most predictable issue in Squarespace 7.0. The code stays. The class names change. The fix is inspecting elements on the new template and rewriting selectors while keeping your property values.

Back up before you switch. Comment your CSS by function. Use generic selectors where possible. And if repeated rewrites frustrate you, consider 7.1 where this problem does not exist.

Keep Reading

* Read the rest of the post and open up an offer
Top