前端学习日记:CSS3的3D变换之transform-skew和rotate制作翻页效果

<style>
    body {
        margin: 0;
        padding: 0;
        font-family: '微软雅黑';
        background-color: #F7F7F7;
    }
    
    .text-box {
        margin-top: 100px;
        text-align: center;
        line-height: 1;
        font-size: 100px;
        /*color: #065DAC;*/
    }
    
    .text-box span {
        display: inline-block;
        position: relative;
    }
    
    .text-box span::before,
    .text-box span::after {
        content: attr(data-text);
        position: absolute;
        left: 0;
        top: 0;
        transition: all 1s;
        transform-origin: left center;
    }
    /*翻起的页*/
    .text-box span::before {
        z-index: 3;
        color: #eee;
        transform: rotateY(-15deg);
    }
    /*影子*/
    .text-box span::after {
        z-index: 2;
        color: rgba(0, 0, 0, 0.3);
    }
    
    /*  skew:倾斜(可以看成是x轴向右上方(-y方向)倾斜了45度,y轴向远离眼睛的方向(-z方向)倾斜了45度)
                   (相当于rotate倾斜了45度,可以看成是整个坐标系向-x-y+z这个方向倾斜了45度)
    skew(x-angle,y-angle)   定义沿着 X 和 Y 轴的 2D 倾斜转换。  
    skewX(angle)            定义沿着 X 轴的 2D 倾斜转换。  
    skewY(angle)            定义沿着 Y 轴的 2D 倾斜转换。
    */
    .text-box:hover span::before {
        transform:skew(45deg, 0deg);
    }
    /*影子*/
    .text-box:hover span::after {
        transform: skew(0deg, 20deg);
    }
    </style>

<body>
    <div class="text-box">
        <span data-text="凯">凯</span>
        <span data-text="旋">旋</span>
        <span data-text="而">而</span>
        <span data-text="归">归</span>
    </div>
</body>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值