diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2024-07-07 03:17:56 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2024-07-07 03:17:56 +0200 |
| commit | 368ab34496cd38d57ac02f7b7712889c37354c2e (patch) | |
| tree | 1e75a00154675cc7436bf5284c2d018c45b407a7 | |
| parent | a61e3c8a96b41f42702283dd1f365d200dc1ddb1 (diff) | |
Import pure CSS slider
This slideshow does not require JavaScript and therefore only relies on
HTML and CSS.
Imported from:
https://codeconvey.com/pure-css-image-slider-with-thumbnails/
| -rw-r--r-- | layouts/partials/slider.html | 77 | ||||
| -rw-r--r-- | static/css/slider.css | 484 |
2 files changed, 561 insertions, 0 deletions
diff --git a/layouts/partials/slider.html b/layouts/partials/slider.html new file mode 100644 index 0000000..1fedb91 --- /dev/null +++ b/layouts/partials/slider.html @@ -0,0 +1,77 @@ +<!-- +Copyright © 2022 Codeconvey + +PLEASE READ THIS POLICY CAREFULLY. BY ACCESSING THIS WEBSITE YOU +AGREE TO BE BOUND BY THE TERMS AND CONDITIONS BELOW. +THESE TERMS AND CONDITIONS ARE SUBJECT TO CHANGE WITHOUT NOTICE, +FROM TIME TO TIME IN OUR SOLE DISCRETION. IF YOU DO NOT +AGREE WITH THESE TERMS AND CONDITIONS, PLEASE DO NOT +ACCESS THIS WEBSITE. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the “Software”), +to deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--> +<!-- https://codeconvey.com/pure-css-image-slider-with-thumbnails/ --> + +<link href="css/slider.css" rel="stylesheet" /> +<section> + <div class="rt-container"> + <div class="col-rt-12"> + <div class="csslider infinity" id="slider1"> + <input type="radio" name="slides" checked="checked" id="slides_1" /> + <input type="radio" name="slides" id="slides_2" /> + <input type="radio" name="slides" id="slides_3" /> + <input type="radio" name="slides" id="slides_4" /> + <input type="radio" name="slides" id="slides_5" /> + <ul> + <li><img class="slide" src="/assets/img/slides/1.jpg" /></li> + <li><img class="slide" src="/assets/img/slides/2.jpg" /></li> + <li><img class="slide" src="/assets/img/slides/3.jpg" /></li> + <li><img class="slide" src="/assets/img/slides/6.jpg" /></li> + <li><img class="slide" src="/assets/img/slides/7.jpg" /></li> + </ul> + <div class="arrows"> + <label for="slides_1"></label> + <label for="slides_2"></label> + <label for="slides_3"></label> + <label for="slides_4"></label> + <label for="slides_5"></label> + <label class="goto-first" for="slides_1"></label> + <label class="goto-last" for="slides_5"></label> + </div> + <!-- + <div class="navigation"> + <div> + <label for="slides_1"><img width="68" height="32" + src="/assets/img/slides/1.jpg" /></label> + <label for="slides_2"><img width="68" height="32" + src="/assets/img/slides/2.jpg" /></label> + <label for="slides_3"><img width="68" height="32" + src="/assets/img/slides/3.jpg" /></label> + <label for="slides_4"><img width="68" height="32" + src="/assets/img/slides/6.jpg" /></label> + <label for="slides_5"><img width="68" height="32" + src="/assets/img/slides/7.jpg" /></label> + </div> + </div> + --> + </div> + + </div> + </div> +</section> diff --git a/static/css/slider.css b/static/css/slider.css new file mode 100644 index 0000000..c6765f6 --- /dev/null +++ b/static/css/slider.css @@ -0,0 +1,484 @@ +/* Copyright © 2022 Codeconvey + * + * PLEASE READ THIS POLICY CAREFULLY. BY ACCESSING THIS WEBSITE YOU + * AGREE TO BE BOUND BY THE TERMS AND CONDITIONS BELOW. + * THESE TERMS AND CONDITIONS ARE SUBJECT TO CHANGE WITHOUT NOTICE, + * FROM TIME TO TIME IN OUR SOLE DISCRETION. IF YOU DO NOT + * AGREE WITH THESE TERMS AND CONDITIONS, PLEASE DO NOT + * ACCESS THIS WEBSITE. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the “Software”), + * to deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the Software + * is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR + * THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +.csslider { + display: inline-block; + text-align: left; + position: relative; + margin-bottom: 22px; +} + +.csslider>input { + display: none; +} + +.csslider>input:nth-of-type(10):checked~ul li:first-of-type { + margin-left: -900.6%; +} + +.csslider>input:nth-of-type(9):checked~ul li:first-of-type { + margin-left: -800.4%; +} + +.csslider>input:nth-of-type(8):checked~ul li:first-of-type { + margin-left: -700.2%; +} + +.csslider>input:nth-of-type(7):checked~ul li:first-of-type { + margin-left: -601%; +} + +.csslider>input:nth-of-type(6):checked~ul li:first-of-type { + margin-left: -500.8%; +} + +.csslider>input:nth-of-type(5):checked~ul li:first-of-type { + margin-left: -400.6%; +} + +.csslider>input:nth-of-type(4):checked~ul li:first-of-type { + margin-left: -300.4%; +} + +.csslider>input:nth-of-type(3):checked~ul li:first-of-type { + margin-left: -200.2%; +} + +.csslider>input:nth-of-type(2):checked~ul li:first-of-type { + margin-left: -100.1%; +} + +.csslider>input:nth-of-type(1):checked~ul li:first-of-type { + margin-left: 0%; +} + +.csslider>ul { + position: relative; + max-width: 80%; + /*height: 420px;*/ + z-index: 1; + font-size: 0; + line-height: 0; + background-color: #3A3A3A; + border: 10px solid #3A3A3A; + margin: 0 auto; + padding: 0; + overflow: hidden; + white-space: nowrap; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.csslider>ul>li { + position: relative; + display: inline-block; + width: 100%; + height: 100%; + overflow: hidden; + font-size: 15px; + font-size: initial; + line-height: normal; + -moz-transition: all 0.5s cubic-bezier(0.4, 1.3, 0.65, 1); + -o-transition: all 0.5s ease-out; + -webkit-transition: all 0.5s cubic-bezier(0.4, 1.3, 0.65, 1); + transition: all 0.5s cubic-bezier(0.4, 1.3, 0.65, 1); + vertical-align: top; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + white-space: normal; +} + +.csslider>ul>li.scrollable { + overflow-y: scroll; +} + +.csslider>.navigation { + position: absolute; + bottom: 30px; + left: 50%; + z-index: 10; + margin-bottom: -10px; + font-size: 0; + line-height: 0; + text-align: center; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.csslider>.navigation>div { + margin-left: -100%; +} + +.csslider>.navigation label { + position: relative; + display: inline-block; + cursor: pointer; + border-radius: 50%; + margin: 0 4px; + padding: 4px; + background: transparent none repeat scroll 0 0; +} + +.csslider>.navigation label:hover:after { + opacity: 1; +} + +.csslider>.navigation label:after { + content: ''; + position: absolute; + left: 50%; + top: 50%; + margin-left: -6px; + margin-top: -6px; + background: transparent none repeat scroll 0 0; + border-radius: 50%; + padding: 6px; + opacity: 0; +} + +.csslider>.arrows { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.csslider.inside .navigation { + bottom: 10px; + margin-bottom: 10px; +} + +.csslider.inside .navigation label { + border: 1px solid #7e7e7e; +} + +.csslider>input:nth-of-type(1):checked~.navigation label:nth-of-type(1):after, +.csslider>input:nth-of-type(2):checked~.navigation label:nth-of-type(2):after, +.csslider>input:nth-of-type(3):checked~.navigation label:nth-of-type(3):after, +.csslider>input:nth-of-type(4):checked~.navigation label:nth-of-type(4):after, +.csslider>input:nth-of-type(5):checked~.navigation label:nth-of-type(5):after, +.csslider>input:nth-of-type(6):checked~.navigation label:nth-of-type(6):after, +.csslider>input:nth-of-type(7):checked~.navigation label:nth-of-type(7):after, +.csslider>input:nth-of-type(8):checked~.navigation label:nth-of-type(8):after, +.csslider>input:nth-of-type(9):checked~.navigation label:nth-of-type(9):after, +.csslider>input:nth-of-type(10):checked~.navigation label:nth-of-type(10):after, +.csslider>input:nth-of-type(11):checked~.navigation label:nth-of-type(11):after { + opacity: 1; +} + +.csslider>.arrows { + position: absolute; + left: -16px; + top: 50%; + width: 100%; + height: 26px; + padding: 0 16px; + z-index: 0; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; +} + +.csslider>.arrows label { + display: none; + position: absolute; + top: -50%; + padding: 13px; + box-shadow: inset 2px -2px 0 1px #3A3A3A; + cursor: pointer; + -moz-transition: box-shadow 0.15s, margin 0.15s; + -o-transition: box-shadow 0.15s, margin 0.15s; + -webkit-transition: box-shadow 0.15s, margin 0.15s; + transition: box-shadow 0.15s, margin 0.15s; +} + +.csslider>.arrows label:hover { + box-shadow: inset 3px -3px 0 2px #71ad37; + margin: 0 0px; +} + +.csslider>.arrows label:before { + content: ''; + position: absolute; + top: -100%; + left: -100%; + height: 300%; + width: 300%; +} + +.csslider.infinity>input:first-of-type:checked~.arrows label.goto-last, +.csslider>input:nth-of-type(1):checked~.arrows>label:nth-of-type(0), +.csslider>input:nth-of-type(2):checked~.arrows>label:nth-of-type(1), +.csslider>input:nth-of-type(3):checked~.arrows>label:nth-of-type(2), +.csslider>input:nth-of-type(4):checked~.arrows>label:nth-of-type(3), +.csslider>input:nth-of-type(5):checked~.arrows>label:nth-of-type(4), +.csslider>input:nth-of-type(6):checked~.arrows>label:nth-of-type(5), +.csslider>input:nth-of-type(7):checked~.arrows>label:nth-of-type(6), +.csslider>input:nth-of-type(8):checked~.arrows>label:nth-of-type(7), +.csslider>input:nth-of-type(9):checked~.arrows>label:nth-of-type(8), +.csslider>input:nth-of-type(10):checked~.arrows>label:nth-of-type(9), +.csslider>input:nth-of-type(11):checked~.arrows>label:nth-of-type(10) { + display: block; + left: 0; + right: auto; + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + transform: rotate(45deg); +} + +.csslider.infinity>input:last-of-type:checked~.arrows label.goto-first, +.csslider>input:nth-of-type(1):checked~.arrows>label:nth-of-type(2), +.csslider>input:nth-of-type(2):checked~.arrows>label:nth-of-type(3), +.csslider>input:nth-of-type(3):checked~.arrows>label:nth-of-type(4), +.csslider>input:nth-of-type(4):checked~.arrows>label:nth-of-type(5), +.csslider>input:nth-of-type(5):checked~.arrows>label:nth-of-type(6), +.csslider>input:nth-of-type(6):checked~.arrows>label:nth-of-type(7), +.csslider>input:nth-of-type(7):checked~.arrows>label:nth-of-type(8), +.csslider>input:nth-of-type(8):checked~.arrows>label:nth-of-type(9), +.csslider>input:nth-of-type(9):checked~.arrows>label:nth-of-type(10), +.csslider>input:nth-of-type(10):checked~.arrows>label:nth-of-type(11), +.csslider>input:nth-of-type(11):checked~.arrows>label:nth-of-type(12) { + display: block; + right: 0; + left: auto; + -moz-transform: rotate(225deg); + -ms-transform: rotate(225deg); + -o-transform: rotate(225deg); + -webkit-transform: rotate(225deg); + transform: rotate(225deg); +} + +.slide { + max-width: 100%; + max-height: 100%; +} + +/*#region MODULES */ +/*#endregion */ +/*___________________________________ LAYOUT ___________________________________ */ +* { + margin: 0; + padding: 0; +} + +::-webkit-scrollbar { + width: 2px; + background: rgba(255, 255, 255, 0.1); +} + +::-webkit-scrollbar-track { + background: none; +} + +::-webkit-scrollbar-thumb { + background: rgba(74, 168, 0, 0.6); +} + +ul, +ol { + padding-left: 40px; +} + +html, +body { + + + text-align: center; + /*font: 400 100% 'Raleway', 'Lato';*/ + background-color: #282828; + color: #CCC; +} + +h1 { + font-weight: 700; + font-size: 310%; +} + +h2 { + font-weight: 400; + font-size: 120%; + color: #71AD37; +} + +#slider1 { + margin: 20px; + font-family: 'Lato'; +} +/* +#slider1>ul>li:nth-of-type(3) { + background: url(https://raw.github.com/drygiel/csslider/master/examples/themes/fruit.jpg); +} +*/ +#slider1>input:nth-of-type(3):checked~ul #bg { + width: 80%; + padding: 22px; + -moz-transition: .5s .5s; + -o-transition: .5s .5s; + -webkit-transition: .5s .5s; + transition: .5s .5s; +} + +#slider1>input:nth-of-type(3):checked~ul #bg div { + -moz-transform: translate(0); + -ms-transform: translate(0); + -o-transform: translate(0); + -webkit-transform: translate(0); + transform: translate(0); + -moz-transition: .5s .9s; + -o-transition: .5s .9s; + -webkit-transition: .5s .9s; + transition: .5s .9s; +} + + +#bg { + color: #000; + padding: 22px 0; + position: absolute; + left: 0; + top: 16%; + height: 20%; + width: 0; + z-index: 10; + overflow: hidden; +} + +#bg:before { + content: ''; + position: absolute; + left: -1px; + top: 1px; + height: 100%; + width: 100%; + z-index: -1; + /*background: url(https://raw.github.com/drygiel/csslider/master/examples/themes/fruit.jpg) 1px 23%;*/ + -webkit-filter: blur(7px); +} + +#bg:after { + content: ''; + position: absolute; + left: 0; + top: 0; + height: 100%; + width: 100%; + z-index: 20; + background: rgba(0, 0, 0, 0.35); + pointer-events: none; +} + +#bg div { + -moz-transform: translate(120%); + -ms-transform: translate(120%); + -o-transform: translate(120%); + -webkit-transform: translate(120%); + transform: translate(120%); +} + +.scrollable p { + padding: 30px; + text-align: justify; + line-height: 140%; + font-size: 120%; +} + +#center { + text-align: center; + margin-top: 25%; +} + +#center a { + text-decoration: none; + text-transform: uppercase; + letter-spacing: 2px; + font-variant: small-caps; +} + +/*___________________________________ LINK ___________________________________ */ +a.nice-link { + position: relative; + color: #71ad37; +} + +h1 a.nice-link:after { + border-bottom: 1px solid #a5ff0e; +} + +a.nice-link:after { + text-align: justify; + display: inline-block; + content: attr(data-text); + position: absolute; + left: 0; + top: 0; + white-space: nowrap; + overflow: hidden; + color: #a5ff0e; + min-height: 100%; + width: 0; + max-width: 100%; + background: #3A3A3A; + -moz-transition: .3s; + -o-transition: .3s; + -webkit-transition: .3s; + transition: .3s; +} + +a.nice-link:hover { + color: #71ad37; +} + +a.nice-link:hover:after { + width: 100%; +} + +/*___________________________________ SIGN ___________________________________ */ +#dex-sign { + width: 255px; + height: 84px; + position: absolute; + left: 33%; + top: 45%; + opacity: .7; + /*background: url(http://www.drygiel.com/projects/sign/frames-255-white.png) 0 0 no-repeat;*/ +} + +#dex-sign:hover { + opacity: 1; + -webkit-filter: invert(30%) brightness(80%) sepia(100%) contrast(110%) saturate(953%) hue-rotate(45deg); +} |
