7.8.2 • Published 1 year ago

acf-img-comparison-slider v7.8.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

img-comparison-slider

npm package Published on webcomponents.org

Slider Component for Comparing Images (Before and After).

Usage examples: https://img-comparison-slider.sneas.io/examples.html

Example

Most Important Features

  • Mobile friendly
  • Accessible
  • Responsive
  • Compact - less than 12 kB minified (Or less than 4 kB if gzipped)
  • Compatible with modern frameworks (React, Angular, Vue2, Vue3)
  • Distributed via CDN or NPM

Installation

Browser Requirements

HTML

<script
  defer
  src="https://unpkg.com/img-comparison-slider@7/dist/index.js"
></script>
<link
  rel="stylesheet"
  href="https://unpkg.com/img-comparison-slider@7/dist/styles.css"
/>

<img-comparison-slider>
  <img slot="first" src="before.jpg" />
  <img slot="second" src="after.jpg" />
</img-comparison-slider>

Frameworks Support

Supported Attributes

Besides the default HTMLElement attributes such as class, tabindex, title, etc., img-comparison-slider supports:

AttributeDescriptionDefaultAvailable
valuePosition of the divider in percents.500..100
hoverAutomatically slide on mouse over.false
directionSet slider direction.horizontalhorizontal, vertical
nonceDefine nonce which gets passed to inline style.
keyboardEnable/disable slider position control with the keyboard.enabledenabled, disabled
handleEnable/disable dragging by handle only.falsetrue, false

Events

The component emits slide event when the slider position is changed by user.

Styling

Some styling techniques and ideas can be found in examples.

The component elements like the default handle or the separator line could be styled using CSS3 variables.

Example:

<style type="text/css">
  img-comparison-slider {
    --divider-width: 2px;
    --divider-color: #c0c0c0;
    --default-handle-opacity: 0.3;
  }
</style>

Available Variables

VariableDescriptionDefault valueExample value
--divider-widthWidth of the vertical line separating both images1px1em
--divider-colorColor of the vertical line separating the two images#fffrgba(0, 0, 0, 0.5)
--divider-shadowShadow cast by the vertical line separating the two imagesnone0px 0px 5px rgba(0, 0, 0, 0.5)
--handle-position-startHandle position on the divider axis. In case the handle must be displaced off the center50%
--default-handle-widthWidth of the default handle50px
--default-handle-colorColor of the default handle#fffrgba(0, 0, 0, 0.5)
--default-handle-opacityOpacity of the default handle10.3
--default-handle-shadowShadow cast by the default handlenone0px 0px 5px rgba(0, 0, 0, 1)

Handle

The handle of the component can be changed by assigning the attribute slot="handle" to any element within img-comparison-slider.

acf-img-comparison-slider