多卡片效果悬停效果

效果展示

页面结构

从页面的结构上看,在默认状态下毛玻璃卡片是有层次感的效果叠加在一起,并且鼠标悬停在卡片区域后,卡片整齐排列。

CSS3 知识点

  • transform 属性的 rotate 值运用
  • content 属性的 attr 值运用

实现页面整体布局

html 复制代码
<div class="container">
  <div class="glass" style="--i: -15" data-text="Design">
    <i class="fa-solid fa-pen"></i>
  </div>
  <div class="glass" style="--i: 5" data-text="Code">
    <i class="fa-solid fa-code"></i>
  </div>
  <div class="glass" style="--i: 25" data-text="Launch">
    <i class="fa-solid fa-rocket"></i>
  </div>
  <div class="glass" style="--i: -15" data-text="Earn">
    <i class="fa-solid fa-money-check-dollar"></i>
  </div>
</div>

实现卡片的样式

css 复制代码
.container .glass {
  position: relative;
  width: 200px;
  height: 240px;
  background: linear-gradient(#fff2, transparent);
  border: 1px solid rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(10px);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.5s;
  border-radius: 10px;
  margin: 0 -45px;
  /* 获取HTML中的样式变量值 */
  transform: rotate(calc(var(--i) * 1deg));
}

.container:hover .glass {
  transform: rotate(0deg);
  margin: 0 20px;
}

实现卡片悬停样式

css 复制代码
.container .glass::before {
  /* 获取HTML页面中的文字变量值 */
  content: attr(data-text);
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 40px;
  background: rgba(255, 255, 255, 0.05);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}

.container .glass i {
  font-size: 5em;
  color: #fff;
}

完整代码下载

完整代码下载

相关推荐
红尘散仙5 小时前
谁说终端只能敲键盘?我用 Rust 给小说阅读器加上了鼠标
前端·后端·rust
陈随易7 小时前
C++26 草案被否,二十八年来头一回
前端·后端·程序员
ZhengEnCi7 小时前
Agent 工具怎么折叠海量输出才「爽」:Trae、Claude Code 的渐进式披露设计原理
前端·agent
IT_陈寒10 小时前
Redis内存暴涨,没想到是AOF重写捣的鬼
前端·人工智能·后端
ikoala10 小时前
让 Codex 自己查账:一个省 token 的小技巧
前端·后端·ai编程
ikoala10 小时前
AI 写页面像说明书,修 Bug 像贴膏药?把这两句话写进 AGENTS.md
前端·javascript·ai编程
去伪存真12 小时前
AI Agent Harness 深度测评与技术选型实战
前端·agent
FRing0315 小时前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))
开发语言·前端·vue.js·vue2
疯华整猫18 小时前
被杀掉之后:我把 Android 的「唤起 + 常驻」重做了一遍
前端·面试·架构
IT_陈寒20 小时前
Java开发实战:从入门到精通
前端·人工智能·后端