雪花飘,购物抛物线,进度条等四个案列,带入走进 CSS transition

本文主要是介绍雪花飘,购物抛物线,进度条等四个案列,带入走进 CSS transition,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

今天从四个案例,我们一起走进 CSS Transition。

源码 以及 在线演示地址

源码地址: 四个案例, CSS Transition 源码

在线演示地址:(兼容移动端)

  • 贝塞尔曲线运动
  • 进度条
  • 雪花飘飘效果
  • 购物车抛物线效果

案例演示

内置贝塞尔函数运动效果

效果有:

  • ease
  • linear
  • easy-in
  • easy-out
  • easy-in-out
    贝塞尔曲线运动-演示地址

进度条

思路

  • 两个div, 一个outer, 一个inner
  • box-shadow
  • transition

进度条-演示地址
进度条

雪花飘飘

思路:

  • n个postion为absolute的HTML节点
  • transition 随机贝塞尔曲线和动画时间
    雪花飘飘效果

购物车抛物线

思路:
top和left的属性一个用linear,一个easy-in 贝塞尔时间函数

购物车抛物线效果

Transition属性:

那我们就先说说transition的属性

属性描述CSS
transition简写属性,用于在一个属性中设置四个过渡属性。3
transition-property规定应用过渡的 CSS 属性的名称。默认值all。3
transition-duration定义过渡效果花费的时间。默认是 0。3
transition-timing-function规定过渡效果的时间曲线。默认是 ease。3
transition-delay规定过渡效果何时开始。默认是 03

额外提一下两个属性:

  • transition-property
    all: 所有属性, none: 也就是不生效。
    当然也不是所有的属性都可以来动效, 具体的参考Certain CSS properties can be animated
    不支持的动画属性:background-image, float, display, position,visibility。

    深入理解CSS过渡transition有一个简单分类的总结,当然相对全面还是Certain CSS properties can be animated

颜色: color background-color border-color outline-color
位置: backround-position left right top bottom
长度: [1]max-height min-height max-width min-width height width[2]border-width margin padding outline-width outline-offset[3]font-size line-height text-indent vertical-align  [4]border-spacing letter-spacing word-spacing
数字: opacity visibility z-index font-weight zoom
组合: text-shadow transform box-shadow clip
其他: gradient
  • transition-timing-function
    三阶贝塞尔曲线函数, 这里只要两个控制点的值。
    至于什么是贝塞尔曲线,可以看看贝塞尔曲线扫盲。
    内置了几个简单的:

    1、ease:逐渐变慢, 贝塞尔曲线(0.25, 0.1, 0.25, 1.0)
    2、linear:匀速,linear 贝塞尔曲线(0.0, 0.0, 1.0, 1.0)
    3、ease-in:加速,ease-in 贝塞尔曲线(0.42, 0, 1.0, 1.0)
    4、ease-out:减速,ease-out贝塞尔曲线(0, 0, 0.58, 1.0)
    5、ease-in-out:加速然后减,ease-in-out 贝塞尔曲线(0.42, 0, 0.58, 1.0)

    更多的可以在这里获得在线贝塞尔。

    这里的取值还有一种steps函数,可以参考深入理解CSS过渡transition


多值:多种属性同时变化的时候

依旧是两个总写法。 注意transition-property和其他属性数量不一致的情况。

/* 方法一*/
.demo{transition-property: width, height;transition-delay: 500ms;transition-timing-function: linear;transition-duration: 2000ms;
}
/* 方法二*/
.demo{transition: width 2000ms linear 500ms, height 2000ms linear 500ms
}

触发方式

  • 伪类触发
    :hover、:focus、:active等
  • 媒体查询触发
    @media
  • javascript触发

Transition事件

  • transitioncancel
    转换取消事件 , 该事件和transitionend互斥,只会有一个发生。
  • transitionend
    转换结束事件
  • transitionrun
    转换进行事件
  • transitionstart
    转换开始事件,因为转换有delay属性,所以进行,不一定真正的开始。
const transition = document.querySelector('.transition');transition.addEventListener('transitioncancel', () => {console.log('Transition canceled');
});

Transition事件的触发次数是非复合的过渡属性的个数, 比如width, height同时变换,那么就是两次。
还比较有趣的事, 比如hover到某元素的时候,开始变换,没变换结束,你就离开。
变换效果会倒着来。上面的demo,就会看到。

基本了解了属性和事件,基本就是进一步的应用了, 可以自行下载源码看看, 思想有多风骚,作用就有多大。

写在最后

不忘初衷,【SSD系列】,3-5分钟,500-1000字,有所得,而不为所累,如果你觉得不错,你的一赞一评就是我前行的最大动力。

技术交流群请到 这里来。
或者添加我的微信 dirge-cloud,一起学习。

CSS Transitions
Using CSS transitions
TransitionEventSection
css-transitions | Can I Use
TransitionEventSection](https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent)
css-transitions | Can I Use
深入理解CSS过渡transition

这篇关于雪花飘,购物抛物线,进度条等四个案列,带入走进 CSS transition的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/892909

相关文章

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

python解析HTML并提取span标签中的文本

《python解析HTML并提取span标签中的文本》在网页开发和数据抓取过程中,我们经常需要从HTML页面中提取信息,尤其是span元素中的文本,span标签是一个行内元素,通常用于包装一小段文本或... 目录一、安装相关依赖二、html 页面结构三、使用 BeautifulSoup javascript

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template