CSS3 transition实现手风琴效果「建议收藏」

CSS3 transition实现手风琴效果「建议收藏」CSS3transition实现手风琴效果最近在项目中遇到了一个需求,需要完成一个手风琴效果的展示,最后通过CSS3transition实现了这个效果,下面就分享下实现方法。效果首先看下效果:可以看到,当我们点击toggle按钮的时候会实现一个带有动画的过渡效果。transition属性实现动画效果这要用到了transition的四个属性,分别是:transition-prope…

大家好,又见面了,我是你们的朋友全栈君。

CSS3 transition实现手风琴效果

最近在项目中遇到了一个需求,需要完成一个手风琴效果的展示,最后通过CSS3 transition实现了这个效果,下面就分享下实现方法。

效果

首先看下效果:
在这里插入图片描述
可以看到,当我们点击toggle按钮的时候会实现一个带有动画的过渡效果。

transition属性

实现动画效果这要用到了transition的四个属性,分别是:transition-propertytransition-durationtransition-timing-functiontransition-delay,下面简单介绍下四个属性。

transition-property:指定需要过渡的CSS属性。并不是所有属性都能过渡的,只有能数字量化的CSS属性才能过渡,常见的有width,height,right,left,bottom,top,opacity,color等,或者可以直接设为all,表示所有属性都会获得过度效果。
transition-duration:指定过渡所需要的时间。
transition-delay:延迟开始过渡的时间,默认值是0,表示不延迟,立即开始过渡动作。
transition-timing-function:过渡函数,规定了过渡效果的速度曲线(贝塞尔曲线),取值如下:

描述
linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。
ease 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。
ease-in 规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。
ease-out 规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。
cubic-bezier(n,n,n,n) cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。。

可以看到,除了指定的属性之外,还可以通过cubic-bezier(n,n,n,n)自定义平滑曲线,贝塞尔曲线的生成比较复杂,我们可以借助于缓动函数速查表或者cubic-bezier等在线工具查看动画效果。

代码实现

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>CSS3 transition实现手风琴特效</title>
    </head>
    <body>
        <div class="slider" id="slider">
            <button class="toggle-btn" onclick="document.getElementById('slider').classList.toggle('toggle');">toggle</button>
        </div>
        <style> .slider { 
     max-width: 400px; background: #2a85a0; height: 400px; width: 400px; position: relative; /* Webkit内核浏览器:Safari and Chrome*/ -webkit-transition-property: all; -webkit-transition-duration: .5s; -webkit-transition-timing-function: cubic-bezier(0, 1, 0.5, 1); /* Mozilla内核浏览器:firefox3.5+*/ -moz-transition-property: all; -moz-transition-duration: .5s; -moz-transition-timing-function: cubic-bezier(0, 1, 0.5, 1); /* Opera*/ -o-transition-property: all; -o-transition-duration: .5s; -o-transition-timing-function: cubic-bezier(0, 1, 0.5, 1); /* IE9*/ -ms-transition-property: all; -ms-transition-duration: .5s; -ms-transition-timing-function: cubic-bezier(0, 1, 0.5, 1); } .slider.toggle { 
     max-width: 10px; } .toggle-btn { 
     position: absolute; top: 0; color: #ffffff; right: -50px; width: 50px; height: 20px; background: #5a7ef1; } </style>
    </body>
</html>

下面的是我的公众号二维码图片,欢迎关注。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158391.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 平稳和非平稳信号_非平稳信号处理

    平稳和非平稳信号_非平稳信号处理平稳和非平稳都是针对随机信号说的。平稳信号是指分布参数或者分布律随时间不发生变化的信号。非平稳信号是指分布参数或者分布律随时间发生变化的信号。常见的平稳信号:一段短的语音信号(10~30ms)常见的非平稳信号:一段长的语音信号,一首歌等给出一个信号(可以随意选取一个.mp3文件,命名为m.mp3),对其进行平稳性分析:%信号的平稳性分析clc,clear;fs=44100;s=a…

    2025年7月4日
    3
  • 设计手机APP界面的感想

    设计手机APP界面的感想设计手机APP界面的感想设计三个界面,花费了大概七八个小时。看老师讲解的时候,感觉就是那么回事,挺简单的,其实不然,当亲自操作后发现了诸多问题。首先是对已知工具运用上的不熟练,有些昨天刚刚使用过的工具,在今天的设计中就发生了一些错误,导致返工修改的时候浪费了好多时间。还有就是不能很好地将几个软件的功能结合起来,不如最近学了PS和UI,在今天的设计中主要使用的是UI,在设计过程中发现界面的一些板

    2022年6月21日
    25
  • 净推荐值(NPS)完整行动指南[通俗易懂]

    净推荐值(NPS)完整行动指南[通俗易懂]前言随着越来越多的SaaS公司想要提高客户忠诚度,使得衡量忠诚度的方法得到了发展,其中最受欢迎的方式之一就是净推荐值(NPS)。实际上,全球有55%的公司使用NPS来衡量客户满意度和忠诚度。净推荐值不是一个“虚荣指标”,当你与客户的工作发生交叉引用时,NPS可以用来推断客户实际上使用感到高兴的情况。你可以利用这些“行为模式”的见解来指导你的客户使用产品。因此,NPS可以指导新手入门和产品开发,帮助你减少客户流失并提高留存率。是否想知道如何衡量你的NPS?如何通过客户数据的交叉引用以指导产品.

    2022年6月13日
    29
  • idea20213.3激活码[在线序列号]

    idea20213.3激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    249
  • JS 取整 取余(C语言除法怎么取整怎么取余)

    JS取整取余取整1.取整//保留整数部分parseInt(3/2)  //12.向上取整//向上取整,有小数就整数部分加1Math.ceil(3/2)  //23.四舍五入//四舍五入Math.round(3/2)  //24.向下取整//向下取整,丢弃小数部分Math.floor(3/2)  //1取余…

    2022年4月11日
    47
  • java各种集合类区别

    java各种集合类区别最近面试经常遇到java集合类的问题,上网搜了一下,做个笔记百度的图集合类型主要有3种:set(集)、list(列表)和map(映射)。集合接口分为:Collection和Map,list、set实现了Collection接口List总结:可以重复,通过索引取出加入数据,顺序与插入顺序一致,可以含有null元素ArrayList:底层数据结构使数组结构array,…

    2022年6月9日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号