Background Attachment

Utilities for controlling how a background image behaves when scrolling.

Class reference

.bg-fixedbackground-attachment: fixed;
.bg-localbackground-attachment: local;
.bg-scrollbackground-attachment: scroll;


Use .bg-fixed to fix the background image relative to the viewport.

<div class="bg-fixed ..." style="background-image: url(...)"></div>


Use .bg-local to scroll the background image with the container and the viewport.

<div class="bg-local ..." style="background-image: url(...)"></div>


Use .bg-scroll to scroll the background image with the viewport, but not with the container.

<div class="bg-scroll ..." style="background-image: url(...)"></div>


To control the background attachment of an element at a specific breakpoint, add a {screen}: prefix to any existing background attachment utility. For example, use md:bg-fixed to apply the bg-fixed utility at only medium screen sizes and above.

For more information about Tailwind's responsive design features, check out the Responsive Design documentation.

<div class="bg-fixed sm:bg-local md:bg-scroll lg:bg-local xl:bg-fixed ...">
  <!-- ... -->


Responsive and pseudo-class variants

By default, only responsive variants are generated for background attachment utilities.

You can control which variants are generated for the background attachment utilities by modifying the backgroundAttachment property in the variants section of your tailwind.config.js file.

For example, this config will also generate hover and focus variants:

  // tailwind.config.js
  module.exports = {
    variants: {
      // ...
-     backgroundAttachment: ['responsive'],
+     backgroundAttachment: ['responsive', 'hover', 'focus'],


If you don't plan to use the background attachment utilities in your project, you can disable them entirely by setting the backgroundAttachment property to false in the corePlugins section of your config file:

  // tailwind.config.js
  module.exports = {
    corePlugins: {
      // ...
+     backgroundAttachment: false,

Tailwind UI is now in early access!