&l…">
当前位置:首页 > CSS

css如何制作扑克

2026-04-01 17:54:26CSS

使用CSS制作扑克牌

通过CSS的transformbox-shadow属性可以创建具有3D翻转效果的扑克牌。以下是一个基础实现方案:

<div class="poker">
  <div class="front">♠</div>
  <div class="back"></div>
</div>
.poker {
  width: 100px;
  height: 150px;
  position: relative;
  perspective: 1000px;
}

.front, .back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
}

.front {
  background: white;
  transform: rotateY(0deg);
}

.back {
  background: repeating-linear-gradient(
    45deg,
    #ff0000,
    #ff0000 10px,
    #ffffff 10px,
    #ffffff 20px
  );
  transform: rotateY(180deg);
}

.poker:hover .front {
  transform: rotateY(180deg);
}

.poker:hover .back {
  transform: rotateY(0deg);
}

扑克牌花色与数值设计

添加扑克牌的数值和花色需要更复杂的HTML结构和CSS样式:

css如何制作扑克

<div class="card ace-spades">
  <div class="corner top-left">
    <span>A</span>
    <span>♠</span>
  </div>
  <div class="symbol">♠</div>
  <div class="corner bottom-right">
    <span>A</span>
    <span>♠</span>
  </div>
</div>
.card {
  width: 120px;
  height: 180px;
  background: white;
  border-radius: 10px;
  position: relative;
  box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.corner {
  position: absolute;
  font-size: 16px;
  text-align: center;
}

.top-left {
  top: 10px;
  left: 10px;
}

.bottom-right {
  bottom: 10px;
  right: 10px;
  transform: rotate(180deg);
}

.symbol {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 60px;
}

.ace-spades .symbol {
  color: black;
}

.ace-hearts .symbol {
  color: red;
}

创建完整扑克牌组

要创建完整的52张牌组,可以使用CSS变量和伪元素:

css如何制作扑克

:root {
  --card-width: 100px;
  --card-height: 150px;
}

.deck {
  display: grid;
  grid-template-columns: repeat(13, var(--card-width));
  gap: 15px;
}

.card {
  width: var(--card-width);
  height: var(--card-height);
  position: relative;
  border-radius: 8px;
  background: white;
}

.card::before,
.card::after {
  content: attr(data-value);
  position: absolute;
  font-size: 1rem;
}

.card::before {
  top: 5px;
  left: 5px;
}

.card::after {
  bottom: 5px;
  right: 5px;
  transform: rotate(180deg);
}

.card[data-suit="hearts"],
.card[data-suit="diamonds"] {
  color: red;
}

.card[data-suit="clubs"],
.card[data-suit="spades"] {
  color: black;
}

添加动画效果

为扑克牌添加发牌动画:

@keyframes deal {
  0% {
    transform: translateY(-100px) rotate(0deg);
    opacity: 0;
  }
  100% {
    transform: translateY(0) rotate(360deg);
    opacity: 1;
  }
}

.card {
  animation: deal 0.5s ease-out forwards;
  animation-delay: calc(var(--order) * 0.1s);
}

在HTML中为每张牌设置--order变量:

<div class="card" style="--order: 1" data-value="A" data-suit="hearts"></div>
<div class="card" style="--order: 2" data-value="2" data-suit="hearts"></div>

标签: 扑克css
分享给朋友:

相关文章

用css制作网页

用css制作网页

创建HTML文件结构 新建一个index.html文件,写入基础HTML5结构。通过<link>标签引入外部CSS文件,示例结构如下: <!DOCTYPE html> <…

css制作相册

css制作相册

使用CSS Grid布局制作相册 CSS Grid布局非常适合创建响应式相册,能够灵活调整行列和间距。 .photo-gallery { display: grid; grid-templa…

min.css制作

min.css制作

使用 min.css 制作轻量级样式 min.css 是一个极简的 CSS 框架,专注于轻量化和快速加载。以下是如何使用 min.css 进行开发的步骤。 引入 min.css 通过 CDN 直接引…

css制作雪花

css制作雪花

CSS 制作雪花效果 使用纯CSS可以创建简单的雪花动画效果,主要通过伪元素、动画和变换实现。 基础雪花结构 <div class="snowflake"></div> 六…

css制作网页

css制作网页

CSS 网页设计基础 CSS(层叠样式表)用于控制网页的视觉呈现,包括布局、颜色、字体等。以下为关键方法和示例: 基础结构 HTML 文件需链接 CSS: <link rel="styles…

css制作六边形

css制作六边形

使用 CSS 制作六边形 方法一:使用 clip-path 属性 通过 clip-path 直接定义六边形的路径,简单高效且支持动画效果。 .hexagon { width: 100px;…