当前位置:首页 » 《随便一记》 » 正文

CSS实现从下至上弹出的抽屉动画

21 人参与  2023年05月08日 18:02  分类 : 《随便一记》  评论

点击全文阅读


从下至上展开抽屉动画

<!DOCTYPE html><html><head>  <meta charset="UTF-8">  <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />  <title></title>  <style>    .container {      margin: auto;      top: 460px;      width: 320px;      height: 30px;      position: relative;      background-color: rgba(0, 0, 0, 0.4);      overflow-y: auto;      scroll-behavior: smooth;      border-radius: 20px;    }    /* 隐藏滚动条 */    ::-webkit-scrollbar {      display: none;    }    .expend {      animation: expend ease 1s forwards;    }    .close-container {      animation: no-expend ease 1s forwards;    }    @keyframes expend {      from {        top: 460px;        height: 30px;      }      to {        height: 330px;        top: 160px;      }    }    @keyframes no-expend {      from {        height: 330px;        top: 160px;      }      to {        top: 460px;        height: 30px;      }    }    .close {      color: aliceblue;      right: 0;      margin: 5px 10px;      position: absolute;    }    .title {      color: aliceblue;      height: 30px;      line-height: 30px;      margin: 0 10px;      position: absolute;    }    .list {      display: flex;      /* 子元素换行 */      flex-wrap: wrap;      white-space: nowrap;      padding-top: 24px;    }    .item {      width: 80px;      height: 80px;      margin: 40px;      display: flex;      flex-direction: column;      justify-content: space-around;      align-items: center;    }    .item-img {      width: 40px;      height: 40px;    }  </style></head><body>  <div class='container' id='container'>    <div class='title'>抽屉标题</div>    <div class='close' onclick='closeHandle()'>↑</div>    <div class='list'>      <div class='item'>        <img src="./Icon_template.png" class="item-img">        <span class='item-text'>内容1</span>      </div>      <div class='item'>        <img src="./Icon_template.png" class="item-img">        <span class='item-text'>内容2</span>      </div>      <div class='item'>        <img src="./Icon_template.png" class="item-img">        <span class='item-text'>内容3</span>      </div>      <div class='item'>        <img src="./Icon_template.png" class="item-img">        <span class='item-text'>内容4</span>      </div>      <div class='item'>        <img src="./Icon_template.png" class="item-img">        <span class='item-text'>内容4</span>      </div>    </div>  </div>  <script>    const closeHandle = () => {      console.log('关闭和展开');      const dom = document.getElementById('container');      const closeDom = document.getElementsByClassName('close')[0];      if (!dom.className.match(/(?:^|\s)expend(?!\S)/)) {        dom.className = "container expend";        setTimeout(() => {          closeDom.innerText = 'X'        }, 100)      } else {        dom.className = "container close-container";        setTimeout(() => {          closeDom.innerText = '↑'        }, 100)      }    }  </script></body></html>

请添加图片描述


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/61624.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1