css制作扑克牌
使用CSS制作扑克牌
扑克牌可以通过CSS的transform、border-radius和伪元素实现。以下是一个完整的扑克牌设计示例,包含牌面、花色和数值的样式。
HTML结构
<div class="poker-card">
<div class="card-value top">A</div>
<div class="card-suit">♠</div>
<div class="card-value bottom">A</div>
</div>
CSS样式
.poker-card {
width: 150px;
height: 220px;
background: white;
border-radius: 10px;
position: relative;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
transform-style: preserve-3d;
}
.card-value {
position: absolute;
font-size: 24px;
font-weight: bold;
}
.top {
top: 10px;
left: 10px;
}
.bottom {
bottom: 10px;
right: 10px;
transform: rotate(180deg);
}
.card-suit {
position: absolute;
font-size: 60px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
添加悬停效果
通过CSS的transition和transform实现悬停时的3D翻转效果:

.poker-card {
transition: transform 0.6s;
}
.poker-card:hover {
transform: rotateY(180deg);
}
不同花色的样式
可以通过CSS变量或单独类名控制花色颜色:

/* 黑桃花色 */
.spade {
color: black;
}
/* 红桃花色 */
.heart {
color: red;
}
响应式调整
使用媒体查询适配不同屏幕尺寸:
@media (max-width: 600px) {
.poker-card {
width: 100px;
height: 150px;
}
.card-suit {
font-size: 40px;
}
}
背面设计
通过伪元素实现扑克牌背面图案:
.poker-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: repeating-linear-gradient(
45deg,
#d10000,
#d10000 10px,
#000 10px,
#000 20px
);
border-radius: 10px;
backface-visibility: hidden;
transform: rotateY(180deg);
}






