HTML5+CSS3小实例:3D卡片hover翻转效果

实例:3D卡片hover翻转效果
技术栈:HTML+CSS
效果:

源码:
【html】



 

    
    
 
    3D卡片hover翻转效果
    

 

    

蒙奇·D·路飞

蒙奇·D·路飞,日本漫画《航海王》及其衍生作品中的男主角。外号“草帽”路飞,是草帽一伙、草帽大船团的船长,极恶的世代之一。橡胶果实能力者,悬赏金15亿贝里。梦想是找到传说中的One Piece,成为海贼王。

罗罗诺亚·索隆

罗罗诺亚・索隆,日本漫画《航海王》及其衍生作品中的角色。“草帽一伙”的战斗员,人称“海贼猎人”。2年前登陆香波地群岛的11位“超新星”其中的一位。同时也是被人称作“极恶的世代”中的一位。

山治

山治,日本漫画《海贼王》及其衍生作品中的角色。草帽一伙的厨师,因踢技快准狠被海军称之为“黑足”,悬赏金为3亿3000万贝里。海贼中的绅士,有着卷曲眉毛,永远遮住半边脸的家伙,香烟不离口,最爱女人,很花心但很有风度,从不愿意伤害任何女性,哪怕是敌人。

【css】

*{
    /* 初始化 */
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body{
    /* 100%窗口高度 */
    min-height: 100vh;
    /* 弹性布局 水平+垂直居中 */
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(200deg,#fff1eb,#ace0f9);
}
section{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
.card{
    /* 相对定位 */
    position: relative;
    width: 320px;
    height: 320px;
    margin: 20px;
    /* 开启3D效果 */
    transform-style: preserve-3d;
    perspective: 1000px;
}
.card .box{
    /* 绝对定位 */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    /* 设置过渡 */
    transition: 1s ease;
}
.card .box .img-box{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.card .box .img-box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.card .box .con-box{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #333;
    display: flex;
    justify-content: center;
    align-items: center;
    /* 隐藏旋转div元素的背面 */
    backface-visibility: hidden;
    transform-style: preserve-3d;
    /* 默认沿Y轴旋转180度 */
    transform: rotateY(180deg);
}
.card .box .con-box div{
    transform-style: preserve-3d;
    padding: 20px;
    color: #fff;
    /* 渐变背景 */
    background: linear-gradient(30deg,#514a9d,#24c6dc);
    /* 默认沿Z轴偏移100px */
    transform: translateZ(100px);
}
.card .box .con-box div h2{
    font-size: 20px;
    letter-spacing: 1px;
}
.card .box .con-box div p{
    margin-top: 5px;
    font-size: 15px;
    text-align: justify;
}
.card:hover .box{
    /* 鼠标移入,盒子旋转180度 */
    transform: rotateY(180deg);
}

你可能感兴趣的:(HTML5+CSS3小实例:3D卡片hover翻转效果)