3D 图片悬停效果

3D 图片悬停效果

效果展示

在这里插入图片描述

CSS 知识点

  • background 属性的综合运用
  • transform 属性的综合运用

页面整体布局

<div class="box"><span style="--i: 0"></span><span style="--i: 1"></span><span style="--i: 2"></span><span style="--i: 3"></span>
</div>

编写图片框样式

.box {width: 640px;height: 360px;transform: rotate(-25deg) skew(25deg);transition: 0.5s;display: flex;border-left: 5px solid #fff;border-left: 5px;/* 只是为了看图片框样式才进行设置的参数后续要删除 */background: #fff;
}

编写图片框选型效果

.box:hover {transform: rotate(-25deg) skew(-25deg) translateY(-20px);
}

编写 4 等分图片容器框和设置对应背景图片

图片容器框主要作用是用于图片悬停后使用transform属性实行 3D 效果。

.box span {width: 25%;height: 100%;background: none;display: block;transition: 0.5s;pointer-events: none;background: url(./bg.jpg);background-size: cover;/* 640px / 4 等分计算出每个图片容器背景图片的移动位置 */background-position: calc(-160px * var(--i));
}

编写图片容器选型效果

.box:hover span:nth-child(odd) {transform: skewY(25deg);box-shadow: inset 20px 0 50px rgba(0, 0, 0, 0.5);
}
.box:hover span:nth-child(even) {transform: skewY(-25deg);box-shadow: inset 20px 0 50px rgba(0, 0, 0, 0.5);
}

图片框添加边框

.box span {width: 25%;height: 100%;background: none;display: block;transition: 0.5s;pointer-events: none;background: url(./bg.jpg);background-size: cover;background-position: calc(-160px * var(--i));border-top: 5px solid #fff;border-bottom: 5px solid #fff;
}
.box span:first-child {border-left: 5px solid #fff;
}
.box span:last-child {border-right: 5px solid #fff;
}

完整代码下载

完整代码下载

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

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

相关文章

python-基础篇-函数-是什么

文章目录 定义一&#xff1a;如果在开发程序时&#xff0c;需要某块代码多次执行。为了提高编写的效率以及更好的维护代码&#xff0c;需要把具有独立功能的代码块组织为一个小模块&#xff0c;这就是函数。定义一&#xff1a;我们把一些数据喂给函数&#xff0c;让他内部消化&…

MATLAB入门教程

MATLAB入门教程可以按照以下结构进行清晰地分点表示和归纳&#xff1a; 一、MATLAB概述 定义&#xff1a;MATLAB&#xff08;Matrix Laboratory&#xff09;是由MathWorks公司开发的一种用于数值计算、可视化以及编程的高级语言环境和交互式系统。特点&#xff1a;简单易学、…

【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt窗口 | 标准对话框 | 文件对话框QFileDialog 文章编号&#xff1a;Q…

前端如何接收SSE流式数据传输(大模型网站常用)

使用fetchEventSource 参考&#xff1a;https://blog.csdn.net/qq_43750656/article/details/1315911984 https://zhuanlan.zhihu.com/p/686618062 首先安装&#xff1a; npm install --save microsoft/fetch-event-source我参考各个资料写的函数&#xff1a; // 流式传输处…

JEnv-for-Windows 2 java版本工具的安装使用踩坑

0.环境 windows11pro 1.工具下载 GitHub - Mu-L/JEnv-for-Windows: Change your current Java version with one line or JEnv-for-Windows:Change your current Java version with one line - GitCode 2.执行jenv 初始化 2.1 问题&#xff1a;PowerShell 未对文件\XXX.…

Al智能图像处理APP,安卓手机专用一键优化工具资源合集下载

### 标题&#xff1a;Al智能图像处理APP&#xff0c;安卓手机专用一键优化工具资源合集下载 随着科技的进步&#xff0c;图像处理技术也在不断提升。为了满足用户对图像处理日益增长的需求&#xff0c;我们隆重推出了一款功能强大的图像处理工具——Al智能图像处理APP。这款安…

二、OSI七层模型和TCP,IP模型基本概念

OSI七层模型&#xff1a;&#xff08;举例是解释微信数据发送的流程&#xff09; 应用层:从应用程序的窗口接受信息 表示层&#xff1a;将接受的数据转换/加密 会话层&#xff1a;在转换后的数据中加上会话信息&#xff0c;会话信息决定会话窗口&#xff08;哪个群聊&#x…

搭建知识付费APP平台教学:在线教育系统源码详解

如何搭建一个高效的知识付费APP平台呢&#xff1f;今天&#xff0c;笔者将详细解析在线教育系统的源码&#xff0c;帮助您快速搭建自己的知识付费APP平台。 一、平台的核心功能 一个完整的知识付费APP平台通常需要具备以下核心功能&#xff1a; 用户管理 内容管理 支付 课…

