如何使用 css 反转动画?

how to reverse animation using css?

您好,我正在尝试反转细节和摘要的动画。当详细信息打开时,我可以制作动画,当我再次单击时,我不会反向制作动画。再次单击摘要时如何使动画起作用?谢谢你。 这是我的 HTML 代码和 CSS

HTML

<details>
  <summary>I am awesome</summary>
  <p>Hi there this is an awesome paragraph</p>
</details>

CSS

html {
  height: 100vh;
}

body {
  height: 100%;
  display: grid;
  place-content: center;

  font-family: 'Montserrat', sans-serif;
}

details {
  background: mistyrose;
  padding: 4em;
  width: 20rem;
}

details:not(open) summary~* {
  animation: anim-rev .5s ease-in;
}

details[open] summary~* {
  animation: anim .5s ease-in;
}

@keyframes anim {
  0% {
    opacity: 0;
    margin-top: -50px;
  }

  100% {
    opacity: 1;
    margin-left: 0;
  }
}

@keyframes anim-rev {
  0% {
    opacity: 1;
    margin-left: 0;
  }

  100% {
    opacity: 0;
    margin-top: -50px;
  }
}

似乎 'details' 元素有一些限制,我无法用这样的元素正确地做关闭动画。

相反 我用了一点 JQuery 并制作了一个带有 ID 的 div。您可以查看下面的工作代码:(我尽可能少地修改了您的代码)

https://jsfiddle.net/Aljaz_code/265f0nkb/1/

JQuery 使用代码:

$(document).ready(function(){
    $("#details").click(function(){
        $("#details").toggleClass("closeclass");
    });
});

三角形的符号

content: "BC";

在单击之前显示指向光标

cursor: pointer;