分享一个图片展示特效

先上效果图:

在这里插入图片描述
备注:这个效果图太大了,压缩了一下效果有点不咋好看。感兴趣同学们可以自己运行代码看一下,保证不会失望~

再上代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>:root {--height: calc( 80vh - 50px );--width: 450px;}.carousel {display: grid;transform: translate3d(0,0,0.1px);}.carousel__list {display: flex;overflow: hidden;list-style: none;padding: 2em 0 3em;margin: 0;contain: layout;isolation: isolate;}.carousel__item {display: grid;position: relative;align-content: start;margin: 0 10px;padding: 0;flex: 1 1 10%;height: var(--height);overflow: hidden;background: rgba(255,255,255,0.2);border-radius: 16px;transform: translate3d(0,0,0.1px);box-shadow: rgba(0, 0, 0, 0.4) 0px 3px 15px 2px, rgba(0, 0, 0, 0.2) 0px 12px 28px 0px, rgba(0, 0, 0, 0.1) 0px 2px 4px 0px, rgba(255, 255, 255, 0.05) 0px 0px 0px 1px inset;contain: layout;isolation: isolate;}.carousel__item,.carousel__item * {transition: all .6s cubic-bezier(.55,.24,.18,1);user-select: none;}.carousel__image,.carousel__contents {width: var(--width);height: auto;}.carousel__item:hover {flex-basis: calc( var(--width) / 2 );transition: all 0.3s ease;}.carousel__item[data-active] {flex-basis: var(--width);flex-grow: 0;}@media screen and (max-width: 800px) {.carousel__item {flex-basis: 15%;}}@media screen and (max-width: 600px) {.carousel__item {flex-basis: 10%;margin: 0 5px;border-radius: 8px;font-size: 3vw;}.carousel__item[data-active] {flex-basis: 45%;flex-grow: 0;}.carousel__item:nth-child(3),.carousel__item:nth-child(7) {flex: 0 0 10px;}.carousel__item:nth-child(2),.carousel__item:nth-child(8) {flex: 0 0 5px;transform: translateX(-50px);}.carousel__item:nth-child(8) {transform: translateX(50px);}.carousel__item:nth-child( 1 ),.carousel__item:nth-child( n + 9 ) {flex: 0 0 0px;margin: 0;box-shadow: none;opacity: 0!important;}.carousel__item:not(:nth-child( n + 5 )) img,.carousel__item:nth-child( n + 7 ) img {opacity: 0.8;}.carousel__item:not(:nth-child( n + 4 )) *,.carousel__item:nth-child( n + 7 ) * {opacity: 0!important;}}@media screen and (min-width: 600px) {.carousel__item:nth-child(3),.carousel__item:nth-child(10) {flex: 0 0 10px;}.carousel__item:nth-child(2),.carousel__item:nth-child(11) {flex: 0 0 5px;transform: translateX(-50px);}.carousel__item:nth-child(11) {transform: translateX(50px);}.carousel__item:nth-child( 1 ),.carousel__item:nth-child( n + 12 ) {flex: 0 0 0px;margin: 0;box-shadow: none;opacity: 0!important;}.carousel__item:not(:nth-child( n + 5 )) img,.carousel__item:nth-child( n + 9 ) img {opacity: 0.8;}.carousel__item:not(:nth-child( n + 4 )) *,.carousel__item:nth-child( n + 10 ) * {opacity: 0!important;}}.carousel__item img {display: block;position: absolute;width: var(--width);height: 100%;left: 50%;top: 50%;transform: translate(-50%, -50%);z-index: -1;aspect-ratio: 2/3;object-fit: cover;filter: saturate(0.2) contrast(0.75) brightness(1.1);}.carousel__item::after {content: "";position: absolute;inset: 0;width: 100%;height: 100%;z-index: 1;opacity: 1;background: linear-gradient(160deg, rgba(2,0,36,0) 40%, rgba(118,221,136,.5) 70%, rgba(0,255,246,.6) 100%);transition: all .66s cubic-bezier(.55,.24,.18,1);}.carousel__item[data-active]::after {transform: translateY(100%);}.carousel__item[data-active],.carousel__item[data-active] * {opacity: 1;filter: none;}.carousel__contents {display: flex;flex-direction: column-reverse;justify-content: start;min-height: 200px;padding: 1em;z-index: 2;background-image: radial-gradient( ellipse at 0px 0px, rgba(0,0,0,0.4) 20%, transparent 50% );background-size: 170% 200px;background-repeat: no-repeat;position: absolute;top: 0;left: 0;}.carousel__contents .user__name {color: #e8eff4;font-size: 1.75em;font-weight: 600;letter-spacing: .8px;text-shadow: 0 1px 0 rgba(0,0,0,0.3);}.carousel__contents .user__title {font-family: lexend;font-size: .875em;letter-spacing: 1.25px;font-weight: 500;text-transform: uppercase;color: transparent;background: linear-gradient( 270deg, rgb(67, 255, 0), rgb(0, 255, 247) );background-clip: text;-webkit-background-clip: text;opacity: 0.85;text-wrap: balance;margin-bottom: 0.5em;}.carousel__contents .user__title,.carousel__contents .user__name {margin: 0;line-height: 1.1;opacity: 0;transform: translateX(-200px);transition-duration: 1s;max-width: 18em;}@media screen and (max-width: 800px) {.carousel__item img {width: calc(var(--width) * .5);}.carousel__contents {transform: translateX(-100%) rotate(90deg);transform-origin: bottom right;align-items: end;justify-content: end;background-image: radial-gradient( ellipse at 100% 100%, rgba(0, 0, 0,.4) 0%, transparent 50% );background-position: -100% 100%;flex-direction: column;position: absolute;bottom: 0;left: 0;text-align: right;}[data-active] .carousel__contents {background-position: 100% 100%;}.carousel__contents .user__title,.carousel__contents .user__name {max-width: 70vh;transform: translateX(200px);}}[data-active] .carousel__contents * {transform: translateX(0px);transition-duration: 0.66s;opacity: 1;}[data-active] .carousel__contents .user__name {transition-delay: 0.1s;}[data-active] .carousel__contents .user__title {opacity: 0.85;transition-delay: 0.05s;}/*non-demo css*/.carousel__nav {padding: 1em;justify-self: end;grid-row: 1;display: flex;justify-content: space-between;gap: 1em;}button {display: flex;gap: .5em;padding: 0.5em 1.5em;}button span,button svg {margin: 0;padding: 0;fill: none;}button path {fill: currentColor;}body, html {padding: 0;align-items: start;}</style>
</head>
<body><main id="app"><section class="carousel"><ul class="carousel__list"><li class="carousel__item" tabindex="0"><div class="carousel__box"><div class="carousel__image"><img src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div><div class="carousel__contents"><h2 class="user__name">Anthony Lee</h2><h3 class="user__title">Archetypal Professor of Recognition</h3></div></div></li><li class="carousel__item" tabindex="0"><div class="carousel__box"><div class="carousel__image"><img src="https://images.unsplash.com/photo-1544005313-94ddf0286df2?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div><div class="carousel__contents"><h2 class="user__name">Alicia Chevalier</h2><h3 class="user__title">Corporate Usability Analyst</h3></div></div></li><li class="carousel__item" tabindex="0"><div class="carousel__box"><div class="carousel__image"><img src="https://images.unsplash.com/photo-1500648767791-00dcc994a43e?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div><div class="carousel__contents"><h2 class="user__name">Nate Boucher</h2><h3 class="user__title">Customer Impact Officer</h3></div></div></li><li class="carousel__item" tabindex="0"><div class="carousel__box"><div class="carousel__image"><img src="https://images.unsplash.com/photo-1614204424926-196a80bf0be8?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div><div class="carousel__contents"><h2 class="user__name">Leah Harris</h2><h3 class="user__title">Designer and Bandit</h3></div></div></li><li class="carousel__item" tabindex="0" data-active="data-active"><div class="carousel__box"><div class="carousel__image"><img src="https://images.unsplash.com/photo-1536766768598-e09213fdcf22?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div><div class="carousel__contents"><h2 class="user__name">Angelina Laurent</h2><h3 class="user__title">Oracle for Inspiration</h3></div></div></li><li class="carousel__item" tabindex="0"><div class="carousel__box"><div class="carousel__image"><img src="https://images.unsplash.com/photo-1494790108377-be9c29b29330?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div><div class="carousel__contents"><h2 class="user__name">Gal Gadot</h2><h3 class="user__title">Acting Designer and Consultant</h3></div></div></li><li class="carousel__item" tabindex="0"><div class="carousel__box"><div class="carousel__image"><img src="https://images.unsplash.com/photo-1590086782792-42dd2350140d?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div><div class="carousel__contents"><h2 class="user__name">Albert Sørensen</h2><h3 class="user__title">Neural Big Shot of Anticipation</h3></div></div></li><li class="carousel__item" tabindex="0"><div class="carousel__box"><div class="carousel__image"><img src="https://images.unsplash.com/photo-1553514029-1318c9127859?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div><div class="carousel__contents"><h2 class="user__name">Candice Marchand</h2><h3 class="user__title">Mindful Realist of Motion Laws </h3></div></div></li><li class="carousel__item" tabindex="0"><div class="carousel__box"><div class="carousel__image"><img src="https://images.unsplash.com/photo-1596813362035-3edcff0c2487?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div><div class="carousel__contents"><h2 class="user__name">Jennifer Salazar</h2><h3 class="user__title">Design Habitué</h3></div></div></li><li class="carousel__item" tabindex="0"><div class="carousel__box"><div class="carousel__image"><img src="https://images.unsplash.com/photo-1552374196-c4e7ffc6e126?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div><div class="carousel__contents"><h2 class="user__name">Antonin Dufour</h2><h3 class="user__title">Human-Centered Designer</h3></div></div></li><li class="carousel__item" tabindex="0"><div class="carousel__box"><div class="carousel__image"><img src="https://images.unsplash.com/photo-1530785602389-07594beb8b73?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div><div class="carousel__contents"><h2 class="user__name">Melissa Simon</h2><h3 class="user__title">International Infrastructure Analyst</h3></div></div></li><li class="carousel__item" tabindex="0"><div class="carousel__box"><div class="carousel__image"><img src="https://images.unsplash.com/photo-1560250097-0b93528c311a?fit=crop&amp;h=720&amp;q=80" width="480" height="720"/></div><div class="carousel__contents"><h2 class="user__name">Brandon Murray</h2><h3 class="user__title">Central Functionality VP</h3></div></div></li></ul><div class="carousel__nav"><button class="prev"><svg width="24" height="24" viewBox="0 0 24 24"><path d="M9.586 4l-6.586 6.586a2 2 0 0 0 0 2.828l6.586 6.586a2 2 0 0 0 2.18 .434l.145 -.068a2 2 0 0 0 1.089 -1.78v-2.586h7a2 2 0 0 0 2 -2v-4l-.005 -.15a2 2 0 0 0 -1.995 -1.85l-7 -.001v-2.585a2 2 0 0 0 -3.414 -1.414z"></path></svg><span>prev</span></button><button class="next"><span>next</span><svg width="24" height="24" viewBox="0 0 24 24"><path d="M12.089 3.634a2 2 0 0 0 -1.089 1.78l-.001 2.586h-6.999a2 2 0 0 0 -2 2v4l.005 .15a2 2 0 0 0 1.995 1.85l6.999 -.001l.001 2.587a2 2 0 0 0 3.414 1.414l6.586 -6.586a2 2 0 0 0 0 -2.828l-6.586 -6.586a2 2 0 0 0 -2.18 -.434l-.145 .068z"></path></svg></button></div></section>
</main>
<a class="social-icon codepen" href="https://blog.csdn.net/qq_35241329?type=blog" title="view my codepens"><span>仅用于学习交流</span>
</a>
</body>
<script>const d = document;const $q = d.querySelectorAll.bind(d);const $g = d.querySelector.bind(d);const $prev = $g(".prev");const $next = $g(".next");const $list = $g(".carousel__list");let auto;let pauser;const getActiveIndex = () => {const $active = $g("[data-active]");return getSlideIndex($active);}const getSlideIndex = ($slide) => {return [...$q(".carousel__item")].indexOf( $slide );}const prevSlide = () => {const index = getActiveIndex();const $slides = $q(".carousel__item");const $last = $slides[$slides.length-1];$last.remove();$list.prepend($last);activateSlide( $q(".carousel__item")[index] );}const nextSlide = () => {const index = getActiveIndex();const $slides = $q(".carousel__item");const $first = $slides[0];$first.remove();$list.append($first);activateSlide( $q(".carousel__item")[index] );}const chooseSlide = (e) => {const max = (window.matchMedia("screen and ( max-width: 600px)").matches) ? 5 : 8;const $slide = e.target.closest( ".carousel__item" );const index = getSlideIndex( $slide );if ( index < 3 || index > max ) return;if ( index === max ) nextSlide();if ( index === 3 ) prevSlide();activateSlide($slide);}const activateSlide = ($slide) => {if (!$slide) return;const $slides = $q(".carousel__item");$slides.forEach(el => el.removeAttribute('data-active'));$slide.setAttribute( 'data-active', true );$slide.focus();}const autoSlide = () => {nextSlide();}const pauseAuto = () => {clearInterval( auto );clearTimeout( pauser );}const handleNextClick = (e) => {pauseAuto();nextSlide(e);}const handlePrevClick = (e) => {pauseAuto();prevSlide(e);}const handleSlideClick = (e) => {pauseAuto();chooseSlide(e);}const handleSlideKey = (e) => {switch(e.keyCode) {case 37:case 65:handlePrevClick();break;case 39:case 68:handleNextClick();break;}}const startAuto = () => {auto = setInterval( autoSlide, 3000 );}startAuto();$next.addEventListener( "click", handleNextClick );$prev.addEventListener( "click", handlePrevClick );// $list.addEventListener( "click", handleSlideClick );$list.addEventListener( "focusin", handleSlideClick );$list.addEventListener( "keyup", handleSlideKey );</script>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/49912.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用手机快捷设计品牌宣传的海报图片和视频

随着移动互联网的普及&#xff0c;越来越多的品牌宣传企划活动方案&#xff0c;都需要用到各种精美的海报图片和宣传视频&#xff0c;这对企划工作来说是一个耗时又耗精力的工作&#xff0c;并且还不一定能做出风格迥异的作品。 得益于人工智能技术的进步&#xff0c;现在很多移…

推荐3款超好用的海报设计软件!

在现代社会&#xff0c;海报设计已经成为了一种非常重要的视觉传达方式。如果你需要制作一个引人注目的海报&#xff0c;但却没有设计师的技能和经验&#xff0c;那么在线海报设计图片软件就是你的最佳选择。下面我们将介绍 5 款最受欢迎的在线海报设计图片软件&#xff0c;它们…

使用QQ邮箱无法收到Github上发送的验证码?

设置域白名单 打开QQ邮箱&#xff0c;点击【设置】点击【反垃圾】点击【设置域白名单】在input框中输入【github.com】添加

欧洲站收到邮件:无法完成您的收款账户的所有权验证,该怎么办?

在注册欧洲站的过程中,有没有卖家收到过这样的邮件 然后你点开后台,在账户信息(account info)页面,就能看到相关提示

无法收到邮箱验证码怎么办

我们在注册&#xff0c;找回密码的时候&#xff0c;如果没有收到验证码&#xff0c;可以尝试以下几种方式解决 使用QQ邮箱注册 现在常用的邮箱应该是QQ邮箱&#xff0c;所以后台也是使用QQ邮箱给大家发送验证码&#xff0c;所以大家的接受邮箱也最后是qq邮箱 在垃圾箱中查找邮箱…

除了ChatGPT,还有哪些国内可用的强悍AI工具?

2023年&#xff0c;GPT带动着整个AI行业大卷特卷&#xff0c;市面上出现了越来越多能将AI功能发挥到极致的强悍工具&#xff0c;今天就给各位推荐5款用了后悔不早用的AI软件或工具。 第一款 AI助手 - OpenAI ChatGPT侧边栏 Edge安装 &#xff5c;Chrome安装 由于ChatGPT给出…

做Android开发,你后悔了吗?

前言 从去年、前年开始&#xff0c;大大小小的公司开始接二连三的出现裁员。找工作的好时候已经一去不复返了&#xff0c;不像前几年学个安卓、ios 培训班&#xff0c;出来轻松找个 2 万块钱的工作。 我是20年学的Android开发&#xff0c;没有赶上好的时候&#xff0c;也没有在…

iOS SKAN 4.0 时代的广告追踪优化:掌握隐私友好的营销策略

作者&#xff1a;ChatGPT(GPT-4) & iHTCboy 摘要&#xff1a;本文深入探讨了苹果的 SKAdNetwork&#xff08;SKAN&#xff09;以及它与 App Tracking Transparency&#xff08;ATT&#xff09;政策之间的关联&#xff0c;阐明了广告跟踪的限制以及如何在保护用户隐私的同时…

基于Android的外卖App系统设计

基于Android的外卖App系统设计 摘要 随着智能手机的快速普及&#xff0c;智能手机操作系统市场风生水起。为了让智能手机用户能够随时随地查询互联网所提供的服务&#xff0c;一种高效的办法就是将应用系统的功能拓展到手机终端上&#xff0c;让手机能够通过移动网以及互联网访…

OLLVM环境搭建-Ubuntu20.04

OLLVM环境搭建-Ubuntu20.04 注&#xff1a;这里没有使用配置NDK环境 什么是混淆和OLLVM&#xff1f; 关于OLLVM介绍这里极力推荐直接看这个Deobfuscation: recovering an OLLVM-protected program 早在1997年&#xff0c;学术界就开始了代码混淆的研究。目前使用最广泛的混…

Android音乐播放器的设计与实现

课程设计报告 实习名称 课程设计2 设计题目 Android音乐播放器的设计与实现 目录 摘要11 1 引言22 2 可行性分析22 2.1 技术可行性22 2.2 经济可行性33 2.3 管理可行性33 2.4 可行性分析结论33 3 系统需求分析44 3.1 功能分析44 3.2 数据流程分析44 4 系统功能设计66 4.1 播放器…

A Survey on Multimodal Large Language Models

本文是LLM系列的文章之一&#xff0c;主要是讲解多模态的LLM。针对《A Survey on Multimodal Large Language Models》的翻译。 多模态大语言模型的综述 摘要1 引言2 概述3 方法3.1 多模态指令调整3.1.1 引言3.1.2 前言3.1.3 模态对齐3.1.4 数据3.1.5 模态桥接3.1.6 评估 3.2 …

云存储,为 AI 创新提速

当下&#xff0c;如火如荼的 AI 大模型对算力和数据存储提出了更高的要求。在 6 月 1 日结束的“阿里云峰会粤港澳大湾区”上&#xff0c;阿里云智能资深产品专家彭亚雄在 AI 新范式与商业创新论坛上做了《云存储&#xff0c;为 AI 创新提速》的主题分享。彭亚雄认为&#xff0…

聊聊 AI 平台存储方案和选型

最近火爆全网的 ChatGPT 再次带来一股 AI 热潮。 过去的五年&#xff0c;AI 快速发展并应用到很多领域中。作为一家存储企业&#xff0c;我们也感受到了 AI 行业的活力&#xff0c;和我们交流团队中&#xff0c;AI 企业越来越多&#xff0c;有自动驾驶、蛋白质结构预测、量化投…

详解 Redisson 分布式限流的实现原理

本文分享自华为云社区《详解 Redisson 分布式限流的实现原理》&#xff0c;作者&#xff1a; xindoo。 我们目前在工作中遇到一个性能问题&#xff0c;我们有个定时任务需要处理大量的数据&#xff0c;为了提升吞吐量&#xff0c;所以部署了很多台机器&#xff0c;但这个任务在…

AI日报|哈佛“AI教授”即将上线;首个生成式AI技能专业证书来了;电话推销员很烦?AI帮你“制裁”他

今日值得关注的人工智能新动态&#xff1a; 将GPT-4用在课程设计中 哈佛大学“AI教授”即将上线 微软推出首个生成式AI技能专业证书 纽约州议会&#xff1a;伤害或羞辱他人的deepfake是非法的 阿诺德施瓦辛格&#xff1a;《终结者》中的AI已成现实 AI诊断“老年痴呆”&…

甜品网站界面

最开始就是logo部分和导航栏部分 logo部分就是用的div里面写img然后给浮动就可以了 第二个是导航栏部分 用的也是无序标签 代码如下&#xff1a; 轮播图部分 没做出来效果 甜蜜约会品牌简介 红色框框以外的我用的是 div img 和 p标签做的 这些很简单 就不展示代码了 红色边…

教你简单学会用Python画长草颜团子

相信大家都知道可爱的长草颜团子&#xff0c;它应该在很多人的表情包中占有一席之地&#xff0c;那么就今天我们试着用Python的turtle模板来画一个长草颜团子吧&#xff01; 这么可爱的团子谁不想要试着自己画出来呢哈哈哈 源码如下&#xff1a; #8X_I import turtle as t t.…

鱼香肉丝(集锦)

1&#xff1a; 鱼香肉丝的简单制作 2 &#xff1a;鱼香肉丝的来历与制作 3&#xff1a; 鱼香肉丝制作 4&#xff1a;鱼香肉丝 1 鱼香肉丝的简单制作 作者&#xff1a; 时间&#xff1a; 2006-1-17 10:17:00 摘自&#xff1a;http://www.517sc.com/food/xyz/17_54_51330.html 材…

用 Python 画如此漂亮的插图 ,So easy

人生苦短&#xff0c;快学Python&#xff01; 今天我们进行一次实战案例分享&#xff0c;以全球预期寿命与人均 GPD数据为例&#xff0c;写一篇 Python 中漂亮散点图的快速指南。除了正常的数据清洗/处理、还会进行简单的统计分析&#xff0c;实现数据处理-统计分析-可视化一条…