让按钮来个酷动态! 操纵DOM事件:CSS 篇 (二)

在:hover、:active的CSS设定中,当然也可以加上animation,当事件触发时开始播放定义好的@keyframes。

除了animation,还有可以非常简单让CSS属性转换时,能具有「转换」的时间过程,让这样的变化更加顺畅不再生硬。

那就是 transition(转场) 属性啦!

像是透过JavaScript或是上一篇提到的:hover等伪元素,当网页元件发生CSS的项目变化时,如果没有特别在transition做指定,他的变化就是立刻转换,而利用transition即可控制CSS属性转换的时间,以及速率变化(如同animation所做的时间与速度控制)。

与animation相同,transition也具有数个子属性:

  • transition-property: 定义哪些 CSS 属性会被 transition 效果影响,多个属性可用逗号隔开,或使用all则可套用在所有属性上面。
  • transition-duration: 定义 transition 所花费的时间;以时间作为单位,常用秒s或毫秒ms。
  • transition-timing-function: 定义变化的速率;预设值为linear(平均速率变化),另外可以使用step、cubic-bezier和定义好的ease/ease-in/ease-out/ease-in-out。
  • transition-delay: 定义多久之後开始执行,可以产生延迟效果;以时间作为单位,常用秒s或毫秒ms。
.my-div {
    color: white;
    background:#333;
    transition-property:all;
    transition-duration:3s;
    transition-timing-function:ease;
}
.my-div:hover {
    color: #333;
    background:white;
}

除了使用子属性外,也可全部写在 transition 中:

transition: property duration timing-function delay;

备注:property 和 duration 为必要值。


<<:  Day 24 | Service

>>:  Kotlin Android 第19天,从 0 到 ML - RecyclerView 动态列表

DAY07 资料视觉化

一、视觉化为何如此重要 终於进入到视觉化的部分了!虽然现在有很多的绘图软件,但我认为初期用pytho...

Day 10 : 机器学习大杂烩

机器学习可以分为四大类 监督式学习 Supervised Learning 非监督式学习 Unsup...

DAY 1 引言:就在你身旁~~

如果你的工作很稳定,但是对你却是毫无梦想的工作,你该如何重振自己的精神,让自己有个空间,给自己那个毫...

Day 26:书单

前言 如果你去过天珑书局,应该会被比一般书店多了不知道几倍的电脑书吓到,幸好这个产业有很多被称为圣经...

故事的例子

先说明:今天加班到现在,所以先写一点点,後续再补上。 前天的文章有一位读者提问: 如果将团队在组织中...