Web前端学习笔记(四)--- CSS卡贴悬停展开效果

效果图

在这里插入图片描述

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="css/style.css">
    <script src="js/all.js"></script>
</head>
<body>
    <div class="container">
        <div class="card"><!--第一个卡片-->
            <div class="face face1"> <!--显示页-->
                <div class="content"> <!--显示页内容-->
                    <i class="fab fa-js fa-6x"></i>
                    <h3>Script</h3>
                </div>
            </div>
            <div class="face face2"> <!--附页-->
                <div class="content">
                    <p>JavaScript是一种具有函数优先的轻量级,
                    解释型或即时编译型的编程语言。</p>
                    <a href="#">Read More</a>
                </div>
            </div>
        </div>
        <div class="card"> <!--第二个卡片-->
            <div class="face face1">
                <div class="content">
                    <i class="fab fa-html5 fa-6x"></i>
                    <h3>Html5</h3>
                </div>
            </div>
            <div class="face face2">
                <div class="content">
                    <p>HTML5是构建Web内容的一种语言描述方式。</p>
                    <a href="#">Read More</a>
                </div>
            </div>
        </div>
        <div class="card"><!--第三个卡片-->
            <div class="face face1">
                <div class="content">
                    <i class="fab fa-css3-alt fa-6x"></i>
                    <h3>CSS3</h3>
                </div>
            </div>
            <div class="face face2">
                <div class="content">
                    <p>CSS3是CSS(层叠样式表)技术的升级版本。</p>
                    <a href="#">Read More</a>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

CSS

body{
    margin: 0; /*外边距*/
    padding: 0; /*内边距*/
    min-height: 100vh;  /*最小高度*/
    background: #333; /*背景颜色*/
    display: flex; /*盒模型*/
    justify-content: center; /*文档X轴布局*/
    align-items: center; /*文档Y轴布局*/
}
.container{
    width: 1000px; /*宽度*/
    position: relative; /*相对定位*/
    display: flex; /*盒模型*/
    justify-content: space-between; /*文档X轴内容与内容间空隙相等*/
}
.container .card{
    position: relative; /*相对定位*/
}
.container .card .face{ 
    width: 300px; 
    height: 200px; 
    transition: 0.5s; /*过渡时间*/
}
.container .card .face.face1{ 
    position: relative; 
    background: #333; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    z-index: 1; 
    transform: translateY(100px); /*2D转换,Y轴移动*/
} 
.container .card:hover .face.face1{ /*此处为card标签悬停时,内容1复位*/
    background: #ff0057; 
    transform: translateY(0); 
}
.container .card .face.face1 .content{
    opacity: 0.5; /*透明度*/
    transition: 0.5s; 
}
.container .card:hover .face.face1 .content{ /*此处为card标签悬停时,更改封面的透明度*/
    opacity: 1; /*透明度*/
}
.container .card .face.face1 .content h3{
    margin: 10px 0 0; 
    padding: 0; 
    color:#fff; 
    text-align: center; /*字体居中*/
    font-size: 1.5em; /*字体大小*/
}
.container .card .face.face2{
    position: relative; 
    background: #fff; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    padding: 20px; 
    box-sizing: border-box; /*设置盒子模型内布局,此处为元素的内边距盒边框不会影响最终大小*/
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8); /*阴影*/
    transform: translateY(-100px); /*2D转换,Y轴移动*/
}
.container .card:hover .face.face2{ /*此处为card标签悬停时,内容2复位*/
    transform: translateY(0px); 
}
.container .card .face.face2 p{
    margin: 0; 
    padding: 0; 
}
.container .card .face.face2 a{
    margin:  15px 0 0; 
    display: inline-block; /*设置为行内块元素*/
    text-decoration: none; /*文字样式,此处为了删除下划线*/
    font-weight: 900; /*字体粗细*/
    color: #333; 
    padding: 5px; 
    border: 1px solid #333; 
}
.container .card .face.face2 a:hover{ /*此处为a标签悬停时*/
    background: #333; 
    color: #fff; 
}

更多

教程地址:原文地址(YouTube)
教程转载:哔哩哔哩(K.Dream)
K.Dream 原贴地址
代码整理:K.Dream

示例源码+图片资源
有需要的小伙伴可以去K.Dream(大佬)博客
当然也可以在海轰的微信公众号:海轰Pro
获取资料(代码来源:K.Dream分享

发布了218 篇原创文章 · 获赞 523 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/weixin_44225182/article/details/104936516