Skip to content

How to Set the Global Colors in Dark Mode?

Table Of Content

Inverting a page is quick, but it is a blunt instrument. If you want dark mode to look designed rather than flipped, the Global Color type is the one to use: you give each of your Elementor global colours a second, darker value, and the widget swaps them when the visitor flicks the switch.

Nothing is blended and nothing is inverted – only the colour values change, and only for elements that actually use a global colour. For the rest of the widget, see the full Dark Mode settings overview.

Requirement – This widget is a part of The Plus Addons for Elementor, make sure it’s installed & activated to enjoy all its powers.

Before You Start

  • Edition: Free. Nothing on this page needs Pro.
  • Prerequisite: Elementor (free) installed and active.
  • Widget to enable: go to The Plus Addons > Widgets, search for Dark Mode and turn its toggle on.
  • Prerequisite, and this one is not optional: your Elementor global colours must already be saved under Site Settings > Global Colors. If that palette is empty the widget outputs nothing at all and the page is inverted instead.
  • Prerequisite: the elements on your pages have to be using those global colours. Anything with a hand-picked colour will not change.

Steps

  1. Set your light-mode palette first, in Elementor’s Site Settings > Global Colors, and use those colours in your page design.
  2. Add the Dark Mode widget – to a header or footer template for the whole site, or to a single page.
  3. In the Content tab, open Layout and set Type to Global Color.
  4. A Global Color section appears. Open it. It holds four rows, labelled primary, secondary, text and accent.
  5. Open each row and set its Color to the dark-mode value you want for the matching global colour. The Label field is just a name for the row.
The global color section with its four rows, shown when type is set to global color.

The rows are matched to your palette by position. Row one replaces your first global colour, row two the second, and so on. Renaming a row changes nothing. If you have added custom global colours, use + Add Item and keep the order the same as in Site Settings.

What you get on the page

On a test page whose heading, body text, button and section background all used global colours, clicking the switch swapped all four values at once:

Global colourLightDark
primary (heading)#1B2A4A#E8EAF2
secondary (section background)#F3F5FA#101826
text (paragraph)#333333#C7CEDB
accent (button)#2E7DF7#6FA8FF

Every element using one of those colours followed it, and nothing else on the page moved. The button’s own label colour, which had been picked by hand rather than taken from the palette, stayed exactly as it was – a good illustration of the rule.

The same page with type set to global color: the background and text take their dark shades and nothing is inverted.

And the same page once the dark values are in place and the switch is thrown:

Settings used here

SettingWhat it doesDefault
TypeGlobal Color swaps palette values instead of blendingMix Blend
Global Color (repeater)One row per global colour, in the same order as Site Settings4 rows
LabelA name for the row; has no effect on matchingLabel
ColorThe dark-mode value for that global colourempty

How it behaves

  • The widget writes one rule that redefines your global colour variables while the page carries the dark-mode state, so every element using them updates together.
  • It also forces the blend layer to be transparent, which is why nothing is inverted with this type – the two approaches do not stack.
  • A row with no colour set is skipped, so you can convert part of your palette and leave the rest alone.

Limitations

  • An empty Elementor palette makes this do nothing. If no global colours have ever been saved on the site, the widget outputs no rule at all, the blend layer is never switched off, and the page is inverted as if you had chosen Mix Blend. Nothing in the editor warns you.
  • Hard-coded colours are not touched. Any element whose colour was picked from the colour picker rather than the palette keeps that colour in dark mode.
  • Order matters, labels do not. A row out of sequence recolours the wrong thing.
  • Images are not affected either way. This type does not change photos, which is usually what you want, but a bright white logo will stay bright white.

Troubleshooting

The page just goes black instead of using my colours

Your Elementor palette is empty, so the widget falls back to inverting the page. Save your colours under Site Settings > Global Colors and reload.

Some elements change and others do not

The ones that did not change are not using a global colour. Open each and set its colour from the palette instead of the picker.

The wrong things changed colour

The rows are out of order. Line them up with the order in Site Settings > Global Colors.

The Global Color section is not in the panel

Type is still on Mix Blend. The section only appears for Global Color.

Not verified

So you know exactly what has and has not been checked:

  • Only the four system colours were tested. Custom global colours added with + Add Item were not.
  • Everything was tested on a single page. The widget inside a header or footer template, across several pages, was not.
  • No test with a theme that supplies its own colours outside Elementor’s palette.
  • The behaviour when a row is deliberately left blank was reasoned from the plugin, not rendered.

Related Docs

Related Frequently Asked Questions

Related Docs