diff options
| Commit | c811cb46631e66772a108c393f6ef53a83ca010b (patch) | |
|---|---|---|
| Author | 2017-09-01 15:34:29 +0800 | |
| Committer | 2017-09-01 15:34:29 +0800 | |
| Files | cc78dfa6f7398e9e77dd81d8865bcca939b9549d /src/_comparison-sliders.scss | |
| Spectre-Dark-Gruvbox-0.4.0.tar Spectre-Dark-Gruvbox-0.4.0.tar.gz Spectre-Dark-Gruvbox-0.4.0.zip | ||
| Parent | 66c492fd05c2d720c81e2be8d6845560b868e7ff (diff) | |
| Parent | cca094ecbf55e8a4f552e55219b37373d3c07d9e (diff) | |
Merge pull request #266 from picturepan2/0.4.0 v0.4.0
0.4.0
1 files changed, 114 insertions, 0 deletions
| -rw-r--r-- | src/_comparison-sliders.scss | 114 |
diff --git a/src/_comparison-sliders.scss b/src/_comparison-sliders.scss new file mode 100644 index 0000000..a219863 --- /dev/null +++ b/src/_comparison-sliders.scss @@ -0,0 +1,114 @@ +// Image comparison slider +// Credit: http://codepen.io/solipsistacp/pen/Gpmaq +.comparison-slider { + height: 50vh; + overflow: hidden; + position: relative; + width: 100%; + + .comparison-before, + .comparison-after { + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + position: absolute; + top: 0; + + img { + height: 100%; + object-fit: none; + object-position: left center; + position: absolute; + width: 100%; + } + } + + .comparison-before { + width: 100%; + z-index: 1; + + .comparison-label { + right: $unit-4; + } + } + + .comparison-after { + max-width: 100%; + min-width: 0; + z-index: 2; + + &::before { + background: transparent; + content: ""; + cursor: default; + height: 100%; + left: 0; + position: absolute; + right: $unit-4; + top: 0; + z-index: $zindex-0; + } + + &::after { + background: currentColor; + border-radius: 50%; + box-shadow: 0 -5px, 0 5px; + color: $light-color; + content: ""; + height: 3px; + position: absolute; + right: $unit-2; + top: 50%; + transform: translate(50%, -50%); + width: 3px; + } + + .comparison-label { + left: $unit-4; + } + } + + .comparison-resizer { + animation: first-run 1.5s 1 ease-in-out; + cursor: ew-resize; + height: $unit-4; + left: 0; + max-width: 100%; + min-width: $unit-4; + opacity: 0; + outline: none; + position: relative; + resize: horizontal; + top: 50%; + transform: translateY(-50%) scaleY(30); + width: 0; + } + + .comparison-label { + background: rgba($dark-color, .5); + bottom: $unit-4; + color: $light-color; + padding: $unit-1 $unit-2; + position: absolute; + user-select: none; + } +} + +@keyframes first-run { + 0% { + width: 0; + } + 25% { + width: $unit-12; + } + 50% { + width: $unit-4; + } + 75% { + width: $unit-6; + } + 100% { + width: 0; + } +} |