html网页制作-3D旋转卡片

news2024/11/18 11:33:56

网页制作-3D旋转卡片


两种旋转卡片的制作

旋转卡片(1)

代码

html代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>3D旋转卡片</title>
    <link rel="stylesheet" href="./3dcard.css">
</head>
<body>
    <div class="card_3d">
        <div class="front">
            <p>缘分让我们遇到</p>
        </div>

        <div class="back">
            <p>求点赞</p>
            <p>求点赞</p>
            <p>求点赞</p>
            <p>求点赞</p>
        </div>
    </div>
    
    
</body>
</html>

css代码

*{
    margin: 0;
    padding: 0;
}

body{
    /* 弹性布局 水平加垂直 */
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background-image: linear-gradient(200deg,#5ee7df,#b490ca);
    /* 增加旋转立体感 */
    perspective: 1000px;
}

.card_3d{
    position: relative;
    width: 300px;
    height: 450px;
    border-radius: 30px;
    cursor: pointer;
    background-color: #fff;
    box-shadow: 1px 1px 20px rgba(0,0,0,0.1);
    /* 给父元素添加一个3d盒子,等到子元素到背面,这个元素使添加到父元素的,当影响的是子元素 */
    transform-style: preserve-3d;
    /* 添加默认动画 */
    animation: rotate-reverse 1.2s cubic-bezier(0.66,-0.47,0.33,1.5) forwards;
    
}

/* 设置鼠标移入动画执行 */
.card_3d:hover{
    /* 动画(名称  时长  第三个属性是贝塞尔曲线  forward使动画到100%后会停下来) */
    animation: rotate 1.2s cubic-bezier(0.66,-0.47,0.33,1.5) forwards;
}

.card_3d .front, .card_3d .back{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 平均分配子元素 */
    justify-content: space-around;
    font-size: 20px;
    background-color: #fff;
    border-radius: 30px;
    backface-visibility: hidden;
}

.card_3d .back{
    /* 此页要到背面去 所以沿y轴旋转 */
    transform: rotateY(180deg);
}

/* 动画 */
@keyframes rotate{
    0%{
        transform: rotateY(0deg);
    }
    100%{
        transform: rotateY(180deg);
    }
}


@keyframes rotate-reverser{
    0%{
        transform: rotateY(180deg);
    }
    100%{
        transform: rotateY(0deg);
    }
}

效果图

鼠标悬浮,卡片翻转

在这里插入图片描述

在这里插入图片描述

旋转卡片(2)

代码

html代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>3D旋转卡片(2)</title>
    <link rel="stylesheet" href="./3dcard2.css">
</head>
<body>

    <div class="fzcard">
        <div id="s_img">
            <img src="./img/1.jpg" id="a1">
            <img src="./img/2.jpg" id="a2">
    
        </div>
    </div>
    
    
</body>
</html>

css代码

*{
    margin: 0;
    padding: 0;
}

body{
    height: 100vh;
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: aqua;
}

.fzcard{
    width: 400px;
    height: 600px;
    perspective: 1000px;
}

#s_img{
    width: 400px;
    height: 600px;
    position: relative;
    /* 创建3d空间 */
    transform-style: preserve-3d;

}

#s_img img{
    width: 100%;
    height: 100%;
    position: absolute;
    border-radius: 30px;
    box-shadow: 0 0 15px rgb(0, 0, 0);
    backface-visibility: hidden;
    transition: 2s;

}

#a2{
    transform: rotateY(180deg);
}

.fzcard:hover #a2{
    transform: rotateY(0deg);
}

.fzcard:hover #a1{
    transform: rotateY(-180deg);
}

所需图片

在这里插入图片描述

在这里插入图片描述

效果图

鼠标悬浮卡片翻转

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

Transformer的前世今生 day03(Word2Vec、如何使用在下游任务中)

前情回顾 由上一节&#xff0c;我们可以得到&#xff1a; 任何一个独热编码的词都可以通过Q矩阵得到一个词向量&#xff0c;而词向量有两个优点&#xff1a; 可以改变输入的维度&#xff08;原来是很大的独热编码&#xff0c;但是我们经过一个Q矩阵后&#xff0c;维度就可以控…

linux命令(八)

搜索 其实很多人使用linux的是因为服务器是linux系统&#xff0c;既然是服务器&#xff0c;那查找日志肯定是大家用的很多的了&#xff0c;这一节就来介绍一下搜索的命令 grep 先看一下我的文件中的内容是什么 查找不包含该字符串的行 -v v代表的invert-match(不匹配的行) …

基于Java中的SSM框架实现电能计量与客户服务管理系统项目【项目源码+论文说明】计算机毕业设计

基于Java中的SSM框架实现电能计量与客户服务管理系统演示 摘要 当前时代的两个突出特征是世界经济一体化和以计算机为代表的信息技术的迅速发展。为了使组织在激烈的竞争中保持实力和发展&#xff0c;它必须对迅速变化的环境做出有效而有效的响应。 管理信息系统的应用可以提供…

202446读书笔记|《夜风颂》——生命的内核是过往和希望 有情在朝暮 长聚长相思

202446读书笔记|《夜风颂》——生命的内核是过往和希望 有情在朝暮 长聚长相思 序现代诗古体诗 《夜风颂》作者王锴&#xff0c;前段时间加入书架的书&#xff0c;前边有几首现代诗挺惊艳&#xff0c;蛮喜欢的&#xff0c;后边古体诗稍逊色些。值得一读的一本小诗集。 序 海鸥之…

11.创建后台系统项目

