我正在创建一款类似于流氓的甲板建造游戏.我正在添加一项功能,以制作一张看起来不错,但对您不利的卡片.然而,由于我需要它在每一面显示为不同的稀有物品,这意味着我需要两个边界.

我最初的try 是一个独立的过渡,但它太突然了,既没有褪色,也没有像我想的那样成为双面.我的第二次try 成功了,但在构建时是这样的:

html,
body {
  font-family: "Space Mono", monospace;
  color: white;
  width: 100%;
  height: 100%;
}

card {
  width: calc(70px * 2);
  height: calc(100px * 2);
  background: #3b3b3b;
  border-radius: 1em;
  perspective: 600px;
  position: relative;
  transition: transform 1s;
  transform-style: preserve-3d;
}

.cardfront,
.cardback {
  backface-visibility: hidden;
  position: absolute;
  height: 100%;
  width: 100%;
}

.evilcardfront {
  border-top: 10px solid orange;
  border-bottom: 6px solid orange;
}

.evilcardback {
  border-top: 10px solid maroon;
  border-bottom: 6px solid maroon;
}

.epic {
  border-top: 10px solid #9c20aa;
  border-bottom: 6px solid #9c20aa;
}

.flipped {
  transform: rotateY(180deg);
}

.cardback {
  transform: rotateY(180deg);
  font-size: medium;
  text-align: center;
  padding-top: 10px;
}

.common {
  border-top: 10px solid slategray;
  border-bottom: 6px solid slategray;
}
<div style="display: flex;">

  <card class='evil' onclick='if (!this.classList.contains("flipped")) { this.classList.add("flipped") }'>
    <div class='cardfront evilcardfront'></div>
    <div class='cardback evilcardback'><span id='name'>Name</span><br><span id='type' style='color: fuchsia; font-size: small;'>type</span><br><span>this card has misplaced borders</span></div>
  </card>

  <card class='common' onclick='if (!this.classList.contains("flipped")) { this.classList.add("flipped") }'>
    <div class='cardfront'></div>
    <div class='cardback'><span id='name'>Name</span><br><span id='type' style='color: fuchsia; font-size: small;'>type</span><br><span>this card is correct</span></div>
  </card>

</div>

jsfiddle

推荐答案

我想这应该能解决你的问题

html,
body {
  font-family: "Space Mono", monospace;
  color: white;
  width: 100%;
  height: 100%;
}

.evil,
card {
  width: calc(70px * 2);
  height: calc(100px * 2);
  background: #3b3b3b;
  border-radius: 1em;
  perspective: 600px;
  position: relative;
  z-index: 1;
  transition: transform 1s;
  transform-style: preserve-3d;
}

.evilBack {
  width: calc(70px * 2);
  height: calc(100px * 2);
  background: #3b3b3b;
  border-radius: 1em;
  perspective: 600px;
  transform-style: preserve-3d;
}

.cardfront,
.cardback {
  backface-visibility: hidden;
  position: absolute;
  height: 100%;
  width: 100%;
}

.evilcardfront {
  border-top: 10px solid orange;
  border-bottom: 6px solid orange;
}

.evilcardback {
  border-top: 10px solid maroon;
  border-bottom: 6px solid maroon;
}

.epic {
  border-top: 10px solid #9c20aa;
  border-bottom: 6px solid #9c20aa;
}

.flipped {
  transform: rotateY(180deg);
}

.cardback {
  transform: rotateY(180deg);
  font-size: medium;
  text-align: center;
  padding-top: 10px;
}

.common {
  border-top: 10px solid slategray;
  border-bottom: 6px solid slategray;
}

.evil {
  border-top: 10px solid orange;
  border-bottom: 6px solid orange;
  transform-style: preserve-3d;
}

.evilBack {
  top: -0.65em;
  position: absolute;
  left: 0px;
  border-top: 10px solid maroon;
  border-bottom: 6px solid maroon;
}
<div style="display: flex;">



  <div class='evil' onclick='if (!this.classList.contains("flipped")) { this.classList.add("flipped") }'>
    <div class="cardfront"></div>
    <div class='cardback'> <span class='evilBack'><span id='name'>Name</span><br><span id='type' style='color: fuchsia; font-size: small;'>type</span><br><span>this card is correct</span></span>
    </div>
  </div>





</div>

Html相关问答推荐

为什么在这种情况下是弹性基础:自动不解决内容的大小?

窗口对象中是否有对<;html&>根元素的引用?

创建具有圆锥渐变的水平CSS聚光灯

CURL邮箱中的图像不能调整其大小

带有MathJax SVG的HTML代码在XHTML中不起作用

我无法使用背景图像css,因为我在VS代码中将照片放在不同的文件夹中

在单独的容器之间堆叠上下文

如何使用html的<;输入>;处理/绑定Angular 信号?

滚动两个不同高度的DIV;一个等待另一个

禁用的文本区域会丢失换行符

使具有FLEX父项的溢出自动的子元素收缩

带有图标和悬停过渡的CSS按钮

Vutify中看不见的V行

CSS:双面元素未正确显示边框

有没有一种方法可以提高代码中tailwind 类名的可读性?

为什么index.html在Django中有这样的名称?

为什么我的 html 对话框在 React 中没有渲染在我的内容之上?

如何将 元素与常规文本垂直对齐

jquery向单词中的一组字母添加跨度

如何根据行中的其中一列将行居中?