CSS Variables
for WordPress.

OxyProps Lite is a free and Open Source WordPress plugin bringing the Open Props Supercharged CSS Variables collection to your WordPress site.
It currently includes 351 CSS Custom Properties for Colors, Gradients, Shadows, Aspect Ratios, Typography, Easing, Animations, Sizes, Borders, Z-Index and Media Queries.
Get Started
A supercharged CSS Variables framework of expertly crafted web design tokens.
Combine them to create consistent, unique and reusable components.
Designed for WordPress to build any design, directly in custtom CSS or with your favorite site builder.
Connect with the community:

Sign up to receive news and updates!

Leave this field blank

Why Use OxyProps Lite?

It is non-prescriptive

Includes Open Props

A CSS Variables collection created and developed by World Class CSS Experts

Modular & Lightweight

Include all props or pick individual PropsPacks from the dashboard

Lightning Fast

Preserve your page load times by selecting "Inline CSS" in dashboard

Create your own components

Build your own utility classes by combining and expanding the props
--o-
This website is built with OxyProps Lite and Oxygen. Inspect the CSS and look for the signature « double-dash o ».

Get Started

It's damn easy!
Download Plugin File 
01

Download OxyProps Lite

Click the button to download a .ZIP file containing the latest version of OxyProps Lite.
Download Zip
Alternatively, you can download the repository from Github.
Download Repo
02

Upload to WordPress

Install the plugin from you WordPress dashboard Plugins > Add New or upload the unzipped folder to wp-content/plugins.
Activate the plugin from your Plugins dashboard.
03

Set-up your plugin

Choose if you want to apply OxyProps Lite Normalize, or not (default).
Choose if you want the full bundle (default) or pick individual props.
Choose if you want to inline CSS or load spreadsheets (default).
Choose if you want to keep (default) or remove Gutenberg inlined styles.
04

You're good to go!

Everything is now set-up.
You can open your site builder and apply OxyProps Lite CSS Variables wherever you want ! 
padding: var(--o-size-fluid-2);
font-size: var(--o-font-size-fluid-1);
animation: var(--o-animation-pulse); 

OxyProps Lite vs OxyProps Pro

Which on is the best fit for you?

OxyProps Lite

If you are a CSS enthusiast, or you want to develop your CSS Skills, and if you have the will and the time to create your own custom elements, this is for you!
Free
Get OxyProps Lite 
 351 Open Props Design Tokens
 Normalize (presets) Stylesheet
 Inline CSS for better performance
 Load only what you really use
 Dequeue Gutenberg default styles
 Exclusive OxyProps Tokens
 6000+ Utility Classes
 Builder enhancements
 Builder custom elements

OxyProps Pro

If you want to save your precious time by using an advanced, done for you CSS fraameword loaded with productivity features, this is for you!
From 49€ Lifetime
Buy OxyProps Pro 
All  OxyProps Lite features plus:
 200+ Exclusive OxyProps Tokens
 6000+ Utility Classes
 Customizable color swatches
 Customizable fluid typography
 Built-in Light & Dark mode support
 Builder Global Styles
 Super useful builder context menus
 Builder custom elements library
 Supports Oxygen Builder
 Will support Bricks Builder (Soon)

Colors

Thanks to Open Props, OxyProps Lite includes Open Color, an open-source color scheme optimized for UI development.
--o-gray-{0-9}
--o-red-{0-9}
--o-pink-{0-9}
--o-grape-{0-9}
--o-violet-{0-9}
--o-indigo-{0-9}
--o-blue-{0-9}
--o-cyan-{0-9}
--o-teal-{0-9}
--o-green-{0-9}
--o-lime-{0-9}
--o-yellow-{0-9}
--o-orange-{0-9}

Light & Dark mode management

You manage Light and Dark Modes by creating aliases (If you are not familiar with design tokens and aliases, you can watch this video)
html {
  --o-surface-1: var(--o-gray-0);
  --o-surface-2: var(--o-gray-2);

  @media (prefers-color-scheme:dark) {
    --o-surface-1: var(--o-gray-9);
    --o-surface-2: var(--o-gray-8);
  }
}
If you choose to load OxyProps Lite Normalize, you will get access to the following ready-made aliases, which are light / dark responsive :
--o-surface-{1-4} --o-text-{1-2} --o-link --o-link-visited