业务动态校验框架应用实现

目录 一、业务背景 二、配置内容展示 三、商品动态配置内容展示 &#xff08;一&#xff09;商品spu校验信息数据 &#xff08;二&#xff09;商品sku校验信息数据 &#xff08;三&#xff09;组包商品校验信息数据 &#xff08;四&#xff09;商品数据校验数据持有者 &…

蚓链数字化营销教你寻找快准直达市场路径小绝招

在当今数字化的商业世界中&#xff0c;蚓链数字化营销成为了企业开拓市场、实现增长的有力工具。它犹如一盏明灯&#xff0c;为您照亮寻找快速直达市场路径的方向。 绝招一&#xff1a;深入的市场调研。利用蚓链数字化营销的大数据分析能力&#xff0c;全面了解目标市场的规模、…

Mybista ${} 和 #{} 的区别

爱思考的程序员 最近在开始思考MyBatis中的一些细节&#xff0c;遇到不会的就找博客&#xff0c;发现这部分内容有所欠缺。 虽然在这条路上我还是个新手&#xff0c;但每次遇到问题最常帮助我的都是这些陌生人的博客&#xff0c; 这次就由我来吧。欢迎转载&#xff0c;请标明出…

Spring Cloud Stream整合RocketMQ

Spring Cloud Stream整合RocketMQ 这里书接上回&#xff0c;默认你已经搭建好了RocketMQ主从异步集群&#xff0c;前面文章已经介绍过搭建方法。 1、Spring Cloud Stream介绍 Spring Cloud Stream是一个框架&#xff0c;用于构建与共享消息系统连接的高度可扩展的事件驱动微服…

MapReduce Simplified Data Processing on Large Clusters 论文笔记

2003年USENIX&#xff0c;出自谷歌&#xff0c;开启分布式大数据时代的三篇论文之一&#xff0c;作者是 Jeffrey 和 Sanjay&#xff0c;两位谷歌巨头。 Abstract MapReduce 是一种变成模型&#xff0c;用于处理和生成大规模数据。用户指定 map 函数处理每一个 key/value 对来…

“论面向对象的建模及应用”必过范文,突击2024软考高项论文

论文真题 软件系统建模是软件开发中的重要环节&#xff0c;通过构建软件系统模型可以帮助系统开发人员理解系统&#xff0c;抽取业务过程和管理系统的复杂性&#xff0c;也可以方便各类人员之间的交流。软件系统建模是在系统需求分析和系统实现之间架起的一座桥梁&#xff0c;…

C#操作MySQL从入门到精通(15)——分组数据

前言 我们有时候需要对数据库中查询的数据进行分组,所谓分组就是将相同的数据分为一组,本次测试使用的数据库数据如下: 1、分组 分组使用group by关键词,下面的代码的意思是对查询的结果按照student_age进行分组,student_age相同的划分为同一组 string sql = string.E…

vue3-sfc-loader动态加载一个异步vue组件生成cesium画面

在 Vue.js 3 中&#xff0c;使用 vue3-sfc-loader 可以动态加载异步的 Vue 单文件组件&#xff08;.vue 文件&#xff09;。这个工具允许你在运行时根据需要加载和解析 .vue 文件&#xff0c;使得组件的加载变得更加灵活和动态。 下面是一个简单的示例&#xff0c;演示如何使用…

没有学历,没有基础,是否能成为一个嵌入式工程师?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 嵌入式其实涵盖的知识非常…

day32贪心算法part02| 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II

122.买卖股票的最佳时机II 本题解法很巧妙&#xff0c;大家可以看题思考一下&#xff0c;在看题解。 题目讲解 | 题目链接 class Solution { public:int maxProfit(vector<int>& prices) {int result 0;for (int i 1; i < prices.size(); i) {// 直接看两天之…

CSS期末复习速览(一)

1.标签选择器&#xff0c;格式&#xff1a;标签{ …… }&#xff0c;例如div{ color&#xff1a;pink&#xff1b; }&#xff0c;代表全部div中的字都是pink色 2.类选择器&#xff0c;格式&#xff1a;.类名{……}&#xff0c;通过class"类名"调用&#xff0c;例如.…

Adobe Illustrator 基础学习

基本工具栏 T 为文字状态&#xff0c;用于输入文本&#xff0c;默认填充符是 滚滚长江东逝水xxx。 空心箭头是拖动&#xff0c;要移动任何东西的位置都需要这个工具&#xff0c;快捷键是英文的 v 上方纯色填充的矩形为图形绘制工具&#xff0c;右键点击可以展开折叠的多边形、…