Simple Svelte component to compare two images using slider.
- Simple
- Responsive (fit to the parent width)
- Size difference between two images handled correctly. Element size determined by following two factors:
- width of the parent
- right image's aspect ratio
npm i svelte-image-compare --save
yarn add svelte-image-compare
CDN: UNPKG | jsDelivr (available as window.ImageCompare
)
<ImageCompare
before="//placehold.it/600x200/E8117F/FFFFFF"
after="//placehold.it/600x200/CCCCCC/FFFFFF"
contain={true}
>
<span slot="before">BEFORE</span>
<span slot="after">AFTER</span>
</ImageCompare>
<script>
import ImageCompare from './ImageCompare.svelte';
</script>
If you are not using using es6, instead of importing add
<script src="/path/to/svelte-image-compare/index.js"></script>
just before closing body tag.
Name | Type | Description | Required | Default |
---|---|---|---|---|
before |
String |
Path to the image image before change | Yes | empty string |
after |
String |
Path to the image image after change | Yes | empty string |
offset |
Number |
How far from the left the slider should be on load (between 0 and 1) | No | 0.5 |
contain |
Boolean |
Determines if images are stretched to fill parent element. Can be used with help of CSS object-fit: cover to create full page image comparison |
No | false |
overlay |
Boolean |
Show overlay upon images | No | true |
hideOnSlide |
Boolean |
Hide overlay & labels on sliding | No | true |
before
- element to be placed on top of before image (basically a label)after
- element to be placed on top of after image (basically a label)
MIT © PaulMaly