CSS笔记(四)卡片翻转

卡片翻转

我想实现卡牌的翻转,这里就要涉及到一下3d的知识。卡片的翻转一般来说就是围绕右长轴进行旋转。

  • 代码:
html 复制代码
<!DOCTYPE html>
<html>
    <head>
        <style>
            /*设置画布*/
            body{
                /* 方便排列与对齐*/
                display: flex; 
                /*画布布满整个窗口*/
                height: 100vh;
                /*水平居中*/
                justify-content: center;

                /*垂直居中*/
                align-items: center;
                /* 设置比较暗的背景色*/
                background-color: rgba(47,48,49,0.9);
                margin: 0;
            }
            /*设置活动区域*/
            .container{
                display: flex;
                justify-content: center;
                align-items: center;
                /*给子元素提供相对描点*/
                position: relative;
                width: 500px;
                height: 500px;
                /*perspective: 500px;
                transform-style:flat;
                感觉没这两句也没啥关系,影响不大*/
                
            }
            .card-font,.card-back{
                
                /*表示该元素会以相对锚点改变位置*/
                position: absolute;
                width: 150px;
                height: 200px;
                display: flex;
                justify-content: center;
                align-items: center;
                font-size: 30px;
                font-weight: bold;
                /*设置阴影,切记参数之间不要有逗号*/
                transition: transform 0.5s;
                border-radius: 10px;
            }
            .card-font{
                background-color: #0044ff;
                /* backface-visibility: hidden; */
            }
            /*添加翻转效果*/
            .flip{
                transform: rotateY(180deg);
            }
        </style>
    </head>
    <body>
        <div class="container">
            <div class="card-font" id="card1">Card1</div>
            <!-- <div class="card-back " id="card2">Card2</div> -->
        </div>
    </body>
    <script>
        const card1 = document.getElementById("card1")
        card1.addEventListener("click",()=>{
            card1.classList.toggle("flip")
        })
    </script>
</html>
  • 效果:

这里的翻转模拟比较真实的镜面翻转,连字都翻过来了。而我们如果要设计卡牌翻转,自然是不希望看到这样的情况。

改进见笔记(五)

相关推荐
hongmai66688819 分钟前
聊聊ESP32-C3-WROOM-02-N8这颗8MB Flash的RISC-V模组
笔记·嵌入式硬件·物联网·智能路由器·risc-v
尤乐娃子7 小时前
进入大厂(厂子大)实习Day12
前端·笔记·实习
砚凝霜8 小时前
软考网络工程师|第 6 章 密码学、哈希、数字签名、数字证书 PKI 完整备考笔记
笔记·密码学·哈希算法
QAQo7T8 小时前
Python组蓝桥杯备赛超详细知识点总结笔记_排序算法篇
笔记·python·算法·蓝桥杯·排序算法
lion_heart0019 小时前
成功日记Plus 智能记账:共享账本、预算管控、Excel 导出等一次讲清
笔记
vx-程序开发10 小时前
springboot农产品运输服务平台---附源码75498
java·javascript·spring boot·python·eclipse·django·php
智者知已应修善业11 小时前
【三位数字显示计时定时器设计-同步方式】2025-6-30
驱动开发·经验分享·笔记·硬件架构·硬件工程
影寂ldy11 小时前
SQL 事务(Transaction)完整版学习笔记(含转账案例+存储过程+异常捕获)
笔记·sql·学习
用户9385156350711 小时前
React 受控/非受控组件与 React.memo 性能优化——从本质到实战
前端·javascript·react.js
其美杰布-富贵-李12 小时前
第 8 篇:Three.js 材质系统
javascript·three.js·js