CSS 过渡(transition), 是 CSS3 规范的一部分, 用来控制 CSS 属性的变化速率。 可以让属性的变化过程持续一段时间,而不是立即生效。比如,将元素的颜色从白色改为黑色,通常这个改变是立即生效的,使用 transition 后,将按一个曲线速率变化。这个过程可以自定义。
Transition是一个简写属性,四个值(单独使用均加transition-前缀)的顺序:
property
duration
timing-function
delay
过渡就是在一定时间内完成某属性值的改变,所以,transition-duration一定要设置,因为它默认值为0;
Transition-Property:
要过渡的属性值,只有被指定的属性才会在过度时产生动画效果,可以填all,all为所有可动画属性;
#demo { width:20px; height:20px; background-color:#0080FF; transition:width 1.5s;}#demo:hover { width:30px; height:30px;}
只会对width的改变产生动画效果↓
可以选择多个属性的值;
#demo { width:20px; height:20px; background-color:#0080FF; transition-property:width , height;/*写多个值用逗号分割*/ transition-duration:2s;/*过渡持续时间可以只写一个,也可分别指定,同样用逗号分割*/}
使用简写时指定多个属性:
#demo { width:20px; height:20px; background-color:#0080FF; transition:width 2s, height 4s;/*两条定义之间用逗号分割,后两个值为选填.*/}
使用子属性时需要注意几点:
#demo { transition-property:width , height , top; transition-duration:2s , 3s;/*定义时间个数少于属性个数,会再次循环数组*/}/*相当于*/#demo { transition-property:width , height , top; transition-duration:2s , 3s , 2s;}
#demo { transition-property:width , height; transition-duration:2s , 3s , 2s;/*定义时间个数多于属性个数,多出的值会被截取*/}/*相当于*/#demo { transition-property:width , height; transition-duration:2s , 3s;}
Transition-duration:
设定过渡持续的时间,可以为秒或毫秒,本人理解为过渡就是通过设置的持续时间结合缓动函数计算相应的属性值改变的曲线;
比如4秒内宽度从100px过渡到200px,简单的分为4帧(假设) 125px-150px-175px-200px;原理应该与animation的from to 类似;
过渡持续2s
过渡持续4s
过渡持续8s
Transition-timing-function:
设定过渡动画的曲线,这里是W3School的示例,里边用到了是几个常用的,浏览器里内置的几种动画曲线,还可以通过cubic-bezier(n,n,n,n)来进行定制,n为0-1之间的值;
挺全的一个缓动函数集合,默认不设置时,为ease,慢速开始,然后变快再慢速结束;
Transition-delay:
设定动画开始前的等待时间(默认为0,无延迟);
鼠标悬浮2s后拉伸
总结:
使用Transition能使页面看上去更富有动感,下面是一个按钮的简单例子;
Hover me Hover me
.demo-button { border:0px; background-color:#2aaacb; position:relative; padding:0.7em 1.8em; font-size:1.1em; border-radius:3px; margin-right:2em; color:#fff; -webkit-transform: translateZ(0); transform: translateZ(0);}.demo-button:before { content: ""; z-index:-1; position: absolute; width: 100%; height: 100%; background-color: #3BD1F8; top: 0; left: 0; -webkit-transition-property: transform; transition-property: transform; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out;}#transition-demo1:before { -webkit-transform: scaleY(0); transform: scaleY(0);}#transition-demo1:hover:before { -webkit-transform: scaleY(1); transform: scaleY(1);}#transition-demo2:before { -webkit-transform: scaleX(0); transform: scaleX(0);}#transition-demo2:hover:before { -webkit-transform: scaleX(1); transform: scaleX(1);}
结合transform做的按钮,主要是用到了:before元素,实现这种效果默认时缩小为不可见,hover时还原元素大小,缩放X,Y轴的改变实现了两个不同的button;
本文如有不足或错误,还请指出.共同学习;
部分参考资料:
MDNCSS过渡
MDN使用CSS过渡
W3School_CSS过渡
缓动函数集合

要构建一个功能强大且用户体验良好的网站,仅靠HTML是不够的,还需要以下技术:JavaScript赋予网页动态和交互性,通过操作DOM实现实时变化。CSS负责网页的样式和布局,提升美观度和用户体验。现代框架和库如React、Vue.js和Angular,提高开发效率和代码组织结构。

布尔属性是HTML中的特殊属性,不需要值即可激活。1.布尔属性通过存在与否控制元素行为,如disabled禁用输入框。2.它们的工作原理是浏览器解析时根据属性的存在改变元素行为。3.基本用法是直接添加属性,高级用法可通过JavaScript动态控制。4.常见错误是误以为需要设置值,正确写法应简洁。5.最佳实践是保持代码简洁,合理使用布尔属性以优化网页性能和用户体验。

HTML代码可以通过在线验证器、集成工具和自动化流程来确保其清洁度。1)使用W3CMarkupValidationService在线验证HTML代码。2)在VisualStudioCode中安装并配置HTMLHint扩展进行实时验证。3)利用HTMLTidy在构建流程中自动验证和清理HTML文件。

HTML、CSS和JavaScript是构建现代网页的核心技术:1.HTML定义网页结构,2.CSS负责网页外观,3.JavaScript提供网页动态和交互性,它们共同作用,打造出用户体验良好的网站。

HTML的功能是定义网页的结构和内容,其目的在于提供一种标准化的方式来展示信息。1)HTML通过标签和属性组织网页的各个部分,如标题和段落。2)它支持内容与表现分离,提升维护效率。3)HTML具有可扩展性,允许自定义标签增强SEO。

HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3汉化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript开发工具