Overscroll

Overscroll utility styles with module mixins for responsive modifiers.

Utilities (anchor)

Overscroll utilities and property values
Utility name Property values
.overscroll-auto overscroll-behavior: auto
.overscroll-contain overscroll-behavior: contain
.overscroll-initial overscroll-behavior: initial

Responsive mixins (anchor)

Responsive modifier mixins are provided to include where required in custom breakpoints, the utilities available use the following modifier class naming convention:

.overscroll-auto
.overscroll-auto-xxl
.overscroll-auto-xl
.overscroll-auto-lg
.overscroll-auto-md
.overscroll-auto-sm
.overscroll-auto-xs
.overscroll-auto-xxs

Using the module (anchor)

To use the module load the StyleMods scss directory as follows (changing the path to suit the source files location as required) then include the Sass mixin anywhere below.

custom.scss
@use "stylemods/scss" as *;
@include overscroll-css;

// Example breakpoint
@media (max-width: 480px) {
  @include overscroll-sm-css;
}

Source code (anchor)

overscroll.scss
//  ------------------------------------------------------------
//  Overscroll behavior
//  ------------------------------------------------------------
$overscroll-auto:                       auto;
$overscroll-contain:                    contain;

$overscroll-behavior: (
  "overscroll-auto": $overscroll-auto,
  "overscroll-contain": $overscroll-contain,
) !default;

@mixin overscroll-behavior-css {
  @each $name, $value in $overscroll-behavior {
    .#{$name} {
      overscroll-behavior: #{$value};
    }
  }
}

// Breakpoint XXL
@mixin overscroll-behavior-xxl-css {
  @each $name, $value in $overscroll-behavior {
    .#{$name}-xxl {
      overscroll-behavior: #{$value};
    }
  }
}

// Breakpoint XL
@mixin overscroll-behavior-xl-css {
  @each $name, $value in $overscroll-behavior {
    .#{$name}-xl {
      overscroll-behavior: #{$value};
    }
  }
}

// Breakpoint LG
@mixin overscroll-behavior-lg-css {
  @each $name, $value in $overscroll-behavior {
    .#{$name}-lg {
      overscroll-behavior: #{$value};
    }
  }
}

// Breakpoint MD
@mixin overscroll-behavior-md-css {
  @each $name, $value in $overscroll-behavior {
    .#{$name}-md {
      overscroll-behavior: #{$value};
    }
  }
}

// Breakpoint SM
@mixin overscroll-behavior-sm-css {
  @each $name, $value in $overscroll-behavior {
    .#{$name}-sm {
      overscroll-behavior: #{$value};
    }
  }
}

// Breakpoint XS
@mixin overscroll-behavior-xs-css {
  @each $name, $value in $overscroll-behavior {
    .#{$name}-xs {
      overscroll-behavior: #{$value};
    }
  }
}

// Breakpoint XXS
@mixin overscroll-behavior-xxs-css {
  @each $name, $value in $overscroll-behavior {
    .#{$name}-xxs {
      overscroll-behavior: #{$value};
    }
  }
}