首页 > 其他分享 >白骑士的CSS教学进阶篇之变形与过渡 3.1.2 过渡效果

白骑士的CSS教学进阶篇之变形与过渡 3.1.2 过渡效果

时间:2024-08-28 09:53:56浏览次数:7  
标签:box 效果 ease transition 进阶篇 过渡 3.1 属性

        在 CSS 中,过渡效果(transition)允许你在属性值发生变化时平滑过渡,使变更过程更加自然和动感。使用过渡效果可以改善用户体验,使页面在变化时看起来更加流畅。通过设置 ‘transition‘ 属性,你可以控制过渡的属性、持续时间、时间函数和延迟等。这一节将详细介绍 ‘transition‘ 属性的各个部分及其应用方法。

过渡效果的基本语法

        语法:

transition: [property] [duration] [timing-function] [delay];
  • ‘property‘:指定要应用过渡效果的 CSS 属性。
  • ‘duration‘:指定过渡效果的持续时间。
  • ‘timing-function‘:定义过渡效果的时间曲线。
  • ‘delay‘:定义过渡效果的延迟时间。

过渡属性(property)

        ‘property‘ 用于指定在变换过程中需要应用过渡效果的 CSS 属性。可以是一个或多个属性,也可以使用 ‘all‘ 关键字来对所有可过渡属性应用过渡效果。

        示例:

.box {
  width: 100px;
  height: 100px;
  background-color: blue;
  transition: background-color 0.5s ease-in-out;
}
.box:hover {
  background-color: red;
}

        效果:

  • 当鼠标悬停在 ‘.box‘ 元素上时,背景颜色会在 0.5 秒内平滑过渡到红色。

持续时间(duration)

        ‘duration‘ 用于指定过渡效果的持续时间,单位为秒(‘s‘)或毫秒(‘ms‘)。这是定义过渡的时间长度,即属性值从初始状态变化到最终状态所需的时间。

        示例:

.box {
  width: 100px;
  height: 100px;
  background-color: green;
  transition: transform 1s;
}
.box:hover {
  transform: scale(1.5);
}

        效果:

当鼠标悬停在 ‘.box‘ 元素上时,元素会在 1 秒钟内逐渐放大 1.5 倍。

时间函数(timing-function)

        ‘timing-function‘ 用于定义过渡效果的时间曲线,它决定了属性值变化的速率。常用的时间函数有:

  • ‘linear‘:线性过渡,变化速率均匀。
  • ‘ease‘:渐进过渡,开始和结束时缓慢,中间加速。
  • ‘ease-in‘:渐进过渡,开始时缓慢,结束时加速。
  • ‘ease-out‘:渐进过渡,开始时加速,结束时缓慢。
  • ‘ease-in-out‘:渐进过渡,开始和结束时缓慢,中间加速。
  • ‘cubic-bezier(n,n,n,n)‘:自定义贝塞尔曲线,可以精确控制过渡效果。

        示例:

.box {
  width: 100px;
  height: 100px;
  background-color: yellow;
  transition: transform 0.8s ease-out;
}
.box:hover {
  transform: rotate(45deg);
}

        效果:

  • 当鼠标悬停在 ‘.box‘ 元素上时,元素会在 0.8 秒内以 ‘ease-out‘ 方式平滑旋转 45 度。

延迟时间(delay)

        ‘delay‘ 用于定义在过渡效果开始前的延迟时间,单位为秒(‘s‘)或毫秒(‘ms‘)。它指定了过渡效果在属性变化后的等待时间。

        示例:

.box {
  width: 100px;
  height: 100px;
  background-color: orange;
  transition: opacity 2s ease-in 1s;
}
.box:hover {
  opacity: 0;
}

        效果:

  • 当鼠标悬停在 ‘.box‘ 元素上时,元素的透明度在 2 秒内逐渐变为 0,并且过渡效果会延迟 1 秒开始。

组合使用

        ‘transition‘ 属性可以同时定义多个属性的过渡效果,只需用逗号分隔每个属性的过渡设置。

        示例:

.box {
  width: 100px;
  height: 100px;
  background-color: purple;
  opacity: 1;
  transition: width 0.5s ease, background-color 1s ease-in-out, opacity 0.5s ease-in 0.5s;
}
.box:hover {
  width: 200px;
  background-color: pink;
  opacity: 0.5;
}

        效果:

  • 当鼠标悬停在 ‘.box‘ 元素上时,宽度在 0.5 秒内平滑增加到 200 像素,背景颜色在 1 秒钟内逐渐变为粉色,透明度在 0.5 秒内变化,并延迟 0.5 秒开始。