Apply Opacity

All colors have their equivalent HSL prop in the form --o-color-{0-9}-hsl. These hsl props allow you to use CSS hsl() function in the following way.
The following example will apply a backdrop using grape 9 with a 30% opacity.
.o-overlay {
  background-color: hsl(var(--o-grape-9-hsl) / 30%);
}
result
The following example will create a linear gradient from blue 5 to blue 5 with a 5% opacity.
.o-my-gradient {
  background: linear-gradient(to right, var(--o-blue-5), hsl(var(--o-blue-5-hsl) / 5%));
}
result

Gradients

The Open Props library includes 30 done for you gradients
background: var(--o-gradient-{1-30});

Noises

Open Props also offers a collections of noises and noise filters
background: var(--o-noise-{1-5});

Noises 1 to 5 as background images:

Noise filters 1 to 5 combined with gradients and noises:

background: var(--o-gradient-{1-30}), var(--o-noise-{1-5});
filter: var(--o-noise-filter-{1-5});

Shadows

box-shadow: var(--o-shadow-{1-6});

Inner Shadows

box-shadow: var(--o-inner-shadow-{0-4});

Aspect Ratios

aspect-ratio: var(--o-ratio-{name});
--o-ratio-square
--o-ratio-portrait
--o-ratio-landscape
--o-ratio-golden
--o-ratio-widescreen
--o-ratio-ultrawide

Typography

Font Families

font-family: var(--o-font-{family});
--o-font-sans
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 0 + = ! @ # % $ % ^ &
--o-font-serif
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 0 + = ! @ # % $ % ^ &
--o-font-mono
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 0 + = ! @ # % $ % ^ &

Font Weights

font-weight: var(--o-font-weight-{1-9});
--o-font-weight-1
This is a thin text
--o-font-weight-2
This is an extra light text
--o-font-weight-3
This is a light text
--o-font-weight-4
This is a regular text
--o-font-weight-5
This is a medium text
--o-font-weight-6
This is a semi-bold text
--o-font-weight-7
This is a bold text
--o-font-weight-8
This is an extra bold text
--o-font-weight-9
This is a heavy text

Letter Spacing

letter-spacing: var(--o-font-letterspacing-{0-7});
--o-font-letterspacing-0
The five boxing wizards jump quickly.
--o-font-letterspacing-1
The five boxing wizards jump quickly.
--o-font-letterspacing-2
The five boxing wizards jump quickly.
--o-font-letterspacing-3
The five boxing wizards jump quickly.
--o-font-letterspacing-4
The five boxing wizards jump quickly.
--o-font-letterspacing-5
The five boxing wizards jump quickly.
--o-font-letterspacing-6
The five boxing wizards jump quickly.
--o-font-letterspacing-7
The five boxing wizards jump quickly.

Line Height

line-height: var(--o-font-lineheight-{00-5});
--o-font-lineheight-00
This is a simple
multilines text.
--o-font-lineheight-0
This is a simple
multilines text.
--o-font-lineheight-1
This is a simple
multilines text.
--o-font-lineheight-2
This is a simple
multilines text.
--o-font-lineheight-3
This is a simple
multilines text.
--o-font-lineheight-4
This is a simple
multilines text.
--o-font-lineheight-5
This is a simple
multilines text.

Static Font Size

font-size: var(--o-font-size-{00-8});
--o-font-size-00
Pack my box with five dozen liquor jugs.
--o-font-size-0
Pack my box with five dozen liquor jugs.
--o-font-size-1
Pack my box with five dozen liquor jugs.
--o-font-size-2
Pack my box with five dozen liquor jugs.
--o-font-size-3
Pack my box with five dozen liquor jugs.
--o-font-size-4
Pack my box with five dozen liquor jugs.
--o-font-size-5
Pack my box with five dozen liquor jugs.
--o-font-size-6
Pack my box with five dozen liquor jugs.
--o-font-size-7
Pack my box with five dozen liquor jugs.
--o-font-size-8
Pack my box with five dozen liquor jugs.

