Summary Files Commits Branches @commit @diff @stats
path: root / src / comparison-sliders.less
diff options
context:
space:
mode:
Commit1c0fd0bd85ba36bd454f641e32caf6b19ad2d069 (patch)
Author
 Yan Zhu <picturepan2@hotmail.com>
2017-04-01 16:56:48 +0800
Committer
 Yan Zhu <picturepan2@hotmail.com>
2017-04-01 16:56:48 +0800
Files1802284d64ce9322201afc1f3043de5a49084f26 /src/comparison-sliders.less
Spectre-Dark-Gruvbox-1c0fd0bd85ba36bd454f641e32caf6b19ad2d069.tar
Spectre-Dark-Gruvbox-1c0fd0bd85ba36bd454f641e32caf6b19ad2d069.tar.gz
Spectre-Dark-Gruvbox-1c0fd0bd85ba36bd454f641e32caf6b19ad2d069.zip
Parent74e7420bc3727229cdffbc686a43b955b4d3d5d9 (diff)
Add comparison labels to Comparison Sliders
1 files changed, 116 insertions, 0 deletions
-rw-r--r--src/comparison-sliders.less116
diff --git a/src/comparison-sliders.less b/src/comparison-sliders.less
new file mode 100644
index 0000000..1991816
--- /dev/null
+++ b/src/comparison-sliders.less
@@ -0,0 +1,116 @@
+// Image comparison slider
+// Credit: http://jsfiddle.net/os8bj2xq/
+.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 top;
+ position: absolute;
+ width: 100%;
+ z-index: -1;
+ }
+ }
+
+ .comparison-before {
+ width: 100%;
+
+ .comparison-label {
+ right: 1rem;
+ }
+ }
+
+ .comparison-after {
+ max-width: 100%;
+ min-width: 0;
+ z-index: @zindex-0;
+
+ &::before {
+ background: fade(@dark-color, 35%);
+ border-radius: @border-radius;
+ color: @light-color;
+ content: "";
+ height: 100%;
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: 1rem;
+ }
+
+ &::after {
+ background: currentColor;
+ border-radius: 50%;
+ box-shadow: 0 -.6rem, 0 .6rem;
+ color: @light-color;
+ content: "";
+ height: .4rem;
+ position: absolute;
+ right: .5rem;
+ top: 50%;
+ transform: translate(50%, -50%);
+ width: .4rem;
+ z-index: -@zindex-0;
+ }
+
+ .comparison-label {
+ left: 1rem;
+ }
+ }
+
+ .comparison-resizer {
+ animation: first-run 1.5s 1 ease-in-out;
+ cursor: ew-resize;
+ height: 1.5rem;
+ left: 0;
+ margin: 0;
+ max-width: 100%;
+ min-width: 1rem;
+ opacity: 0;
+ outline: 0;
+ position: relative;
+ resize: horizontal;
+ top: 50%;
+ transform: translateY(-50%) scaleY(30);
+ width: 0;
+ }
+
+ .comparison-label {
+ background: fade(@dark-color,50%);
+ bottom: 1rem;
+ color: @light-color;
+ padding: .3rem .8rem;
+ position: absolute;
+ user-select: none;
+ }
+}
+
+@keyframes first-run {
+ 0% {
+ width: 0;
+ }
+ 25% {
+ width: 4rem;
+ }
+ 50% {
+ width: 1rem;
+ }
+ 75% {
+ width: 2rem;
+ }
+ 100% {
+ width: 0;
+ }
+}