使用css实现打开抽屉效果(css过渡动画)

方法一、使用高度方式,高度从0到展示进行过渡

html:

cpp 复制代码
 <div class="container">
       <div class="menu">菜单</div>
       <div class="box">
       </div>
    </div>

css:

cpp 复制代码
  .box {
        width: 400px;
        height: 0;
        background-color: red;
        transition: all 1s ease;
      }
      .menu{
        height: 50px;
      }
      .menu:hover ~ .box{
        height: 300px;
      }

方法二、使用定位方法,相对较麻烦

HTML代码:

cpp 复制代码
 <div class="container">
       <div class="menu">菜单</div>
       <div class="box">
          <div class="drawer"></div>
       </div>
    </div>

css

cpp 复制代码
.container{
        background-color: #fff;
      }
      .box{
        position: relative;
        overflow: hidden;
      }
       .drawer {
        width: 400px;
        height: 300px;
        background-color: red;
        overflow: hidden;
        position: absolute;
        top: -300px;
        transition: all 1s ease;
      }
      .menu{
        height: 50px;
      }
      .menu:hover ~ .box{ /* 悬浮时,在此处绘制容器宽高,可以避免在抽屉未打开时,占用高度 */
        width: 400px;
        height: 300px;
      }
      .menu:hover ~ .box .drawer{
        top: 0px;
      }
相关推荐
程序员修心9 小时前
CSS 选择器知识点
前端·css·css3
whyfail9 小时前
CSS实现水滴样式
前端·css
张清悠9 小时前
CSS引入外部第三方字体
前端·javascript·css
张较瘦_9 小时前
前端 | 吃透CSS视觉特效:圆角、渐变、动画与变换核心解析
前端·css
Tzarevich9 小时前
Tailwind CSS:原子化 CSS 的现代开发实践
前端·javascript·css
be or not to be11 小时前
CSS 布局机制与盒模型详解
前端·css
San30.12 小时前
从面向对象 CSS 到原子化架构:Tailwind CSS 与 React 性能优化实践
css·react.js·架构
elangyipi12312 小时前
前端面试题:CSS BFC
前端·css·面试
程序员龙语12 小时前
CSS 核心基础 —— 长度单位、颜色表示与字体样式
前端·css
OranTech1 天前
练习05-CSS基础选择器
css