CSS旋转效果

0x00 预期效果

  • 效果如下
    CSS旋转效果

0x01 代码实现

  • 思想也比较简单,主要一个特点是监听父容器的事件来决定子容器的状态,这样可以消除抖动的问题;其他的我就不多说了,代码比较简单,大家直接看代码吧。
  • 代码如下
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>CSS旋转效果</title>
    <style>
        html, body {
            width: 100%;
            height: 100%;
        }

        /*设置外中内三层div的大小一致*/
        .container, .item, .page {
            width: 320px;
            height: 180px;
            line-height: 180px;
            text-align: center;
            font-size: 24px;
        }

        .item {
            /*设置中间层旋转时的动画效果*/
            transition: all .4s ease;
        }

        .page {
            /*配合旋转动画*/
            transition: .4s;
            background-color: goldenrod;
            box-shadow: 4px 2px 4px #999;
        }

        .front {
            opacity: 1;
        }

        .back {
            /*设置位置与正面重合*/
            position: absolute;
            top: 0;
            left: 0;
            /*设置透明 预先旋转180deg*/
            opacity: 0;
            transform: rotateY(180deg);
        }

        .container:hover .item{
            transform: rotateY(180deg);
        }

        .container:hover .front{
            opacity: 0;
        }

        .container:hover .back{
            opacity: 1;
        }
    </style>
    <link rel="manifest" href="./static/manifest.json" />
    <script src="./static/js/sw-server.js"></script>
</head>
<body>

<div class="container">
    <div class="item">
        <div class="page front">这是正面</div>
        <div class="page back">这是反面</div>
    </div>
</div>
</body>
</html>

0x02 完成&总结

  • 我看过好多地方用这种效果,但是基本上都有抖动现象
  • 我的这种实现方式消除了抖动的效果
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值