@tailwindcss/container-queries
A plugin for Tailwind CSS v3.2+ that provides utilities for container queries.
Installation
Install the plugin from npm:
npm install @tailwindcss/container-queries
Then add the plugin to your tailwind.config.js
file:
module.exports = {
theme: {
},
plugins: [
require('@tailwindcss/container-queries'),
],
}
Usage
Start by marking an element as a container using the @container
class, and then applying styles based on the size of that container using the container variants like @md:
, @lg:
, and @xl:
:
<div class="@container">
<div class="@lg:underline">
</div>
</div>
By default we provide container sizes from @xs
(20rem
) to @7xl
(80rem
).
Named containers
You can optionally name containers using a @container/{name}
class, and then include that name in the container variants using classes like @lg/{name}:underline
:
<div class="@container/main">
<div class="@lg/main:underline">
</div>
</div>
Arbitrary container sizes
In addition to using one of the container sizes provided by default, you can also create one-off sizes using any arbitrary value:
<div class="@container">
<div class="@[17.5rem]:underline"></div>
</div>
</div>
Removing a container
To stop an element from acting as a container, use the @container-normal
class.
Configuration
By default we ship with the following configured values:
Name | CSS |
---|
@xs | @container (min-width: 20rem) |
@sm | @container (min-width: 24rem) |
@md | @container (min-width: 28rem) |
@lg | @container (min-width: 32rem) |
@xl | @container (min-width: 36rem) |
@2xl | @container (min-width: 42rem) |
@3xl | @container (min-width: 48rem) |
@4xl | @container (min-width: 56rem) |
@5xl | @container (min-width: 64rem) |
@6xl | @container (min-width: 72rem) |
@7xl | @container (min-width: 80rem) |
You can configure which values are available for this plugin under the containers
key in your tailwind.config.js
file:
module.exports = {
theme: {
extend: {
containers: {
'2xs': '16rem',
},
},
},
}