Skip to content

Tailwind CSS plugin for `contain-visibility` and `contain-intrinsic-size` properties

License

Notifications You must be signed in to change notification settings

Cherry/tailwindcss-content-visibility

Repository files navigation

tailwindcss-content-visibility

A plugin that provides utilities for the content-visibility and contain-intrinsic-size properties. These properties, when used correctly, can drastically increase page render performance in modern browsers.

Please review the following resources for more information:

Installation

Install the plugin from npm:

npm install -D tailwindcss-content-visibility

Then add the plugin to your tailwind.config.js file:

// tailwind.config.js
module.exports = {
  theme: {
    // ...
  },
  plugins: [
    require('tailwindcss-content-visibility'),
    // ...
  ],
}

Usage

Combine the content-visibility-{x} and contain-intrinsic-size-{x} classes to control the visibility and natural size of an element.

<div class="content-visibility-auto contain-intrinsic-size-[auto_1000px]">
  ...
</div>

This would output something like:

.content-visibility-auto {
	content-visibility: auto;
}
.contain-intrinsic-size-\[auto_1000px\] {
	contain-intrinsic-size: auto 1000px;
}

Both utilities fully support JIT for custom values, but the following default values for content-visibility are supported:

Class Output
content-visibility-auto auto
content-visibility-hidden hidden
content-visibility-visible visible

Configuration

You can configure additional defaults and classes under the contentVisibility and containIntrinsicSize keys in your tailwind.config.js file:

// tailwind.config.js
module.exports = {
  theme: {
		extend: {
			contentVisibility: {
				'foo': 'bar',
			},
			containIntrinsicSize: {
				example: '1px 20px',
			},
		}
  },
}

With the above configuration, you could then use:

<div class="content-visibility-foo contain-intrinsic-size-example">
  ...
</div>

And this would output something like:

.content-visibility-foo {
	content-visibility: bar;
}
.contain-intrinsic-size-example {
	contain-intrinsic-size: 1px 20px;
}

About

Tailwind CSS plugin for `contain-visibility` and `contain-intrinsic-size` properties

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published