&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样式:

<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变量和伪元素:

: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变量:

css如何制作扑克

<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页脚制作

CSS页脚制作方法 固定定位页脚 使用position: fixed将页脚固定在页面底部,适用于需要始终显示的页脚。 footer { position: fixed; bottom: 0;…

css怎么制作段落

css怎么制作段落

段落样式基础设置 使用 p 标签定义段落,通过CSS控制字体、间距等属性: p { font-family: Arial, sans-serif; font-size: 16px;…

css背景图片制作

css背景图片制作

使用CSS设置背景图片 在CSS中,可以通过background-image属性为元素添加背景图片。以下是一个基本示例: .element { background-image: url('pa…

css 制作

css 制作

CSS 制作基础 CSS(层叠样式表)用于控制网页的样式和布局。通过CSS,可以定义字体、颜色、间距、背景等视觉效果,使HTML内容更具吸引力。 内联样式 直接在HTML元素的style属性中编写C…

css日历制作

css日历制作

基础日历结构 使用HTML创建日历的基本框架,通常包含表格元素。月份、星期几和日期通过<table>标签组织,表头显示星期几,表格主体填充日期数字。 <div class="cal…

css奖状制作

css奖状制作

使用CSS制作奖状 奖状制作可以通过CSS结合HTML实现,适用于网页展示或打印。以下是几种常见的设计方法: 基础奖状结构 HTML框架用于定义奖状内容,CSS负责样式设计。 <div cl…