Summary Files Commits Branches @commit @diff @stats
path: root / src / _carousels.scss
diff options
context:
space:
mode:
Commitc811cb46631e66772a108c393f6ef53a83ca010b (patch)
Author
 Yan Zhu <picturepan2@hotmail.com>
2017-09-01 15:34:29 +0800
Committer
 GitHub <noreply@github.com>
2017-09-01 15:34:29 +0800
Filescc78dfa6f7398e9e77dd81d8865bcca939b9549d /src/_carousels.scss
Spectre-Dark-Gruvbox-0.4.0.tar
Spectre-Dark-Gruvbox-0.4.0.tar.gz
Spectre-Dark-Gruvbox-0.4.0.zip
Parent66c492fd05c2d720c81e2be8d6845560b868e7ff (diff)
Parentcca094ecbf55e8a4f552e55219b37373d3c07d9e (diff)
Merge pull request #266 from picturepan2/0.4.0 v0.4.0
0.4.0
1 files changed, 124 insertions, 0 deletions
-rw-r--r--src/_carousels.scss124
diff --git a/src/_carousels.scss b/src/_carousels.scss
new file mode 100644
index 0000000..d68c40a
--- /dev/null
+++ b/src/_carousels.scss
@@ -0,0 +1,124 @@
+// Carousels
+.carousel {
+ background: $bg-color;
+ display: block;
+ overflow: hidden;
+ position: relative;
+ width: 100%;
+
+ .carousel-container {
+ height: 100%;
+ left: 0;
+ position: relative;
+ &::before {
+ content: "";
+ display: block;
+ padding-bottom: 56.25%;
+ }
+
+ .carousel-item {
+ animation: carousel-slideout 1s ease-in-out 1;
+ height: 100%;
+ left: 0;
+ margin: 0;
+ opacity: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+
+ &:hover {
+ .item-prev,
+ .item-next {
+ opacity: 1;
+ }
+ }
+ }
+
+ .item-prev,
+ .item-next {
+ background: rgba($gray-color-light, .25);
+ border-color: rgba($gray-color-light, .5);
+ color: $gray-color-light;
+ opacity: 0;
+ position: absolute;
+ top: 50%;
+ transition: all .4s ease;
+ transform: translateY(-50%);
+ z-index: $zindex-2;
+ }
+ .item-prev {
+ left: 1rem;
+ }
+ .item-next {
+ right: 1rem;
+ }
+ }
+
+ .carousel-locator {
+ &:nth-of-type(1):checked ~ .carousel-container .carousel-item:nth-of-type(1),
+ &:nth-of-type(2):checked ~ .carousel-container .carousel-item:nth-of-type(2),
+ &:nth-of-type(3):checked ~ .carousel-container .carousel-item:nth-of-type(3),
+ &:nth-of-type(4):checked ~ .carousel-container .carousel-item:nth-of-type(4) {
+ animation: carousel-slidein .75s ease-in-out 1;
+ opacity: 1;
+ z-index: $zindex-1;
+ }
+ &:nth-of-type(1):checked ~ .carousel-nav .nav-item:nth-of-type(1),
+ &:nth-of-type(2):checked ~ .carousel-nav .nav-item:nth-of-type(2),
+ &:nth-of-type(3):checked ~ .carousel-nav .nav-item:nth-of-type(3),
+ &:nth-of-type(4):checked ~ .carousel-nav .nav-item:nth-of-type(4) {
+ color: $gray-color-light;
+ }
+ }
+
+ .carousel-nav {
+ bottom: $layout-spacing;
+ display: flex;
+ justify-content: center;
+ left: 50%;
+ position: absolute;
+ transform: translateX(-50%);
+ width: 10rem;
+ z-index: $zindex-2;
+
+ .nav-item {
+ color: rgba($gray-color-light, .5);
+ display: block;
+ flex: 1 0 auto;
+ height: $unit-8;
+ margin: $unit-1;
+ max-width: 2.5rem;
+ position: relative;
+
+ &::before {
+ background: currentColor;
+ content: "";
+ display: block;
+ height: $border-width-lg;
+ position: absolute;
+ top: .5rem;
+ width: 100%;
+ }
+ }
+ }
+}
+
+@keyframes carousel-slidein {
+ 0% {
+ transform: translateX(100%);
+ }
+ 100% {
+ transform: translateX(0);
+ }
+}
+
+@keyframes carousel-slideout {
+ 0% {
+ opacity: 1;
+ transform: translateX(0);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateX(-50%);
+ }
+}