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中的特殊屬性,不需要值即可激活。 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)性能優化將通過響應式圖片加載和延遲加載技術提升用戶體驗。

HTML、CSS和JavaScript在網頁開發中的角色分別是:HTML負責內容結構,CSS負責樣式,JavaScript負責動態行為。 1.HTML通過標籤定義網頁結構和內容,確保語義化。 2.CSS通過選擇器和屬性控製網頁樣式,使其美觀易讀。 3.JavaScript通過腳本控製網頁行為,實現動態和交互功能。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器