Fluid Font Size

font-size: var(--o-font-size-fluid-{0-3});
--o-font-size-fluid-0
Sphinx of black quartz, judge my vow.
--o-font-size-fluid-1
Sphinx of black quartz, judge my vow.
--o-font-size-fluid-2
Sphinx of black quartz, judge my vow.
--o-font-size-fluid-3
Sphinx of black quartz, judge my vow.

Sizes

Static Size

margin: var(--o-size-{000-15});
--o-size-000
--o-size-00
--o-size-1
--o-size-2
--o-size-3
--o-size-4
--o-size-5
--o-size-6
--o-size-7
--o-size-8
--o-size-9
--o-size-10
--o-size-11
--o-size-12
--o-size-13
--o-size-14
--o-size-15

Fluid Size

margin: var(--o-size-fluid-{1-10});
--o-size-fluid-1
--o-size-fluid-2
--o-size-fluid-3
--o-size-fluid-4
--o-size-fluid-5
--o-size-fluid-6
--o-size-fluid-7
--o-size-fluid-8
--o-size-fluid-9
--o-size-fluid-10

Reading Content Size

max-width: var(--o-size-content-{1-3});
--o-size-content-1
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.
--o-size-content-2
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
--o-size-content-3
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat.

Headline Content Size

max-width: var(--o-size-header-{1-3});
--o-size-header-1
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.
--o-size-header-2
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
--o-size-header-3
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat.

Borders

Border Size

border-width: var(--o-border-size-{1-5});
--o-border-size-1
--o-border-size-2
--o-border-size-3
--o-border-size-4
--o-border-size-5

Border Radius

border-radius: var(--o-radius-{1-5});
--o-radius-1
--o-radius-2
--o-radius-3
--o-radius-4
--o-radius-5
--o-radius-round

Blobs

border-radius: var(--o-radius-blob-{1-5});
--o-radius-blob-1
--o-radius-blob-2
--o-radius-blob-3
--o-radius-blob-4
--o-radius-blob-5

Layers

z-index: var(--o-layer-{1-5});
z-index: var(--o-layer-important);
Layer 1
Layer 2
Layer 3
Layer 4
Layer 5

Easing

Ease

animation-timing-function: var(--o-ease-{1-5});
1
2
3
4
5

Ease-In

animation-timing-function: var(--o-ease-in-{1-5});
1
2
3
4
5

Ease-Out

animation-timing-function: var(--o-ease-out-{1-5});
1
2
3
4
5

Ease-In-Out

animation-timing-function: var(--o-ease-in-out-{1-5});
1
2
3
4
5

Ease Elastic

animation-timing-function: var(--o-ease-elastic-{1-5});
1
2
3
4
5

Ease Squish

animation-timing-function: var(--o-ease-squish-{1-5});
1
2
3
4
5

Ease Steps

animation-timing-function: var(--o-ease-step-{1-5});
1
2
3
4
5

Animations

Base

animation: var(--o-animation-{animation-name});
--o-animation-fade-in
--o-animation-fade-out
--o-animation-scale-up
--o-animation-scale-down
--o-animation-slide-out-left
--o-animation-slide-out-up
--o-animation-slide-out-right
--o-animation-slide-out-down
--o-animation-slide-in-left
--o-animation-slide-in-up
--o-animation-slide-in-right
--o-animation-slide-in-down
--o-animation-spin
--o-animation-ping
--o-animation-blink
--o-animation-float
--o-animation-bounce
--o-animation-pulse
--o-animation-shake-x
--o-animation-shake-y

Combined

.slide-fade {
  animation:
    var(--o-animation-fade-out) forwards;
    var(--o-animation--slide-out-down);
  animation-timing-function: var(--o-ease-squish-3);
  animation-duration: 3s;
}

Shake In

.shake-in {
  animation:
    var(--o-animation-shake-y),
    var(--o-animation-fade-in),
    var(--o-animation-slide-in-left);
}