tailwindcss-intersect
TypeScript icon, indicating that this package has built-in type declarations

2.0.1 • Public • Published

Tailwind CSS Intersection Plugin

Imagine you could write an Intersection Observer like a Tailwind CSS variant:

<div class="opacity-0 intersect:opacity-100 transition-opacity"></div>

Demo

Click here to see it in action (View Source)


Installation

This package has two parts. A Tailwind CSS plugin and a tiny JavaScript snippet.
Download and install it with NPM:

npm install -D tailwindcss-intersect

Add the plugin to your tailwind.config.js file

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

Add the necessary JavaScript snippet to your site

Via CDN

You can include the CDN build of this plugin as a <script> tag to your site:

<script defer src="https://unpkg.com/tailwindcss-intersect@2.x.x/dist/observer.min.js"></script>

Via NPM

Alternatively, you can add the plugin to your JavaScript bundle:

import { Observer } from 'tailwindcss-intersect';

Observer.start();

Usage

Use the intersect: variant in your classes like you would with every other Tailwind CSS Variant:

<div class="bg-cyan-500 intersect:bg-indigo-600 transition-colors"></div>

Modifiers

intersect-once

You can use intersect-once if you want to trigger the event only on the first appearance of an element.

<div class="intersect:animate-spin intersect-once"></div>

intersect-half

Use the intersect-half utility to trigger the event when at least half of the element is visible. (threshold is set to 0.5)

<div class="intersect:animate-spin intersect-half"></div>

intersect-full

Use the intersect-full utility to trigger the event when when the element is fully visible. (threshold is set to 0.99)

<div class="intersect:animate-spin intersect-full"></div>

Custom classes

If you want to define the intersection behavior in a custom class (e.g. with the @apply directive), add a intersect class to your HTML element.

<div class="intersect custom-class"></div>

Migrate from 1.x

If you have integrated the JavaScript snippet via NPM, change the import like this:

// v1.x
import Observer from 'tailwindcss-intersect';

// v2.x
import { Observer } from 'tailwindcss-intersect';

Observer.start();

That's it! 🎉


Package Sidebar

Install

npm i tailwindcss-intersect

Weekly Downloads

697

Version

2.0.1

License

MIT

Unpacked Size

17.1 kB

Total Files

7

Last publish

Collaborators

  • heidkaemper