CSS【实战】抽屉动画

简介: CSS【实战】抽屉动画

效果预览

技术要点

实现思路

  • 元素固定布局(fixed)在窗口最右侧外部
  • js 定时器改变元素的 right 属性,控制元素移入,移出

过渡动画 transition

transition: 过渡的属性 过渡的持续时间 过渡时间函数 延迟时间
 

此处改变的是 right 属性,过渡动画的写法为

transition: right 0.3s;

盒模型

推荐用 IE 盒模型,方便控制元素的定位,避免添加 padding 后的误判。

代码实现

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>CSS 抽屉</title>
    <style>
      #drawer-container {
        background-color: rgb(51, 172, 242);
        color: white;
        padding: 10px;
        box-sizing: border-box;
        width: 300px;
        height: 100%;
        position: fixed;
        right: -300px;
        top: 0;
        transition: right 0.3s;
      }
    </style>
  </head>
  <body>
    <div id="drawer-container">抽屉里的内容</div>

    <script>
      const drawerContainer = document.getElementById("drawer-container");

      setTimeout(() => {
        drawerContainer.style.right = "0px";
      }, 1000);

      setTimeout(() => {
        drawerContainer.style.right = "-300px";
      }, 3000);
    </script>
  </body>
</html>

目录
打赏
0
相关文章
|
8月前
HTML【详解】表格 table 标签(table的属性,语义化表格,简易表格,合并单元格)
HTML【详解】表格 table 标签(table的属性,语义化表格,简易表格,合并单元格)
359 0
HTML【详解】表格 table 标签(table的属性,语义化表格,简易表格,合并单元格)
CSS【详解】布局 display ( 含 flex 布局,grid 布局,table 布局,float 布局,响应式布局 等)
CSS【详解】布局 display ( 含 flex 布局,grid 布局,table 布局,float 布局,响应式布局 等)
228 0
|
8月前
vue3【实战】语义化首页布局
vue3【实战】语义化首页布局
77 2
|
8月前
HTML【详解】超链接 a 标签的四大功能(页面跳转、页内滚动【锚点】、页面刷新、文件下载)
HTML【详解】超链接 a 标签的四大功能(页面跳转、页内滚动【锚点】、页面刷新、文件下载)
393 0
|
8月前
|
vue3 【提效】使用 CSS 框架 UnoCSS 实用教程
vue3 【提效】使用 CSS 框架 UnoCSS 实用教程
337 1
vue3【提效】使用 VueUse 高效开发(工具库 @vueuse/core + 新增的组件库 @vueuse/components)
vue3【提效】使用 VueUse 高效开发(工具库 @vueuse/core + 新增的组件库 @vueuse/components)
393 1
CSS 【详解】样式选择器(含ID、类、标签、通配、属性、伪类、伪元素、Content属性、子代、后代、兄弟、相邻兄弟、交集、并集等选择器)
CSS 【详解】样式选择器(含ID、类、标签、通配、属性、伪类、伪元素、Content属性、子代、后代、兄弟、相邻兄弟、交集、并集等选择器)
987 0
|
8月前
|
bable 【实用教程】
bable 【实用教程】
53 1
|
8月前
|
JS 【算法】二分查找
JS 【算法】二分查找
49 0
|
8月前
手写 vue3 的 ref,reactive 和 watchEffect
手写 vue3 的 ref,reactive 和 watchEffect
50 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等