3D 毛玻璃晶质见证卡

效果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

页面结构

从上面的效果展示来看,页面主要成员是一张卡片,并且卡片上有三个小矩形,而小矩形上会展示对应的内容。

当鼠标悬停在卡片上时,卡片会随着鼠标的移动而改变视角。

CSS3 知识点

  • transform-style 属性的 preserve-3d 值运用
  • transform 属性的 translateZ 值运用
  • VanillaTilt.js 与 translateZ 的 3D 视角运用

实现页面整体布局

<div class="container"><div class="box"><div class="elements bg"></div><div class="elements img_box"><img src="./images/user-2.png" /></div><div class="elements name"><h2>Someone Famous</h2></div><div class="elements content"><p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Autem quismagni porro et unde eos consectetur esse cum voluptatibus dolor.Voluptatem eligendi, veniam molestias incidunt quod corporis providentmagnam iure.</p></div><div class="card"></div></div>
</div>

实现卡片的基础样式

.box {position: relative;border-radius: 20px;transform-style: preserve-3d;
}.box .card {position: relative;background: rgba(255, 255, 255, 0.1);width: 300px;min-height: 400px;backdrop-filter: blur(10px);border: 1px solid rgba(255, 255, 255, 0.5);border-top: 1px solid rgba(255, 255, 255, 0.75);border-left: 1px solid rgba(255, 255, 255, 0.75);border-radius: 20px;box-shadow: 0 25px 45px rgba(0, 0, 0, 0.05);transform-style: preserve-3d;
}

编写三个小矩形的基础样式

.elements {position: absolute;top: 50px;left: -30px;width: 100px;height: 100px;background: rgba(255, 255, 255, 0.1);transform: translateZ(80px);backdrop-filter: blur(10px);border: 1px solid rgba(255, 255, 255, 0.5);border-top: 1px solid rgba(255, 255, 255, 0.75);border-left: 1px solid rgba(255, 255, 255, 0.75);border-radius: 10px;box-shadow: 0 25px 45px rgba(0, 0, 0, 0.05);
}

编写装饰类小矩形的样式及鼠标悬停样式

.elements.bg::before {content: "";display: block;position: absolute;inset: 0;background: url(./images/left_quote.png) no-repeat center;background-size: 90%;opacity: 0;transition: 0.5s;
}.box:hover .elements.bg::before {opacity: 1;
}

编写用户头像小矩形框样式及鼠标悬停样式

.elements.img_box {top: 0;left: initial;right: 60px;width: 120px;height: 120px;padding: 10px;transform: translateZ(120px);
}.elements.img_box img {position: absolute;width: calc(100% - 20px);border-radius: 8px;border: 1px solid rgba(255, 255, 255, 0.5);border-top: 1px solid rgba(255, 255, 255, 0.75);border-left: 1px solid rgba(255, 255, 255, 0.75);box-shadow: 0 25px 45px rgba(0, 0, 0, 0.05);opacity: 0;transition: 0.5s;
}.box:hover .elements.img_box img {opacity: 1;
}

编写用户姓名的样式和鼠标悬停样式

.elements.name {top: 235px;left: initial;right: 0;width: 100%;height: 10px;padding: 10px;text-align: center;transform: translateZ(180px);background: transparent;backdrop-filter: blur(0px);border: none;box-shadow: none;color: #644651;transition: 0.5s;opacity: 0;transition-delay: 0.25s;
}.box:hover .elements.name {opacity: 1;top: 145px;
}

编写用户信息卡片和鼠标悬停样式

.elements.content {top: initial;left: initial;bottom: 0;right: -20px;width: 85%;min-height: 200px;padding: 10px;transform: translateZ(180px);text-align: center;display: flex;justify-content: center;align-items: center;
}.elements.content p {position: relative;color: #fff;font-size: 0.85em;opacity: 0;transition: 0.5s;transition-delay: 0.5s;color: #644651;
}.box:hover .elements.content p {opacity: 1;
}

完整代码下载

完整代码下载

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

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

相关文章

linux入门---信号的理解

目录标题 如何理解计算机中的信号如何查看计算机中的信号初步了解信号的保存和发送如何向目标进程发送信号情景一&#xff1a;使用键盘发送信号情景二&#xff1a;系统调用发送信号情景三&#xff1a;硬件异常产生信号情景四&#xff1a;软件条件产生信号 核心转储信号的两个问…

