css3 实现翻转效果

E和弦的根音 · 2020-09-09 · 1857 次浏览

类似于本站首页的logo hover效果

翻转

实现思路: 首先外层容器.flip 可以想象成一个硬币 里面有正反面 .flip 使用 transform-style: preserve-3d 让转换的子元素保留3D转换

正反面绝对定位 初始化时让.back翻转到背面 transform: rotateY(180deg) 硬币做好后给个hover效果让硬币翻转180度即可 如果正反两面的背景不是纯色的话要使用 backface-visibility: hidden 让背对我们的元素不可见

下面是代码

html

    <div class="flip">
        <div class="back"></div>
        <div class="front"></div>
    </div>

css

.flip {
    transition: 1.6s;
    transform-style: preserve-3d;
    position: relative;
    width: 200px;
    height: 200px;
    line-height: 200px;
    text-align: center;
    font-size: 40px;
    margin: 0 auto;
    .back,
    .front {
        backface-visibility: hidden;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background-color: pink;
    }
    .back {
        transform: rotateY(180deg);
    }
    &:hover {
        transform: rotateY(180deg);
    }
}
如果有错误或者不严谨的地方,请务必给予指正,十分感谢。如果喜欢或者有所启发,欢迎评论,对作者也是一种鼓励。
查看评论 - 0 条评论