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

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

1.JPG


前言



关于关于【SSD系列】


前端一些有意思的内容,旨在3-10分钟里, 500-1500字,有所获,又不为所累。

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


源码 以及 在线演示地址


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


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



案例演示


内置贝塞尔函数运动效果


效果有:

  • ease
  • linear
  • easy-in
  • easy-out
  • easy-in-out

贝塞尔曲线运动-演示地址


网络异常,图片无法展示
|


进度条


思路


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

进度条-演示地址


3.JPG


雪花飘飘


思路:


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


雪花飘飘效果

4.JPG



购物车抛物线


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

购物车抛物线效果

5.JPG


Transition属性:



那我们就先说说transition的属性


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


额外提一下两个属性:


  • 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事件




const transition = document.querySelector('.transition');
transition.addEventListener('transitioncancel', () => {
  console.log('Transition canceled');
});
复制代码


Transition事件的触发次数是非复合的过渡属性的个数, 比如width, height同时变换,那么就是两次。


还比较有趣的事, 比如hover到某元素的时候,开始变换,没变换结束,你就离开。 变换效果会倒着来。上面的demo,就会看到。


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


写在最后



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


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

相关文章
|
前端开发 JavaScript UED
过渡效果的艺术:CSS transition 让网页交互更平滑(上)
过渡效果的艺术:CSS transition 让网页交互更平滑(上)
|
2月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
transition过渡属性 早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成。 但在CSS3中新增加了一个新的模块transition,它可以通过一些简单的CSS事件来触发元素的外观变化, 让效果显得更加细腻。简单点说,就是通过鼠标经过、获得焦点,被点击或对元素任何改变中触发, 并平滑地以动画效果改变CSS的属性值。 在CSS中创建简单的过渡效果可以从以下几个步骤来实现: 在默认样式中声明元素的初始状态样式; 声明过渡元素最终状态样式,比如悬浮状态; 在默认样式中通过添加
226 0
|
前端开发
CSS transition过渡属性详解
本文介绍了CSS中`transition`属性的作用、用法及实例。`transition`用于在元素属性变化时添加平滑过渡动画,通过设置`transition-property`、`transition-duration`、`transition-timing-function`和`transition-delay`等属性值,可以精细控制过渡效果。文末提供了HTML示例代码,展示了如何使用`transition`实现鼠标悬停时背景颜色的平滑变化。
580 1
|
前端开发 JavaScript
uniapp纯CSS实现圆形进度条组件
uniapp纯CSS实现圆形进度条组件
683 0
|
机器学习/深度学习 前端开发
HTML&CSS Day08 CSS transition过渡
HTML&CSS Day08 CSS transition过渡
183 0
|
前端开发 JavaScript
前端 css 经典:transition 过渡和 animation 动画
前端 css 经典:transition 过渡和 animation 动画
260 2
|
前端开发 JavaScript UED
CSS Transition(过渡效果)详解
CSS Transition(过渡效果)详解
1523 1
|
移动开发 HTML5
HTML5/CSS3粒子效果进度条代码
HTML5/CSS3进度条应用。这款进度条插件在播放进度过程中出现粒子效果,就像一些小颗粒从进度条上散落下来
186 0
HTML5/CSS3粒子效果进度条代码
|
前端开发 UED
深入理解CSS过渡效果(Transition):提升网页动画体验
深入理解CSS过渡效果(Transition):提升网页动画体验
630 1
|
Web App开发 前端开发 JavaScript
过渡效果的艺术:CSS transition 让网页交互更平滑(下)
过渡效果的艺术:CSS transition 让网页交互更平滑(下)

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    238
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    226
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    164
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    133
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    275
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    408
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    177
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    112
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    191
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    261