javascript - 我怎样才能像斯坦福专业页面那样制作动画?

标签 javascript css

https://majors.stanford.edu/

我不知道这些东西是不是叫动画,但是当你点击专业时,我怎么才能做出那个转折的东西呢?

我假设我需要使用 CSS Grid 和 JS。

最佳答案

为了获得点击翻转,请遵循以下代码。

var card = document.querySelector('.card');
card.addEventListener('click', function() {
  card.classList.toggle('is-flipped');
});
body {
  font-family: sans-serif;
}

.scene {
  width: 200px;
  height: 260px;
  border: 1px solid #CCC;
  margin: 40px 0;
  perspective: 600px;
}

.card {
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;
  transform-style: preserve-3d;
  transform-origin: center right;
  transition: transform 1s;
}

.card.is-flipped {
  transform: translateX(-100%) rotateY(-180deg);
}

.card__face {
  position: absolute;
  width: 100%;
  height: 100%;
  line-height: 260px;
  color: white;
  text-align: center;
  font-weight: bold;
  font-size: 40px;
  backface-visibility: hidden;
}

.card__face--front {
  background: #d96a51;
}

.card__face--back {
  background: #5c5ce3;
  transform: rotateY(180deg);
}
<div class="scene scene--card">
  <div class="card">
    <div class="card__face card__face--front">front</div>
    <div class="card__face card__face--back">back</div>
  </div>
</div>
<p>Click card to flip.</p>

关于javascript - 我怎样才能像斯坦福专业页面那样制作动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58930061/

相关文章:

javascript - 从大数组中删除重复的字符串

javascript - 您如何从两个价格管理员中获得多个值

css - 如何在 mozilla 中给滚动条上色?

javascript - 如何循环并选择附加元素以获取 .text() 和 .data() 值?

javascript - 无法通过 java 脚本更新 grid-template-areas css 属性

javascript - Canvas 错误 - 在 Chrome 中无法旋转 90 度

javascript - 如何更改动态创建的元素的 CSS?

javascript - HTML, javascript 启用禁用按钮

css - Quasar 表根据一个单元格中的值更改整行的样式

javascript - 将项目添加到 json 对象