当前位置:首页 > CSS

css骰子制作

2026-02-27 03:59:33CSS

使用CSS制作骰子

通过CSS的3D变换和伪元素可以模拟骰子的六个面。以下是一个基础实现方案:

<div class="dice">
  <div class="face front">1</div>
  <div class="face back">6</div>
  <div class="face right">4</div>
  <div class="face left">3</div>
  <div class="face top">2</div>
  <div class="face bottom">5</div>
</div>
.dice {
  width: 100px;
  height: 100px;
  position: relative;
  transform-style: preserve-3d;
  transform: rotateX(45deg) rotateY(45deg);
  animation: spin 5s infinite linear;
}

.face {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 2px solid #000;
  border-radius: 10px;
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
}

.front { transform: translateZ(50px); }
.back { transform: translateZ(-50px); }
.right { transform: rotateY(90deg) translateZ(50px); }
.left { transform: rotateY(-90deg) translateZ(50px); }
.top { transform: rotateX(90deg) translateZ(50px); }
.bottom { transform: rotateX(-90deg) translateZ(50px); }

@keyframes spin {
  from { transform: rotateX(0) rotateY(0); }
  to { transform: rotateX(360deg) rotateY(360deg); }
}

添加圆点样式的骰子

更真实的骰子需要圆点布局:

.dot {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: black;
  position: absolute;
}

/* 示例:1点的中心圆点 */
.face.front .dot {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* 示例:6点的三列布局 */
.face.back .dot {
  width: 12px;
  height: 12px;
}
.face.back .dot:nth-child(1) { top: 15%; left: 25%; }
.face.back .dot:nth-child(2) { top: 15%; left: 50%; }
.face.back .dot:nth-child(3) { top: 15%; left: 75%; }
.face.back .dot:nth-child(4) { top: 85%; left: 25%; }
.face.back .dot:nth-child(5) { top: 85%; left: 50%; }
.face.back .dot:nth-child(6) { top: 85%; left: 75%; }

交互式骰子动画

添加点击旋转效果:

document.querySelector('.dice').addEventListener('click', function() {
  const x = Math.floor(Math.random() * 360);
  const y = Math.floor(Math.random() * 360);
  this.style.transform = `rotateX(${x}deg) rotateY(${y}deg)`;
});

响应式尺寸调整

通过CSS变量实现尺寸控制:

:root {
  --dice-size: 100px;
  --dot-size: calc(var(--dice-size) * 0.15);
}

@media (max-width: 600px) {
  :root {
    --dice-size: 60px;
  }
}

高级3D阴影效果

增强立体感的box-shadow:

.dice {
  box-shadow: 
    5px 5px 10px rgba(0,0,0,0.2),
    inset 2px 2px 5px rgba(255,255,255,0.8);
}

.face {
  box-shadow: 
    inset 0 0 15px rgba(0,0,0,0.1),
    0 0 2px rgba(0,0,0,0.1);
}

这些方法组合可以创建出从简单到复杂的CSS骰子效果,通过调整transform参数可以实现不同的旋转状态展示特定点数。

css骰子制作

标签: 骰子css
分享给朋友:

相关文章

空间css制作

空间css制作

空间 CSS 制作方法 使用 margin 和 padding 控制间距 通过调整 margin(外边距)和 padding(内边距)属性,可以控制元素之间的空间。例如: .element {…

css制作简历

css制作简历

使用CSS制作简历的步骤 设计简历结构 使用HTML创建简历的基本结构,包括个人信息、教育背景、工作经历、技能等部分。确保每个部分都有清晰的标题和内容区域。 基础样式设置 通过CSS设置全局样式,…

css制作圆

css制作圆

使用CSS制作圆形元素 通过CSS的border-radius属性可以轻松将元素变为圆形。以下是具体实现方法: 基本圆形实现 .circle { width: 100px; heigh…

css继承制作教程

css继承制作教程

CSS继承的基本概念 CSS继承是指某些CSS属性可以从父元素传递到子元素的特性。并非所有属性都支持继承,但常见的文本相关属性(如font-family、color)默认具有继承性。通过合理利用继承,…

css 制作输入框

css 制作输入框

基础输入框样式 使用 input 或 textarea 元素创建输入框,通过 CSS 设置边框、圆角、内边距和背景色: .input-basic { border: 1px solid #ccc…

css怎么制作评论框

css怎么制作评论框

制作评论框的CSS方法 评论框通常包含输入区域、提交按钮和样式设计。以下是实现评论框的CSS代码示例和设计要点。 HTML结构 <div class="comment-box">…