总结

        CSS 的过渡效果提供了一种简洁而强大的方式,使页面元素的变化看起来更为自然。通过设置 ‘transition‘ 属性的 ‘property‘、‘duration‘、‘timing-function‘ 和 ‘delay‘,你可以精确控制过渡效果的细节,使用户界面更加动感和富有表现力。掌握这些基本知识,将帮助你在设计网页时实现更丰富的视觉效果和用户交互体验。

标签:box,效果,ease,transition,进阶篇,过渡,3.1,属性
From: https://blog.csdn.net/JeremyTC/article/details/141352989

相关文章

  • 目录PyCharm Community Edition、python3.11、pythonProject之间的关系
    PyCharmCommunityEdition类型:PyCharmCommunityEdition是由JetBrains公司提供的免费、开源的集成开发环境(IDE)。用途:它专门为Python开发设计,提供了代码编辑、运行、调试、测试等功能。特点:包括智能代码补全、代码分析、图形化界面设计、版本控制集成等高级功能。Pyt......
  • 进阶篇:6)量产准备
    本章目的:了解哪些流程是为了量产做准备的。 1.量产的准备很多了流程的节点就是为了量产做准备的,但单独看样品却是没什么作用。就比如开模的尺寸检测,就应该包括FAI和CPK。如图:FAI是为了证明:这是一个正确的零件/产品。CPK是为了证明:后续大量生产,也可以保证质量稳定。只有......
  • Python 3.11 从入门到实战1(环境准备)
            本篇文章是python3.11的学习开篇,我们的目标是:通过这一套资料学习下来,获得python基础学习与实例、实践相结合,使我们完全掌握python。并做到独立完成项目开发的能力。    今天的谈论的比较简单,也是后续学习的基础。python安装和工具pycharm的安装。pyth......
  • CSS的过渡和2D效果,滤镜效果
    浏览器私有属性前缀CSS3的浏览器私有属性前缀是一个浏览器生产商经常使用的一种方式。它暗示该CSS属性或规则尚未成为W3C标准的一部分。浏览器私有属性前缀是为了解决浏览器的兼容问题,当一个属性成为标准,并且被Firefox、Chrome等浏览器的最新版普遍兼容的时候就不再使用了常......
  • 海螺影视主题模板M3.1全解密版本 多功能苹果CMSv10自适应主题
    海螺影视主题模板M3.1全解密版本 多功能苹果CMSv10自适应主题海螺影视主题模板M3.1全解密版本多功能苹果CMSv10自适应主题源码介绍海螺影视主题模板M3.1是一款专为苹果CMSv10设计的自适应主题模板。该模板旨在提供一个美观、易用且功能丰富的界面,以满足影视网站的需求。模......
  • 在自定以CMC中实现下蹲控制以及摄像机的平滑过渡
    在前一节实现了自定义CMC中的基础框架,由于下蹲本来就是设定好的一个MoveMode,所以我们不需要在UpdateMove中实现控制逻辑,只需要开放一个接口给外部调用就可以了下蹲UFUNCTION(BlueprintCallable)voidCrouchPressed();voidUXCharacterMovementComponent::CrouchPressed(){ ......
  • Python3.11二进制AI项目程序打包为苹果Mac App(DMG)-应用程序pyinstaller制作流程(App
    众所周知,苹果MacOs系统虽然贵为Unix内核系统,但由于系统不支持N卡,所以如果想在本地跑AI项目,还需要对相关的AI模块进行定制化操作,本次我们演示一下如何将基于Python3.11的AI项目程序打包为MacOS可以直接运行的DMG安装包,可以苹果系统中一键运行AI项目。MacOs本地部署AI项目首先确......
  • MacBook Air M1 使用 miniconda 安装python3.11.7 和 tensorflow2.16.1详细
    1m1mac安装xcode命令工具在Terminal终端执行以下代码:xcode-select--install2下载支持m1芯片arm64的miniconda在miniconda官网,找到下图中保护AppleM1的bash安装包,Miniconda—Anacondadocumentation3安装miniconda在Terminal执行下列代码:1)cd"miniconda下......
  • 不会大模型不要紧!只需5分钟!你也可以微调大模型!如何快速微调Llama3.1-8B
    AI浪潮席卷全球并发展至今已有近2年的时间了,大模型技术作为AI发展的底座和基石,更是作为AI从业者必须掌握的技能。但是作为非技术人员,相信大家也有一颗想要训练或微调一个大模型的心,但是苦于技术门槛太高,无从下手。今天教大家一个非常快速的方法,5分钟就可以让你快速上手去微......
  • 基于 Python 3.12.4 和 PySide 6 的 假用户操作系统【0-0】虚拟终端框架
    基本目标实现工作目录的切换;实现非退出命令下的无限循环;到目前为止还不能实现的功能动态导入py文件中的模块缺少组件定义虚拟进程类command.pyfromctypesimportwindllfromPySide6.QtWidgetsimportQWidgetfromsysimportexitassys_exitfromosimportpath......