html - 如何在隐藏/显示时创建动画?

标签 html css

    <div class="overlay"></div>

CSS:

    .overlay::after
     {
           position: fixed;
           top: 0;
           left: 0;
           width: 100%;
           content: "";
           z-index: -1;
           height: 100%;
           transition: all 0.5s ease-in-out;
           opacity: 0.5;
        }

        .popup::before
        {
           content: "";
           position: absolute;
           top: 0;
           left: 0;
           width: 100%;. 
           height: 100%;
           z-index: -1;
           transition: all 0.5s ease-in-out;
        }

这是我的覆盖类。我将此 div 显示为所有弹出窗口的掩码。但问题是即使我有过渡属性,它也没有显示任何动画。我想把它从左到右。我可以通过在隐藏时给出负左和在显示时给出正左来做到这一点。有没有办法在不留下负数的情况下实现这一目标。有什么建议吗??

最佳答案

纯CSS可以是

*{box-sizing: border-box}
menu{
  position: absolute;
  top: 40px;
  left: -200px;
  width: 200px;
  display: block;
  background: black;
  color: white;
  transition: left .3s ease
}
menu li{padding: 10px 14px}
input:checked + menu{
  left: 0
}
label{cursor: pointer}
<label for=toogleMenu >Click to toggle the Menu </label>
<input type=checkbox id=toogleMenu hidden />
<menu>
  <li>Home</li>
  <li>Work</li>
  <li>Contact</li>
  <li>Help</li>
</menu>

使用变换

*{box-sizing: border-box}
menu{
  position: absolute;
  top: 40px;
  left: 0px;
  width: 200px;
  display: block;
  background: black;
  color: white;
  transform: translateX(-200px);
  transition: transform .3s ease
}
menu li{padding: 10px 14px}
input:checked + menu{
  transform: translateX(0);
}
label{cursor: pointer}
<label for=toogleMenu >Click to toggle the Menu </label>
<input type=checkbox id=toogleMenu hidden />
<menu>
  <li>Home</li>
  <li>Work</li>
  <li>Contact</li>
  <li>Help</li>
</menu>

关于html - 如何在隐藏/显示时创建动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29443135/

相关文章:

javascript - 使用 Jquery 从侧面弹出一个 div。

javascript - 与 div 后面的元素交互

html - 菜单不在位

html - 溢出 : scroll on div with flex: 1 without specific height

javascript - 移动时CSS响应 slider 垂直转动

html - flexbox 中的 Overflow:auto 对于 display:block 和 display:flex 的 child 表现不同

html - 为什么我不能更改链接标签的字体大小但可以更改周围文本的字体大小?

javascript - 了解事件冒泡

javascript - pyscript 中没有名为 'theblockchainapi' 的模块

html - 是否有用于 html/css 验证的 IE 插件?