首页 > 其他分享 >html+css实现下拉动画

html+css实现下拉动画

时间:2024-10-20 13:45:38浏览次数:9  
标签:动画 style 高度 height ul html querySelector document css

下拉动画是一个网页上经常看到的东西,有些这是控制它的出现,没有过渡效果,不是很丝滑,市面上看到的文章也只有改变固定高度的,而如何实现父元素的高度不确定的情况下,由子元素的高度作为整体高度,下面为我的代码,仅供参考。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body {
            height: 100vh;
            background-color: #f0f0f0;
        }

        .container{
            width: 200px;
            background-color: yellow;
            margin: auto;
            margin-top: 50px;
        }

        button{
            margin-bottom: 10px;
        }

        /* button:active + ul{
            height: 130px;
        } */
        
        ul{
            width: 150px;
            max-height: 0;
            background-color: red;
            overflow: hidden;
            padding: 0;
            transition: .5s;
        }

        li{
            list-style: none;
            height: 30px;
            line-height: 30px;
            color: #fff;
            font-size: 18px;
            padding: 0;
        }

        
    </style>
</head>

<body>
    <div class="container">
        <button>点击我</button>
        <ul class="list">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
        </ul>
        <h4>55</h4>
    </div>

    <script>
        var dom=document.querySelector('button');
        dom.onclick=function(){
            if(document.querySelector('ul').style.maxHeight){
                 document.querySelector('ul').style.maxHeight=""
            }else{
                 document.querySelector('ul').style.maxHeight="200px"
            }
            console.log(document.querySelector('ul').style.maxHeight);
        }
    </script>
    
</body>

</html>

这里通过设置父元素(container)的高度为0,刚开始的最大高度为0,超出部分隐藏,从而隐藏了子元素的,用js控制,如果当前的存在最大高度,那就改变父元素最大高度的值为“”,相反,如果不存在,责可以设置它的max-height为一个合适的值,多大都行,因为max-height只是设置一个最大的边界值,不代表container的高度,而他的高度实际上是多个li元素的高度和,这样就实现了,它的下拉与收起。如有疑问,可以私信我。谢谢!

最终的效果如下:

<iframe allowfullscreen="true" data-mediaembed="csdn" frameborder="0" id="9ENTnuAP-1729229966968" src="https://live.csdn.net/v/embed/429929"></iframe>

下拉动画

标签:动画,style,高度,height,ul,html,querySelector,document,css
From: https://blog.csdn.net/2302_76980664/article/details/143050783

相关文章

  • CSS--盒子的浮动
    盒子浮动概念浮动是CSS中的一种定位方式,可以使元素脱离正常的文档流,并相对于其父元素或其他元素进行定位。在布局中,可以使用浮动来实现盒子的位置调整和元素的排列。通过设置元素的float属性为left或right,可以使元素向左或向右浮动。浮动的元素会尽可能地靠向父元素的边缘或......
  • 【前端横向导航栏及简单动画效果(伪类选择器)】
    【html代码】 <!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title></title> <linkrel="stylesheet"type="text/css"href="./css/index.css"/> </head> &l......
  • 逼自己看完!!CSS布局技术之——两列布局
    看完你就又多学了一点了!两列布局样式 CSS3中提供了多列布局的支持,可以将文本内容以多列的形式进行排列。通过设置列数和间距等属性,可以控制列布局的样式。很多网站都有些共同的特点,如页面顶部放置一个大的导航栏或广告条,右侧是链接或图片,左侧放置主要内容,页面底部放置版权......
  • 重要升级:DHTMLX Gantt 9.0
    DHTMLXGantt9.0具有全面改进的主题、新的深色主题、手动安排的摘要、内置基线等经过数月的精心工作,我们很高兴推出DHTMLXGantt9.0。这一里程碑版本使我们的JavaScript甘特图界面焕然一新。9.0版带来了彻底改进的主题,并大大简化了甘特图的外观和感觉自定义。......
  • 第六章元素应用CSS
    6.1使用CSS设置字体样式font-family:设置字体的类型font-weight:设置字体的粗细font-size:设置字体的大小font-style:设置字体的倾斜6.1.1.字体类型        字体:具有传递语义功能和美学效应两方面作用        CSS:提供font-family属性来控制文本的字体类型......
  • 第六章 元素应用css
    6.1使用css设置字体样式6.1.1.字体类型h1{ font-family:fangsong;}6.1.2.字体大小font-size:25px;6.1.3.字体粗细font-weight:500;6.1.4.字体倾斜font-style:italic;6.2使用CSS设置文本样式6.2.1.文本水平对齐方式text-align:center;6.2.2......
  • CSS文字超出宽度---换行总结
       <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</titl......
  • 帝国网站后台css怎么修改?修改网站后台参数?
    修改帝国网站后台的CSS样式可以通过以下几种方法实现:直接修改源文件:找到帝国CMS安装目录下的后台样式文件,通常位于e/admin/style目录下。使用文本编辑器打开对应的CSS文件(如style.css)进行编辑。修改完成后保存文件,刷新后台页面查看效果。通过自定义CSS文件:在后台模板......
  • 第六章元素应用CSS
    6.1使用CSS设置字体样式作用:一是传递语义功能,二是有美学作用。CSS提供font-family属性来控制文本的字体类型。格式如下:fonl-family:字体名称;参数:字体名称按优先顺序排列,以逗号隔开。如果字体名称包含空格,则应用引号括起。说明:用font-family属性可控制显示字体。不同......
  • HTML·第六章 元素应用CSS
    6.1使用CSS设置字体样式在CSS中设置字体样式是网页设计中非常基础且重要的部分,它可以帮助设计师控制网页上文本的外观。以下是一些常用的CSS属性,用于设置字体样式:font-family:定义字体族,指定文本的字体。可以设置一个或多个字体,浏览器会使用列表中第一个可用的字体。p{......