当前位置:首页 > CSS

CSS制作麻将

2026-01-28 09:01:14CSS

CSS制作麻将的基本思路

使用CSS制作麻将效果需要结合HTML结构和CSS样式,模拟麻将牌的视觉效果。主要通过边框、阴影、渐变等属性实现立体感,配合伪元素添加细节。

HTML结构设计

麻将牌通常包含牌面数字/符号和背景纹理。HTML结构可采用嵌套div实现:

<div class="mahjong-tile">
  <div class="tile-front">
    <span class="tile-suit">萬</span>
    <span class="tile-number">一</span>
  </div>
</div>

CSS基础样式

.mahjong-tile {
  width: 60px;
  height: 80px;
  position: relative;
  perspective: 1000px;
}

.tile-front {
  width: 100%;
  height: 100%;
  background: #f8e8c0;
  border-radius: 8px;
  border: 2px solid #d4a76a;
  box-shadow: 3px 3px 5px rgba(0,0,0,0.3);
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transform-style: preserve-3d;
}

添加立体效果

使用CSS渐变和阴影增强立体感:

CSS制作麻将

.tile-front {
  background: linear-gradient(135deg, #f8e8c0 0%, #e0c090 100%);
  box-shadow: 
    2px 2px 5px rgba(0,0,0,0.2),
    inset 0 0 15px rgba(255,255,255,0.5);
}

.tile-front::before {
  content: '';
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 5px;
  pointer-events: none;
}

牌面内容样式

设计麻将牌的数字/花色样式:

.tile-suit {
  font-size: 24px;
  color: #c00;
  font-weight: bold;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}

.tile-number {
  font-size: 20px;
  color: #333;
  margin-top: 5px;
}

特殊牌型样式

对于不同花色的麻将牌,可通过添加类名改变颜色:

CSS制作麻将

.tile-front.bamboo {
  background: linear-gradient(135deg, #e8f8c0 0%, #c0e090 100%);
}

.tile-front.characters {
  background: linear-gradient(135deg, #c0e8f8 0%, #90c0e0 100%);
}

.tile-front.circles {
  background: linear-gradient(135deg, #f8c0e8 0%, #e090c0 100%);
}

悬停和点击效果

添加交互效果增强真实感:

.mahjong-tile:hover .tile-front {
  transform: translateY(-5px);
  box-shadow: 5px 5px 10px rgba(0,0,0,0.3);
}

.mahjong-tile:active .tile-front {
  transform: translateY(0);
  box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
}

背面样式设计

如需显示背面状态,可添加背面样式:

.tile-back {
  width: 100%;
  height: 100%;
  background: #c00;
  border-radius: 8px;
  border: 2px solid #a00;
  position: absolute;
  transform: rotateY(180deg);
  backface-visibility: hidden;
  box-shadow: 3px 3px 5px rgba(0,0,0,0.3);
}

.tile-back::before {
  content: '';
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: 10px;
  border: 2px solid #fff;
  border-radius: 4px;
}

通过组合这些CSS技术,可以创建出视觉效果逼真的麻将牌。实际项目中可能需要根据具体需求调整尺寸、颜色和细节样式。

标签: 麻将CSS
分享给朋友:

相关文章

神奇的CSS使用css制作

神奇的CSS使用css制作

CSS 动画效果 使用 @keyframes 规则创建动画,通过 animation 属性控制动画的播放方式。以下是一个元素旋转的动画示例: .spin { animation: spin 2s…

CSS制作修改密码

CSS制作修改密码

修改密码表单的HTML结构 使用HTML创建一个基本的修改密码表单,包含当前密码、新密码和确认新密码字段。 <form id="changePasswordForm"> <di…

CSS模板制作起泡

CSS模板制作起泡

气泡效果实现方法 气泡效果可以通过CSS的伪元素和边框属性实现。以下是一个常见的CSS气泡代码模板: .bubble { position: relative; background: #f…

CSS制作PDF文件

CSS制作PDF文件

CSS制作PDF文件的方法 使用CSS制作PDF文件可以通过多种工具和技术实现,以下是几种常见的方法: 使用浏览器打印功能 现代浏览器支持将网页直接保存为PDF文件。在CSS中,可以通过@page规…

CSS制作文字

CSS制作文字

使用CSS制作文字效果 CSS提供了多种方式来美化文字,包括字体样式、颜色、阴影、渐变等。以下是几种常见的文字效果实现方法。 基本文字样式 设置字体、大小、颜色和粗细是最基础的文字样式调整。通过fo…

php实现麻将

php实现麻将

PHP实现麻将游戏的基本思路 麻将游戏涉及洗牌、发牌、摸牌、出牌、吃碰杠胡等规则。用PHP实现需要关注数据结构设计、逻辑流程和算法处理。 麻将牌型数据结构设计 使用数组表示麻将牌,包含万、条、筒、字…