Since Pollen is just CSS variables, it works everywhere without any preprocessor or environment requirements.
Install Pollen from NPM and include its CSS in your project, or link direct to it on the Unpkg CDN
{% tabs %} {% tab title="Module import" %}
npm i pollen-css
import 'pollen-css/pollen.css';
Requires CSS support in your bundler (eg: Webpack, Rollup, etc) {% endtab %}
{% tab title="CSS import (CDN)" %}
@import "https://unpkg.com/pollen-css/dist/pollen.css";
{% endtab %}
{% tab title="HTML Link (CDN)" %}
<link rel="stylesheet" href="https://unpkg.com/pollen-css/dist/pollen.css" />
{% endtab %} {% endtabs %}
Once Pollen is included in your project, you can use its variables anywhere
The real power of Pollen comes when you begin to extend and customise the default set of CSS variables. Every part of the library can be customised, extended, or stripped out with the pollen
command line build tool. Instead of importing the default pollen.css
file, create a pollen.config.js
config file in the root of your project and run pollen
to generate your own custom design system. Then import the generated CSS file as you normally would.
Read more in configuration.
Pollen requires a small shim to work in Internet Explorer 11 and below, as it doesn't support the CSS variables that the library is built on. Enable IE support with the included shimmie
utility from pollen-css/utils
import { shimmie } from 'pollen-css/utils';
shimmie();
Shimmie will check for support and, if required, dynamically load and apply the excellent css-vars-ponyfill
shim with sane configuration.
Enable intellisense autocompletion for Pollen in VS Code by installing the CSS Var Complete extension and adding Pollen's CSS in a .vscode/settings.json
file in the root of your project, along with some optional additional configuration.
If you have configured a custom Pollen bundle make sure you add the output CSS file to the cssvar.files
array instead of the default pollen.css
bundle.
{% code title=".vscode/settings.json" %}
{
"cssvar.files": [
// Or your custom Pollen bundle
"./node_modules/pollen-css/dist/pollen.css",
],
// Do not ignore css files in node_modules, which is ignored by default
"cssvar.ignore": [],
// Use Pollen's inbuilt variable ordering
"cssvar.disableSort": true,
// Add support for autocomplete in other file types
"cssvar.extensions": ["css", "html", "jsx", "tsx"]
}
{% endcode %}