CSS实现服务卡片

CSS实现服务卡片

效果展示

CSS 知识点

  • 回顾整体CSS知识点
  • 灵活运用CSS知识点

页面整体布局

html 复制代码
<div class="container">
	<div class="card">
		<div class="box">
			<div class="icon">
				<ion-icon name="color-palette-outline"></ion-icon>
			</div>
			<div class="content">
				<h2>Design</h2>
				<p>
				Lorem, ipsum dolor sit amet consectetur adipisicing elit.
				Consectetur in maiores dolor ducimus at quod nisi reiciendis
				voluptate, quasi dolorum repudiandae et obcaecati suscipit
				corrupti molestias sequi voluptas adipisci dolorem.
				</p>
				<a href="#">Read More</a>
			</div>
		</div>
	</div>
</div>

实现整体布局和容器整体样式

css 复制代码
.container {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 60px;
  padding: 80px 40px;
}

.container .card {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 300px;
  padding: 40px 20px;
  border-radius: 30px;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.2);
  transition: 0.5s;
}

实现卡片图标和整体布局

css 复制代码
.container .card .box {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.container .card .box .icon {
  position: relative;
  width: 80px;
  height: 80px;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 3em;
  color: #fff7;
  transition: 0.5s;
}

实现卡片内容部分样式

css 复制代码
.container .card .content {
  margin-top: 20px;
}

.container .card .content h2 {
  color: #fff7;
  font: 1.25em;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: 0.5s;
}

.container .card .content p {
  margin-top: 10px;
  color: #fff7;
  font-weight: 400;
  letter-spacing: 1px;
  transition: 0.5s;
}

实现卡片按钮效果

css 复制代码
.container .card .content a {
  display: inline-block;
  background: rgba(0, 0, 0, 0.25);
  padding: 10px 20px;
  margin-top: 20px;
  font-weight: 500;
  letter-spacing: 1px;
  color: #fff7;
  border-radius: 30px;
  text-decoration: none;
}

设置卡片悬停效果

css 复制代码
.container .card:hover {
  background: #1f83f2;
  box-shadow: 25px 25px 75px rgba(0, 0, 0, 0.25),
    10px 10px 70px rgba(0, 0, 0, 0.25),
    inset 5px 5px 20px rgba(255, 255, 255, 0.25),
    inset -5px -5px 15px rgba(0, 0, 0, 0.75);
  transform: translateY(-20px);
}

.container .card:hover .box .icon {
  background: #2f363e;
  color: #fff;
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.25),
    inset -3px -3px 5px rgba(0, 0, 0, 0.5);
}

.container .card:hover .content h2,
.container .card:hover .content p {
  color: #fff;
}

.container .card:hover .content a {
  background: #2f363e;
  color: #fff;
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.25),
    inset -3px -3px 5px rgba(0, 0, 0, 0.5);
}

完整代码下载

完整代码下载

相关推荐
禅思院9 小时前
AI对话前端从入门到崩溃:一个长对话引发的五层优化战争【引子】
前端·面试·架构
TrisighT9 小时前
Electron 鸿蒙 PC 上点外链唤醒应用,我试了 6 种写法只有 1 种能跑
前端·electron·harmonyos
天才熊猫君10 小时前
配置与数据分离:一种可视化搭建的属性编辑方案
前端·javascript
林希_Rachel_傻希希10 小时前
web性能之相关路径——AI总结
前端·javascript·面试
竹林81811 小时前
用 wagmi v2 踩坑两天,我终于搞懂了多链钱包切换在 DeFi 前端中的正确姿势
前端·javascript
用户21366100357211 小时前
Vue项目搜索功能与面包屑导航
前端·javascript
星栈11 小时前
LiveView 的实时通信,爽是爽,但 PubSub 和广播也最容易把自己绕晕
前端·前端框架·elixir
用户29307509766911 小时前
告别关键词匹配,拥抱向量语义 —— RAG 搜索从零到一
前端
独孤留白11 小时前
从C到Rust:告别 C 的"指针 + 长度"手动模式
前端·rust
掘金安东尼11 小时前
中小厂前端候选人简历面试拆解:从 HR 面、技术面到主管面的双赢提问法
前端·面试