gsap实现全屏图文水平时间线幻灯片切换效果代码
代码语言:html
所属分类:幻灯片
代码描述:gsap实现全屏图文水平时间线幻灯片切换效果代码
代码标签: gsap 全屏 图文 水平 时间线 幻灯片 切换
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Oswald:wght@500&display=swap"); body { margin: 0; background-color: #1a1a1a; color: #FFFFFFDD; position: relative; overflow: hidden; font-family: "Inter", sans-serif; } .card { position: absolute; left: 0; top: 0; background-position: center; background-size: cover; box-shadow: 6px 6px 10px 2px rgba(0, 0, 0, 0.6); } #btn { position: absolute; top: 690px; left: 16px; z-index: 99; } .card-content { position: absolute; left: 0; top: 0; color: #FFFFFFDD; padding-left: 16px; } .content-place { margin-top: 6px; font-size: 13px; font-weight: 500; } .content-place { font-weight: 500; } .content-title-1, .content-title-2 { font-weight: 600; font-size: 20px; font-family: "Oswald", sans-serif; } .content-start { width: 30px; height: 5px; border-radius: 99px; background-color: #FFFFFFDD; } .details { z-index: 22; position: absolute; top: 240px; left: 60px; } .details .place-box { height: 46px; overflow: hidden; } .details .place-box .text { padding-top: 16px; font-size: 20px; } .details .place-box .text:before { top: 0; left: 0; position: absolute; content: ""; width: 30px; height: 4px; border-radius: 99px; background-color: white; } .details .title-1, .details .title-2 { font-weight: 600; font-size: 72px; font-family: "Oswald", sans-serif; } .details .title-box-1, .details .title-box-2 { margin-top: 2px; height: 100px; overflow: hidden; } .details > .desc { margin-top: 16px; width: 500px; } .details > .cta { width: 500px; margin-top: 24px; display: flex; align-items: center; } .details > .cta > .bookmark { border: none; background-color: #ecad29; width: 36px; height: 36px; border-radius: 99px; color: white; display: grid; place-items: center; } .details > .cta > .bookmark svg { width: 20px; height: 20px; } .details > .cta > .discover { border: 1px solid #ffffff; background-color: transparent; height: 36px; border-radius: 99px; color: #ffffff; padding: 4px 24px; font-size: 12px; margin-left: 16px; text-transform: uppercase; } nav { position: fixed; left: 0; top: 0; right: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; padding: 20px 36px; font-weight: 500; } nav svg { width: 20px; height: 20px; } nav .svg-container { width: 20px; height: 20px; } nav > div { display: inline-flex; align-items: center; text-transform: uppercase; font-size: 14px; } nav > div:first-child { gap: 10px; } nav > div:last-child { gap: 24px; } nav > div:last-child > .active { position: relative; } nav > div:last-child > .active:after { bottom: -8px; left: 0; right: 0; position: absolute; content: ""; height: 3px; border-radius: 99px; background-color: #ecad29; } .indicator { position: fixed; left: 0; right: 0; top: 0; height: 5px; z-index: 60; background-color: #ecad29; } .pagination { position: absolute; left: 0px; top: 0px; display: inline-flex; } .pagination > .arrow { z-index: 60; width: 50px; height: 50px; border-radius: 999px; border: 2px solid #ffffff55; display: grid; place-items: center; } .pagination > .arrow:nth-child(2) { margin-left: 20px; } .pagination > .arrow svg { width: 24px; height: 24px; stroke-width: 2; color: #ffffff99; } .pagination .progress-sub-container { margin-left: 24px; z-index: 60; width: 500px; height: 50px; display: flex; align-items: center; } .pagination .progress-sub-container .progress-sub-background { width: 500px; height: 3px; background-color: #ffffff33; } .pagination .progress-sub-container .progress-sub-background .progress-sub-foreground { height: 3px; background-color: #ecad29; } .pagination .slide-numbers { width: 50px; height: 50px; overflow: hidden; z-index: 60; position: relative; } .pagination .slide-numbers .item { width: 50px; height: 50px; position: absolute; color: white; top: 0; left: 0; display: grid; place-items: center; font-size: 32px; font-weight: bold; } .cover { position: absolute; left: 0; top: 0; width: 100vw; height: 100vh; background-color: #fff; z-index: 100; } </style> </head> <body> <div class="indicator"></div> <nav> <div> <div class="svg-container"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" > <path stroke-linecap="round" stroke-linejoin="round" d="M12 21a9.004 9.004 0 008.716-6.747M12 21a9.004 9.004 0 01-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 017.843 4.582M12 3a8.997 8.997 0 00-7.843 4.582m15.686 0A11.953 11.953 0 0112 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0121 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0112 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 013 12c0-1.605.42-3.113 1.157-4.418" /> </svg> </div> <div>Globe Express</div> </div> <div> <div class="active">Home</div> <div>Holidays</div> <div>Destinations</div> <div>Flights</div> <div>Offers</div> <div>Contact</div> <div class="svg-container"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" > <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" /> </svg> </div> <div class="svg-container"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" > <path fill-rule="evenodd" d="M7.5 6a4.5 4.5 0 119 0 4.5 4.5 0 01-9 0zM3.751 20.105a8.25 8.25 0 0116.498 0 .75.75 0 01-.437.695A18.683 18.683 0 0112 22.5c-2.786 0-5.433-.608-7.812-1.7a.75.75 0 01-.437-.695z" clip-rule="evenodd" /> </svg> </div> </div> </nav> <div id="demo"></div> <div class="details" id="details-even"> <div class="place-box"> <div class="text">Switzerland Alps</div> </div> <div class="title-box-1"><div class="title-1">SAINT</div></div> <div class="title-box-2"><div class="title-2">ANTONIEN</div></div> <div class="desc"> Tucked away in the Switzerland Alps, Saint Antönien offers an idyllic retreat for those seeking tranquility and adventure alike. It's a hidden gem for backcountry skiing in winter and boasts lush trails for hiking and mountain biking during the warmer months. </div> <div class="cta"> <button class="bookmark"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" > <path fill-rule="evenodd" d="M6.32 2.577a49.255 49.255 0 0111.36 0c1.497.174 2.57 1.46 2.57 2.93V21a.75.75 0 01-1.085.67L12 18.089l-7.165 3.583A.75.75 0 013.75 21V5.507c0-1.47 1.073-2.756 2.57-2.93z" clip-rule="evenodd" /> </svg> </button> <button class="discover">Discover Location</button> </div> </div> <div class="details" id="details-odd"> <div class="place-box"> <div class="text">Switzerland Alps</div> </div> <div class="title-box-1"><div class="title-1">SAINT </div></div> <div class="title-box-2"><div class="title-2">ANTONIEN</div></div> <div class="desc"> Tucked away in the Switzerland Alps, Saint Antönien offers an idyllic retreat for those seeking tranquility and adventure alike. It's a hidden gem for backcountry skiing in winter and boasts lush trails for hiking and mountain biking during the warmer months. </div> <div class="cta"> <button class="bookmark"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" > <path fill-rule="evenodd" d="M6.32 2.577a49.255 49.255 0 0111.36 0c1.497.174 2.57 1.46 2.57 2.93V21a.75.75 0 01-1.085.67L12 18.089l-7.165 3.583A.75.75 0 013.75 21V5.507c0-1.47 1.073-2.756 2.57-2.93z" clip-rule="evenodd" /> </svg> </button> <button class="discover">Discover Location</button> </div> </div> <div class="pagination" id="pagination"> <div class="arrow arrow-left"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" > <path stroke-linecap="round" stroke-linejoin="round" d="M15.75 19.5L8.25 12l7.5-7.5" /> </svg> </div> <div class="arrow arrow-right"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" > <path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5" /> </svg> </div> <div class="progress-sub-container" > <div class="progress-sub-background" > <div class="progress-sub-foreground" ></div> </div> </div> <div class="slide-numbers" id="slide-numbers"></div> </div> <div class="cover" ></div> .........完整代码请登录后点击上方下载按钮下载查看
网友评论0