美文网首页
css动画--高度过渡

css动画--高度过渡

作者: 怪兽别跑biubiubi | 来源:发表于2018-03-23 15:17 被阅读0次
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>高度过渡</title>
      <style>
        .box1 {
          transition: max-height 0.5s;
          max-height: 0;
          overflow: hidden;
        }
        .box:hover > .box1 {
          max-height: var(--max-height);
        }
      </style>
    </head>
    <body>
      <div class="box">
        Hover me to see a height transition.
        <div class="box1">
          CSS
          transition: max-height: 0.5s cubic-bezier(...)指定更改为max-height应使用ease-out-quint定时函数。
          overflow: hidden防止隐藏元素的内容溢出其容器。
          max-height: 0指定元素最初没有高度。
          .target:hover > .el指定当父项悬停在上方时,以子项为目标.el并使用--max-height由JavaScript定义的变量。
          JavaScript       
          el.scrollHeight是包含溢出的元素的高度,它将根据元素的内容动态更改。
          el.style.setProperty(...)设置--max-height用于指定max-height目标悬停在其上的元素的,允许它从0平滑过渡到auto。
        </div>
      </div>
    
      <script>
        var box1 = document.querySelector('.box1');
        var height = box1.scrollHeight;
        box1.style.setProperty('--max-height', height +'px')
      </script>
    </body>
    </html>

    相关文章

      网友评论

          本文标题:css动画--高度过渡

          本文链接:https://www.haomeiwen.com/subject/lorxcftx.html