css动画效果代码淡入淡出折叠展开点击悬浮

简介: css动画效果代码淡入淡出折叠展开点击悬浮

css动画效果代码淡入淡出折叠展开点击悬浮

淡入

.coup-anim {
  width: -webkit-fill-available;
  bottom: 0;
  position: fixed;
  border-radius: 20upx;
  margin-bottom: 0;
  margin: 20upx 100upx;
  background-color: #fff;
  height:900upx;
  /* 淡入 */
  animation: fadeIn 0.4s .1s ease both;
}
@keyframes fadeIn {
 0% {
  opacity: 0;
  transform: translateY(400upx)
 }
 100% {
  opacity: 1;
  transform: translateY(0)
 }
}

淡出

.coup-anim {
    width: -webkit-fill-available;
    bottom: 0;
    position: fixed;
    border-radius: 20upx;
    margin-bottom: 0;
    margin: 20upx 100upx;
    background-color: #fff;
    height:900upx;
    animation: fadeIn 0.4s .1s ease both;
  }
  @keyframes fadeIn {
   0% {
    opacity: 1;
    transform: translateY(0)
   }
   100% {
    opacity: 0;
    transform: translateY(calc(100% + 20upx))
   }
  }

按钮点击css

.button {
  margin: 100upx;
  background-color: #e7ad8e;
  color: #900b09;
  opacity: 0.9;
}
.active {
  opacity: 1;
  transform: all .3s;
}

手风琴折叠

<template>
  <view>
    <view class="item" :class="item.class" v-for="item in list" :key="item.content">{{item.content}}</view>
    <button @click="test">测试</button>
  </view>
</template>
<script>
  export default {
    data() {
      return {
        list:[
          {content:'item1'},
          {content:'item2'},
          {content:'item3'},
          {content:'item4'},
          {content:'item5'},
          {content:'item6'}
        ]
      }
    },
    methods: {
      test() {
        this.list = [
          {content:'item1'},
          {content:'item2'},
          {content:'item3'},
          {content:'item4'},
          {content:'item5'},
          {content:'item6'}
        ]
        let time = 300
        for(let index in this.list) {
          time = (time + 30)
          setTimeout(() => {
            // $set新增属性响应式更新模板
            this.$set(this.list[this.list.length-index-1],'class','rotate')
            // this.list[index].class = 'rotate'
          },time)
        }
      }
    },
    onLoad() {
    }
  }
</script>
<style>
  page{
    background-color: #eee;
  }
  /* 折叠淡出 */
.item {
  padding: 15rpx;
  border-radius: 10rpx;
  margin: 20rpx;
  background-color: #fff;
  /* animation: fadeIn 0.4s .1s ease both; */
}
.rotate {
  animation: fadeIn 0.4s .1s ease both;
}
@keyframes fadeIn {
 0% {
  opacity: 1;
  transform: translateY(0)
 }
 100% {
  opacity: 0;
   transform: translateY(-100%)
 }
}
</style>

手风琴展开

<template>
  <view>
    <view class="item" :class="item.class" v-for="item in list" :key="item.content">{{item.content}}</view>
    <button style="position: fixed;bottom: 0;" @click="test">测试</button>
  </view>
</template>
<script>
  export default {
    data() {
      return {
        list:[
          {content:'item1'},
          {content:'item2'},
          {content:'item3'},
          {content:'item4'},
          {content:'item5'},
          {content:'item6'}
        ]
      }
    },
    methods: {
      test() {
        this.list = [
          {content:'item1'},
          {content:'item2'},
          {content:'item3'},
          {content:'item4'},
          {content:'item5'},
          {content:'item6'}
        ]
        let time = 300
        for(let index in this.list) {
          time = (time + 30)
          setTimeout(() => {
            // $set新增属性响应式更新模板
            this.$set(this.list[index],'class','rotate')
            // this.list[index].class = 'rotate'
          },time)
        }
      }
    },
    onLoad() {
    }
  }
</script>
<style>
  page{
    background-color: #eee;
  }
  /* 折叠淡出 */
.item {
  padding: 15rpx;
  border-radius: 10rpx;
  margin: 20rpx;
  opacity: 0;
  transform: translateY(-100%);
  background-color: #fff;
  /* animation: fadeIn 0.4s .1s ease both; */
}
.rotate {
  animation: fadeIn 0.4s .1s ease both;
}
@keyframes fadeIn {
 0% {
    opacity: 0;
     transform: translateY(-100%)
 }
 100% {
   opacity: 1;
   transform: translateY(0)
 }
}
</style>


相关文章
|
1月前
|
机器学习/深度学习 前端开发 JavaScript
|
25天前
|
前端开发 搜索推荐 UED
实现 CSS 动画效果的兼容性
【10月更文挑战第16天】实现 CSS 动画效果的兼容性需要对不同浏览器的特性有深入的了解,并采取适当的策略和方法。通过不断的实践和优化,你可以在各种浏览器上创造出流畅、美观且兼容的动画效果,为用户带来更好的体验。在实际开发中,要密切关注浏览器的发展动态,及时掌握最新的兼容性技巧和解决方案,以确保你的动画设计能够在广泛的用户群体中得到良好的呈现。
100 58
|
7天前
|
数据采集 存储 前端开发
Puppeteer教程:使用CSS选择器点击和爬取动态数据
本文介绍如何使用Puppeteer结合CSS选择器爬取动态网页数据,以贝壳网的二手房价格为例,通过代理IP提高爬虫成功率。文章详细讲解了Puppeteer的安装和配置、代码实现及数据趋势分析,帮助读者掌握动态网页爬取技术。
Puppeteer教程:使用CSS选择器点击和爬取动态数据
|
4天前
|
前端开发 JavaScript
如何利用 CSS3 动画实现元素的淡入淡出效果?
在上述代码中,定义了一个名为 `fade-in` 的CSS类,其初始透明度为0,并设置了淡入的过渡效果。当通过JavaScript为元素添加 `active` 类时,元素的透明度变为1,实现淡入效果;当再次点击按钮移除 `active` 类时,元素又会逐渐淡出。通过这种方式,可以根据用户的操作灵活地控制元素的淡入淡出效果。
33 3
|
4天前
|
Web App开发 前端开发 JavaScript
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
如何在不牺牲动画效果的前提下,优化 CSS3 动画的性能?
12 1
|
19天前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
68 6
|
29天前
|
前端开发 JavaScript API
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
本文通过构建一个 3D 翻卡动画深入探讨了 CSS Houdini 的强大功能,展示了如何通过 Worklets、自定义属性、Paint API 等扩展 CSS 的能力,实现高度灵活的动画效果。文章首先介绍了 Houdini 的核心概念与 API,并通过构建一个动态星空背景、圆形进度条以及交互式 3D 翻卡动画的实际示例,展示了如何利用 CSS Houdini 赋予网页设计更多创造力。最后,还演示了如何将这种 3D 翻卡效果集成到公司网站中,提升用户体验。CSS Houdini 的创新能力为网页设计带来了前所未有的灵活性,推动了前端开发迈向新的高度。
26 0
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
|
2月前
|
JavaScript 前端开发
JS配合CSS3实现动画和拖动小星星小Demo
本文通过代码示例展示了如何使用JavaScript和CSS3实现动画效果和拖动小星星的交互效果,包括文字掉落动画和鼠标拖动产生小星星动画的实现方法。
45 0
JS配合CSS3实现动画和拖动小星星小Demo
|
1月前
|
前端开发
CSS 动画介绍及语法
CSS 动画介绍及语法
27 0