一个胖乎乎的3D卡片(有点像捏扁的圆柱体)

先上效果图(图片是随机的,可能你们看到的和这个不一样。但效果是相同的):
在这里插入图片描述
再上代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
    *{
      margin: 0;
      padding: 0;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
    }

    h1{
      font-size: 2.5rem;
      font-family: 'Montserrat';
      font-weight: normal;
      color: #444;
      text-align: center;
      margin: 2rem 0;
    }

    .wrapper{
      width: 90%;
      margin: 0 auto;
      max-width: 80rem;
    }

    .cols{
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }

    .col{
      width: calc(25% - 2rem);
      margin: 1rem;
      cursor: pointer;
    }

    .container{
      -webkit-transform-style: preserve-3d;
      transform-style: preserve-3d;
      -webkit-perspective: 1000px;
      perspective: 1000px;
    }

    .front,
    .back{
      background-size: cover;
      box-shadow: 0 4px 8px 0 rgba(0,0,0,0.25);
      border-radius: 10px;
      background-position: center;
      -webkit-transition: -webkit-transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
      transition: -webkit-transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
      -o-transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
      transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
      transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1), -webkit-transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      text-align: center;
      min-height: 280px;
      height: auto;
      border-radius: 10px;
      color: #fff;
      font-size: 1.5rem;
    }

    .back{
      background: #cedce7;
      background: -webkit-linear-gradient(45deg,  #cedce7 0%,#596a72 100%);
      background: -o-linear-gradient(45deg,  #cedce7 0%,#596a72 100%);
      background: linear-gradient(45deg,  #cedce7 0%,#596a72 100%);
    }

    .front:after{
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      width: 100%;
      height: 100%;
      content: '';
      display: block;
      opacity: .6;
      background-color: #000;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      border-radius: 10px;
    }
    .container:hover .front,
    .container:hover .back{
      -webkit-transition: -webkit-transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
      transition: -webkit-transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
      -o-transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
      transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
      transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1), -webkit-transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
    }

    .back{
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
    }

    .inner{
      -webkit-transform: translateY(-50%) translateZ(60px) scale(0.94);
      transform: translateY(-50%) translateZ(60px) scale(0.94);
      top: 50%;
      position: absolute;
      left: 0;
      width: 100%;
      padding: 2rem;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      outline: 1px solid transparent;
      -webkit-perspective: inherit;
      perspective: inherit;
      z-index: 2;
    }

    .container .back{
      -webkit-transform: rotateY(180deg);
      transform: rotateY(180deg);
      -webkit-transform-style: preserve-3d;
      transform-style: preserve-3d;
    }

    .container .front{
      -webkit-transform: rotateY(0deg);
      transform: rotateY(0deg);
      -webkit-transform-style: preserve-3d;
      transform-style: preserve-3d;
    }

    .container:hover .back{
      -webkit-transform: rotateY(0deg);
      transform: rotateY(0deg);
      -webkit-transform-style: preserve-3d;
      transform-style: preserve-3d;
    }

    .container:hover .front{
      -webkit-transform: rotateY(-180deg);
      transform: rotateY(-180deg);
      -webkit-transform-style: preserve-3d;
      transform-style: preserve-3d;
    }

    .front .inner p{
      font-size: 2rem;
      margin-bottom: 2rem;
      position: relative;
    }

    .front .inner p:after{
      content: '';
      width: 4rem;
      height: 2px;
      position: absolute;
      background: #C6D4DF;
      display: block;
      left: 0;
      right: 0;
      margin: 0 auto;
      bottom: -.75rem;
    }

    .front .inner span{
      color: rgba(255,255,255,0.7);
      font-family: 'Montserrat';
      font-weight: 300;
    }

    @media screen and (max-width: 64rem){
      .col{
        width: calc(33.333333% - 2rem);
      }
    }

    @media screen and (max-width: 48rem){
      .col{
        width: calc(50% - 2rem);
      }
    }

    @media screen and (max-width: 32rem){
      .col{
        width: 100%;
        margin: 0 0 2rem 0;
      }
    }
    header {
      top: 0;
      position: fixed;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 1%;
      width: 100%;
      z-index: 3;
      height: 7em;
      font-family: "Bebas Neue", sans-serif;
      font-size: clamp(0.66rem, 2vw, 1rem);
      letter-spacing: 0.5em;
    }

    a{
      color: black;
      text-decoration: none;
    }
  </style>
</head>
<body>
<header>
  <div><a href="https://blog.csdn.net/qq_35241329?type=blog">Original By TiMi先生</a></div>
</header>
<div class="wrapper">
  <h1>Parallax Flipping Cards</h1>
  <div class="cols">
    <div class="col" ontouchstart="this.classList.toggle('hover');">
      <div class="container">
        <div class="front" style="background-image: url(https://unsplash.it/500/500/)">
          <div class="inner">
            <p>Diligord</p>
            <span>Lorem ipsum</span>
          </div>
        </div>
        <div class="back">
          <div class="inner">
            <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
          </div>
        </div>
      </div>
    </div>
    <div class="col" ontouchstart="this.classList.toggle('hover');">
      <div class="container">
        <div class="front" style="background-image: url(https://unsplash.it/509/509/)">
          <div class="inner">
            <p>Rocogged</p>
            <span>Lorem ipsum</span>
          </div>
        </div>
        <div class="back">
          <div class="inner">
            <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
          </div>
        </div>
      </div>
    </div>
    <div class="col" ontouchstart="this.classList.toggle('hover');">
      <div class="container">
        <div class="front" style="background-image: url(https://unsplash.it/502/502/)">
          <div class="inner">
            <p>Strizzes</p>
            <span>Lorem ipsum</span>
          </div>
        </div>
        <div class="back">
          <div class="inner">
            <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
          </div>
        </div>
      </div>
    </div>
    <div class="col" ontouchstart="this.classList.toggle('hover');">
      <div class="container">
        <div class="front" style="background-image: url(https://unsplash.it/503/503/)">
          <div class="inner">
            <p>Clossyo</p>
            <span>Lorem ipsum</span>
          </div>
        </div>
        <div class="back">
          <div class="inner">
            <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
          </div>
        </div>
      </div>
    </div>
    <div class="col" ontouchstart="this.classList.toggle('hover');">
      <div class="container">
        <div class="front" style="background-image: url(https://unsplash.it/504/504/)">
          <div class="inner">
            <p>Rendann</p>
            <span>Lorem ipsum</span>
          </div>
        </div>
        <div class="back">
          <div class="inner">
            <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
          </div>
        </div>
      </div>
    </div>
    <div class="col" ontouchstart="this.classList.toggle('hover');">
      <div class="container">
        <div class="front" style="background-image: url(https://unsplash.it/505/505/)">
          <div class="inner">
            <p>Reflupper</p>
            <span>Lorem ipsum</span>
          </div>
        </div>
        <div class="back">
          <div class="inner">
            <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
          </div>
        </div>
      </div>
    </div>
    <div class="col" ontouchstart="this.classList.toggle('hover');">
      <div class="container">
        <div class="front" style="background-image: url(https://unsplash.it/506/506/)">
          <div class="inner">
            <p>Acirassi</p>
            <span>Lorem ipsum</span>
          </div>
        </div>
        <div class="back">
          <div class="inner">
            <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
          </div>
        </div>
      </div>
    </div>
    <div class="col" ontouchstart="this.classList.toggle('hover');">
      <div class="container">
        <div class="front" style="background-image: url(https://unsplash.it/508/508/)">
          <div class="inner">
            <p>Sohanidd</p>
            <span>Lorem ipsum</span>
          </div>
        </div>
        <div class="back">
          <div class="inner">
            <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
</body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LitCTF2023 wp re最后一道 cry misc

本来不打算放了&#xff0c;但是比赛打都打了留个纪念社工有佬&#xff0c;与我无关&#xff0c;misc只会隐写虽然我是逆向手&#xff0c;但因为队友tql&#xff0c;所以只留给我最后一道~~我的wp向来以简述思路为主&#xff0c;习惯就好 Crypto Hex&#xff1f;Hex&#xff…

【扰动识别】S变换电能质量扰动识别(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

一年换 3 份工作,在家躺平半年了!

见字如面&#xff0c;我是军哥&#xff01; 还记得&#xff0c;我之前写的这篇《三年换 3 份工作&#xff0c;再也找不到工作了&#xff01;》文章&#xff1f;上周有一位读者在这篇文章下留言&#xff0c;说自己去年一年换了 3 份工作&#xff0c;目前在家躺了半年了&#xff…

[Android Studio Tool]在Android Studio项目中如何使用CSV文件

文章目录 在Android Studio项目中如何使用CSV文件1. 前情提要&#xff1a;CSV文件的准备2. CSV文件在安卓项目一般存放在什么位置&#xff1f;3. Android Studio处理CSV文件的常用插件&#xff1f;4. 怎么调整Android Studio中对GBK编码的CSV文件的处理&#xff1f;以下是一个代…

Nexus私服搭建与使用

文章目录 1 私服简介2 私服安装步骤1:下载解压步骤2:启动Nexus步骤3:浏览器访问步骤4:首次登录重置密码 3 私服仓库分类4 本地仓库访问私服配置步骤1:私服上配置仓库步骤2:配置本地Maven对私服的访问权限步骤3:配置私服的访问路径 5 私服资源上传与下载步骤1:配置工程上传私服的…

现在的00后,真是卷死了呀,辞职信已经写好了·····

都说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。这不&#xff0c;三月份春招我们公司来了个00后&#xff0c;工作没两年&#xff0c;跳槽到我们公司起薪23K&#xff0c;都快接近我了。 后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了…

借助TeeChart 图表控件,这家公司轻松创建了可视化图表看板

TeeChart for .NET是优秀的工业4.0 WinForm图表控件&#xff0c;官方独家授权汉化&#xff0c;集功能全面、性能稳定、价格实惠等优势于一体。TeeChart for .NET 中文版还可让您在使用和学习上没有任何语言障碍&#xff0c;至少可以节省30%的开发时间。技术交流Qqun&#xff1a…

冠珠华珍岩板闪现人民日报美好博物馆,彰显民族品牌魅力

行业唯一&#xff01;亮相美好博物馆 一块为中国品牌发声 为了贯彻落实品牌强国战略&#xff0c;展现中国优秀品牌成果&#xff0c;5月10日&#xff0c;值第7个中国品牌日来临之际&#xff0c;由人民日报社特别打造的美好博物馆主题快闪店惊艳亮相上海世博展览中心。 作为连…

理解PMP的顺序

PMP&#xff0c;大量考的是“下一步”、“本应该”的顺序逻辑。在学习的时候&#xff0c;我们需要把整本书十个知识领域&#xff0c;穿起来形成一个线性的结构。 在整理的过程中&#xff0c;很多人都会认为&#xff0c;线性结构&#xff0c;应该是这样的&#xff1a; 每个过程…

如何进行MySQL漏洞扫描

MySQL是一款广泛使用的关系型数据库管理系统&#xff0c;但由于其复杂的结构和功能&#xff0c;也存在不少安全漏洞&#xff0c;容易被黑客攻击。为了解决这些安全问题&#xff0c;进行MySQL漏洞扫描是必要的。那么MySQL怎么进行漏洞扫描?如何进行漏洞扫描?接下来就让小编带大…

Jetpack Compose中的列表控件LazyRow和LazyColumn详解

背景 如果你需要显示大量的条目&#xff08;或一个未知长度的列表&#xff09;&#xff0c;使用像 Column 这样的布局会导致性能问题&#xff0c;因为所有的条目都会被组合和布局&#xff0c;无论它们是否可见。那么&#xff0c;在Compose中有没有像RecycleView的控件可以滑动…

类与对象(中)(一)

1.类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员 函数。 默认成员函数&#xff1a;用户没有显式实现&#xff0c;编译器…

chatgpt赋能Python-python3_9_1怎么用

Python3.9.1是什么&#xff1f; Python是一种高级、动态、解释型语言&#xff0c;具有优雅简洁、易于学习和阅读、功能丰富的特点。Python 3.9.1是Python编程语言的一个版本&#xff0c;于2020年12月21日正式发布&#xff0c;是Python 3的最新稳定版本。它包含了许多新的特性、…

“警”彩集结|北峰通信亮相11届警博会,多场景助力警务智能化

2023年5月11日-14日&#xff0c;第十一届中国国际警用装备博览会(警博会)在北京首钢会展中心隆重召开。“警博会”作为中国乃至亚太地区最具影响力、最权威的警用装备盛会&#xff0c;代表了中国警用装备行业的最高水平。北峰通信作为服务公共安全实战30余年的企业&#xff0c;…

数据结构总结4:树、二叉树

后续会有补充 树 树是一种非线性的数据结构&#xff0c;是由n(n>0)个有限结点组成一个具有层次关系的集合。 1.有一个特殊的结点&#xff0c;称为根结点&#xff0c;根节点没有前驱结点 2.树是递归定义的 满足树的条件&#xff1a; 1.子树不相交 2.除了根结点外&#xff0…

Aho-Corasick automaton,ac自动机实现

文章目录 写在前面算法概述trie树的构建trie树的节点结构插入P串到trie树中fail指针的创建 搜索过程测试程序 写在前面 原作者的视频讲解链接&#xff1a;[算法]轻松掌握ac自动机_哔哩哔哩_bilibili 原作者的代码实现&#xff1a;data-structure-and-algorithm/aho_corasick.c…

matmul/mm 函数用法介绍

介绍torch.matmul之前先介绍torch.mm函数, mm和matmul都是torch中矩阵乘法函数&#xff0c;mm只能作用于二维矩阵&#xff0c;matmul可以作用于二维也能作用于高维矩阵 mm函数使用 x torch.rand(4, 9) y torch.rand(9, 8) print(torch.mm(x,y).shape)torch.Size([4, 8]) m…

OpenAI-whisper语音识别模型

1、whisper简介 Whisper是一个通用的语音识别模型。它是在不同音频的大型数据集上训练的&#xff0c;也是一个多任务模型&#xff0c;可以执行多语言语音识别、语音翻译和语言识别。 whisper有五种模型尺寸&#xff0c;提供速度和准确性的平衡&#xff0c;其中English-only模型…

软考初级程序员上午五单选(9)

1、在Windows中&#xff0c;用鼠标左键单击某应用程序窗口的最小化按钮后&#xff0c;该应用程序处于______的状态。 A&#xff0e;被强制关闭 B&#xff0e;不确定 C&#xff0e;被暂时挂起 D&#xff0e;在后台继续运行 2、将某ASCII字符采用偶校验编码(7位字符编码1位校验码…

毕业论文之转化为三线表格(wps)

目录 一、前言 1.修改之前的表格 2. 修改完成后&#xff08;三线表格式&#xff09; 二、操作步骤 一、前言 在论文里面的表格要求是三线表格式的时候&#xff0c;就需要我们去把这个表格修改成三线表格式。 1.修改之前的表格 2. 修改完成后&#xff08;三线表格式&…