Elasticsearch基础篇(二):Elasticsearch在windows和liunx上的安装部署

Elasticsearch简介 前言1. Windows环境部署Elasticsearch1.1 下载并解压Elasticsearch压缩包1.2 命令行启动elasticsearch1.3 验证是否成功启动elasticsearch1.4 关闭Elasticsearch1.5 在Windows上安装Elasticsearch作为服务 2. Liunx环境部署Elasticsearch安装 Elasticsearch …

逆变器下垂控制单机

仿真控制参数 主电路 坐标变换 功率计算 下垂控制 电压电流双闭环控制 结果变量监控 断路器闭合&#xff0c;负载突增 负载突增&#xff0c;有功和无功突增 有功增加&#xff0c;频率减小 无功增加&#xff0c;参考电压减小

基于JavaWeb技术的在线考试系统设计与实现

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 考试统计管理 专业列表管理 忘记密码人员登记管理 修改密码 试卷信息 考试信息管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理…

Linux Vi编辑器基础操作指南

Linux Vi编辑器基础操作指南 Linux中的Vi是一个强大的文本编辑器&#xff0c;虽然它有一些陡峭的学习曲线&#xff0c;但一旦掌握了基本操作&#xff0c;它就变得非常高效。以下是Vi编辑器的一些基本用法&#xff1a; 打开Vi编辑器&#xff1a; vi 文件名退出Vi编辑器&#xff…

pygame - 贪吃蛇小游戏

蛇每吃掉一个身体块&#xff0c;蛇身就增加一个长度。为了统一计算&#xff0c;界面的尺寸和游戏元素的位置都是身体块长度的倍数 1. 上下左右方向键&#xff08;或者ASDW键&#xff09;控制蛇的移动方向 2. 空格键暂停和继续蛇的身体图片文件&#xff0c;复制到项目的asset\im…

Python逐日填补Excel中的日期并用0值填充缺失日期的数据

本文介绍基于Python语言&#xff0c;读取一个不同的列表示不同的日期的.csv格式文件&#xff0c;将其中缺失的日期数值加以填补&#xff1b;并用0值对这些缺失日期对应的数据加以填充的方法。 首先&#xff0c;我们明确一下本文的需求。现在有一个.csv格式文件&#xff0c;其第…

1.7.C++项目:仿muduo库实现并发服务器之Poller模块的设计

项目完整在&#xff1a; 文章目录 一、Poller模块&#xff1a;描述符IO事件监控模块二、提供的功能三、实现思想&#xff08;一&#xff09;功能&#xff08;二&#xff09;意义&#xff08;三&#xff09;功能设计 四、封装思想五、代码&#xff08;一&#xff09;框架&#…

轻量级网络IP扫描器WatchYourLAN

什么是 WatchYourLAN &#xff1f; WatchYourLAN 是一款带有 Web GUI 的轻量级网络 IP 扫描器。支持使用不同的主题和色彩模式进行个性化设置。 准备工作 扫描网络&#xff0c;首先要找到对应的网络接口&#xff0c;一般常见的包括 eth0、lo、docker0 等&#xff0c;可以在 SS…

Spring的依赖注入(DI)以及优缺点

Spring的依赖注入&#xff08;DI&#xff09;&#xff1a;解释和优点 依赖注入&#xff08;Dependency Injection&#xff0c;简称DI&#xff09;是Spring框架的核心概念之一&#xff0c;也是现代Java应用程序开发的重要组成部分。本文将深入探讨DI是什么&#xff0c;以及它的…

react项目从webpack迁移到vite的解决方案

虽然webpack是前端工程编译工具的王者&#xff0c;但是最近vite牛逼吹的震天响&#xff0c;说什么开发/生产打包速度甩webpack 100条街。不管是不是事实&#xff0c;总得尝试一下吧。 于是说干就干&#xff0c;在网上找了很多资料&#xff0c;终于搞定了&#xff0c;以下就是r…

[Linux]线程互斥

[Linux]线程互斥 文章目录 [Linux]线程互斥线程并发访问问题线程互斥控制--加锁pthread_mutex_init函数pthread_mutex_destroy函数pthread_mutex_lock函数pthread_mutex_unlock函数锁相关函数使用示例使用锁的细节加锁解锁的实现原理 线程安全概念常见的线程不安全的情况常见的…