后台系统项目 兼容性 vite官网&#xff1a;https://vitejs.dev/ vite中文网&#xff1a;https://cn.vitejs.dev/ vite需要node.js版本 >14.0.0&#xff0c;建议16 node -v 查看版本号 创建项目 进入存放目录 执行命令 npm create vitelatest 选择vue框架 选择typescript…

缓存穿透、缓存击穿、缓存雪崩及其解决方法

缓存穿透、缓存击穿、缓存雪崩是redis的三大问题。 在介绍这三大问题之前&#xff0c;我们需要先了解Redis作为一个缓存中间件&#xff0c;在项目中是如何工作的。首先看一下在没有缓存中间件的时候的系统数据访问的架构图&#xff1a; 客户端发起一个查询请求的时候&#xff…

一个软开关,长按开机,自动关机的实现。

连接说明&#xff1a; 1.ADP_PWR接适配器输入插座 当适配器插入的时候 ADP_PWR接入适配器7.4~8.4V电压 2.ON/OFF_KEY 接开关按键&#xff0c;当开关按下的时候&#xff0c;ON/OFF_KEY 接入电池电压 7.4V 3.ON/OFF_CTRL接单片机IO口 开机实现说明&#xff1a; 1.长按开…

存储随笔原创科普视频首播~

一周之前&#xff0c;存储随笔创建了B站账号。小编利用上个周末休息时间专门研究了B站视频录制的各种方案。发现并没有想象的很容易&#xff0c;先花了很长时间准备了一个PPT&#xff0c;再准备演讲大纲&#xff0c;最终磕磕绊绊完成了首期原创视频录制&#xff01; 可能不尽如…

Mybatis中显示插入数据成功,但在数据库中却没有显示插入的数据

1、在mybatis-config.xml中查看是否添加了JDBC&#xff0c;并引入了映射文件 2、在测试文件中&#xff0c;结尾是否添加提交事务&#xff1a;sqlSession.commit() 添加了这一步就能够将数据提交到数据库中&#xff0c;最后再关闭事务&#xff1a;sqlSession.close() * 如果运…

基于SpringBoot校园外卖服务系统设计与实现

点赞收藏关注 → 私信领取本源代码、数据库 一、项目概述 项目名称&#xff1a;基于SpringBoot校园外卖服务系统设计与实现 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 主要技术&#xff1a;SpringBootMybatisMySQL 运行环境&#xff1a;Windows7以上、J…

Windows Server 2016 配置NTP客户端

目录 1. 前提条件1.1 进入服务管理界面1.2 开启Windows Time服务 2. 情况1&#xff1a;可以直接设置NTP时钟2.1 Internet时间设置 3. 情况2&#xff1a;有的版本服务器上没有“Internet时间”3.1 运行gpedit.msc 打开本地策略组3.2 Windows 时间服务3.3 配置Windows NTP客户端3…

Replidec:使用朴素贝叶斯分类器从宏基因组数据中识别病毒生命周期

Replidec - Use naive Bayes classifier to identify virus lifecycle from metagenomics data | bioRxivReplidec - Use naive Bayes classifier to identify virus lifecycle from metagenomics data | bioRxiv 安装 docker pull denglab/replidec 使用 for i in *_vOT…

draw.io 去除箭头

问题 draw.io 去除箭头 详细问题 笔者使用draw.io绘制流程图&#xff0c;需要没有箭头的连接器&#xff0c;但是General所提供的连接器添加了尾部箭头&#xff0c;如何取消尾部箭头? 解决方案 1、点击选中选择连接器&#xff08;箭头1&#xff09;。在格式面板的“Style…

【C++】关联式容器——map和set

1 关联式容器 STL中我们常用的部分容器&#xff0c;比如&#xff1a;vector、list、deque、forward_list(C11)等&#xff0c;这些容器统称为序列式容器&#xff0c;因为其底层为线性序列的数据结构&#xff0c;里面存储的是元素本身。 那什么是关联式容器呢&#xff1f;它与序…

keepalived高可用方案

keepalived概念 keepalived是一个开源的虚拟路由冗余协议&#xff08;VRRP&#xff09;实现&#xff0c;它能够提供高可用性&#xff08;HA&#xff09;的解决方案。VRRP是一种网络协议&#xff0c;用于在多个路由器之间分配路由任务&#xff0c;以保证网络的可靠性。在服务器…

Ubuntu的快照和系统恢复

一、快照 ubuntu的快照&#xff0c;相当于将你系统目前的状态做一个备份&#xff0c;完全复制的当前状态。便于之后进行恢复 名称任意 这个文件就是快照文件 二、系统恢复 若你的系统出现问题&#xff0c;这时可以使用快照进行快速修复&#xff1a;

对于组件通信的深刻理解

父组件传递数据给子组件 props传递数据 父组件在子组件的标签上写自定义的属性,属性值是自己的变量,当渲染到子组件时,执行props会找自定义属性,内存了变量的内存,可访问到,写props,会生成vue实例的时候,将props的变量赋给,值找变量内存存入变量.插值语句等可访问.父组件会变…

第四百二十二回

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"自定义标题栏"相关的内容&#xff0c;本章回中将介绍自定义Action菜单.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在这里提到的…

数据结构(五)——树森林

5.4 树和森林 5.4.1 树的存储结构 树的存储1&#xff1a;双亲表示法 用数组顺序存储各结点&#xff0c;每个结点中保存数据元素、指向双亲结点(父结点)的“指针” #define MAX_TREE_SIZE 100// 树的结点 typedef struct{ElemType data;int parent; }PTNode;// 树的类型 type…

阿里云服务器价格购买价格表,2024新版报价查询

2024年腾讯云服务器优惠价格表&#xff0c;一张表整理阿里云服务器最新报价&#xff0c;阿里云服务器网整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单&#xff0c;大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新的云服务器优惠券…