毛玻璃用户卡交互

效果展示

页面结构组成

从效果展示可以看到,此效果都是比较常规的。主要的核心就是卡片的悬停效果。

CSS 知识点

  • backdrop-filter 回顾
  • transition
  • transform

页面基础布局实现

html 复制代码
<section>
  <div class="container">
    <div class="card">
      <div class="img_box">
        <img src="./images/user-1.jpg" />
      </div>
      <div class="content">
        <div class="content_box">
          <h3>
            Someone Famous
            <br />
            <span>Creative Designer</span>
          </h3>
        </div>
        <ul>
          <li style="--i: 1">
            <a href="#"><i class="fa fa-qq" aria-hidden="true"></i></a>
          </li>
          <li style="--i: 2">
            <a href="#"><i class="fa fa-weixin" aria-hidden="true"></i></a>
          </li>
          <li style="--i: 3">
            <a href="#"><i class="fa fa-weibo" aria-hidden="true"></i></a>
          </li>
          <li style="--i: 4">
            <a href=" #"
              ><i class="fa fa-tencent-weibo" aria-hidden="true"></i
            ></a>
          </li>
        </ul>
      </div>
    </div>
  </div>
</section>

实现卡片样式

css 复制代码
.container .card {
  position: relative;
  width: 300px;
  height: 400px;
  margin: 20px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
  border-radius: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.container .card .img_box {
  width: 100%;
  height: 100%;
}

.container .card .img_box img {
  display: flex;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.container .card .content {
  position: absolute;
  bottom: -160px;
  width: 100%;
  height: 160px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  flex-flow: row wrap;
  backdrop-filter: blur(15px);
  box-shadow: 0 -10px 10px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: 0.5s;
}

.container .card:hover .content {
  bottom: 0;
}

社交图标实现

css 复制代码
.container .card .content ul {
  position: relative;
  bottom: 10px;
  display: flex;
}

.container .card .content ul li {
  list-style: none;
  margin: 0 10px;
  transform: translateY(40px);
  transition: 0.5s;
  opacity: 0;
  transition-delay: calc(0.2s * var(--i));
}

.container .card:hover .content ul li {
  opacity: 1;
  transform: translateY(0px);
}

完整代码下载

完整代码下载

相关推荐
Moment5 分钟前
面试官:一个接口使用postman这些测试很快,但是页面加载很慢怎么回事 😤😤😤
前端·后端·面试
诗书画唱9 分钟前
【前端面试题】JavaScript 核心知识点解析(第二十二题到第六十一题)
开发语言·前端·javascript
excel15 分钟前
前端必备:从能力检测到 UA-CH,浏览器客户端检测的完整指南
前端
前端小巷子22 分钟前
Vue 3全面提速剖析
前端·vue.js·面试
悟空聊架构29 分钟前
我的网站被攻击了,被干掉了 120G 流量,还在持续攻击中...
java·前端·架构
CodeSheep30 分钟前
国内 IT 公司时薪排行榜。
前端·后端·程序员
尖椒土豆sss34 分钟前
踩坑vue项目中使用 iframe 嵌套子系统无法登录,不报错问题!
前端·vue.js
遗悲风35 分钟前
html二次作业
前端·html
江城开朗的豌豆38 分钟前
React输入框优化:如何精准获取用户输入完成后的最终值?
前端·javascript·全栈
CF14年老兵38 分钟前
从卡顿到飞驰:我是如何用WebAssembly引爆React性能的
前端·react.js·trae