🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
![](https://img.kancloud.cn/f8/eb/f8eb81b48f627370ccce760fc01c8999_804x762.png) ``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div class="card"> <div class="photo"> <img src="./favicon.png" alt=""> </div> <h1>标题1</h1> <h2>名称</h2> <p>介绍xxxxxxxxxxxxxxxxxxx</p> <a href="#">了解更多</a> </div> <style> * { /* 初始化 */ margin: 0; padding: 0; } body { /* 100%窗口高度 */ height: 100vh; /* 弹性布局 水平+垂直居中 */ display: flex; justify-content: center; align-items: center; /* 渐变背景 */ background: linear-gradient(200deg, #517fa4, #243949); } .card { /* 相对定位 */ position: relative; width: 300px; height: 450px; margin: 20px; background-color: #758a99; border-radius: 20px; /* 溢出隐藏 */ overflow: hidden; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; /* 阴影 */ box-shadow: 0 0 30px rgba(0, 0, 0, 0.5); color: #fff; } /* 默认大图 */ .card .photo { /* 绝对定位 */ position: absolute; top: 0; width: 100%; height: 100%; border-radius: 0%; overflow: hidden; /* 动画过渡 */ transition: 0.5s; } /* 鼠标移入变小图 */ .card:hover .photo { top: 30px; width: 120px; height: 120px; border-radius: 50%; box-shadow: 0 0 20px rgba(0, 0, 0, 0.8); } /* 黑色到透明的渐变背景,可以更好的看清楚名字 */ .card .photo::before { content: ""; position: absolute; width: 100%; height: 100%; background: linear-gradient(to bottom, transparent 50%, #222); } /* 鼠标移入背景消失 */ .card:hover .photo::before { display: none; } .card .photo img { width: 100%; height: 100%; /* 保持原有尺寸比例,裁切长边 */ object-fit: cover; } .card h1 { position: absolute; top: 370px; transition: 0.5s; } .card:hover h1 { top: 170px; } .card h2 { margin-top: 220px; width: 80%; border-bottom: 1px solid rgba(255, 255, 255, 0.3); font-size: 20px; text-align: center; margin-bottom: 20px; padding-bottom: 20px; } .card p { width: 90%; text-indent: 32px; font-size: 16px; margin-bottom: 15px; line-height: 30px; } .card a { font-size: 14px; color: rgba(255, 255, 255, 0.8); text-decoration: none; border: 1px solid rgba(255, 255, 255, 0.5); padding: 8px 32px; border-radius: 8px; } .card a:hover { color: #fff; background-color: rgba(255, 255, 255, 0.2); } </style> <script> </script> </body> </html> ```