首页 > 其他分享 >html网页制作-3D旋转卡片

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

时间:2024-03-24 21:29:43浏览次数:25  
标签:卡片 100% transform height rotateY html 3D 3d

网页制作-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);
}

所需图片

在这里插入图片描述

在这里插入图片描述

效果图

鼠标悬浮卡片翻转

在这里插入图片描述

在这里插入图片描述

标签:卡片,100%,transform,height,rotateY,html,3D,3d
From: https://blog.csdn.net/qq_62652856/article/details/136995535

相关文章

  • HTML DOM的event事件
    onabort图像的加载被中断 onblur 元素失去焦点onchange域的内容被改变onclick当用户点击某个对象时调用的事件句柄ondblclick 当用户双击某个对象时调用的事件句柄onerror在加载文档或图像时发生错误 onfocus元素获得焦点onkeydown某个键盘按......
  • 使用AI技术(单张图片或文字)生产3D模型 —— Ai生成3D模型的时代来了
    地址:https://www.bilibili.com/video/BV1A2421P7pH/视频用到的工具voxcraft体验地址:https://voxcraft.ai/......
  • Audio2Gesture:NVIDIA 黄仁勋的3D虚拟人技术 —— 元宇宙
    相关:https://www.nvidia.com/en-us/on-demand/session/omniverse2020-om1573/https://www.nvidia.com/zh-tw/on-demand/session/omniverse2020-om1574/https://www.nvidia.com/en-us/on-demand/session/omniverse2020-om1575/......
  • html基础
    HTML标签分类【1】双标签双标签是有头有尾的内容写在标签中间【2】单标签但标签也称自闭标签不需要写另一半标签文档结构标签【1】html定义html文档的根元素【2】head包含文档的元信息,如标题、字符集、样式表等。【3】title标题标签标签内容会显示在浏览器......
  • cfEduRound163div2--D题解
    D-TandemRepeats?题意:做法:因为字符串长度较少,可以考虑枚举。or--动态规划voidsolve(){//D枚举//枚举!!!!!!!!!!stringstr;cin>>str;intn=str.size(),ans=0;for(inti=1;i<=n/2;i++){//枚举一半!!!intcnt=0;for(intj=0;......
  • 3D卡片光效
    实现效果实现注意mix-blend-mode:color-dodge;constcalcX=((y-box.y-box.height/2)/multiple)*-1;实现代码<divid="element"></div>body{height:100vh;display:flex;transform-style:preserve-3d;perspective:500px;c......
  • NVIDIA 2024 GTC大会提出的数字孪生技术 —— 工厂3D仿真与AI大模型结合
    地址:https://www.youtube.com/watch?v=JQdyzQdMRS0FusingReal-TimeAIWithDigitalTwins......
  • HTML5抽奖转盘-CSS3超简单版本
     网上有很多关于抽奖转盘的代码和实例,有使用JavaScript控制动画的,有使用Canvas实现的,它们思路各不相同,本文将介绍一种采用CSS3的方式来实现转盘动画效果,非常简单,只需几行代码即可实现。 核心思路采用CSS3的transition(过渡效果),给定需要旋转的元素设置transform的rotate属性......
  • 【包邮送书】HTML5+CSS3从入门到精通
    欢迎关注博主Mindtechnist或加入【智能科技社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关注公粽号《机器和智能》回复关键词“python项目实战......
  • HTML 学习心得
    前言超文本标记语言\(HyperTextMarkupLanguage\)简称\(HTML\),本质上是是一种用来结构化\(Web\)网页及其内容的标记语言。也算不上编程语言,是一种用于定义内容结构的标记语言,是由一堆堆的元素组成。正文下面才是正文啦\(HTML\)的代码一般是呈现下面的一种形式由白色......