CSS3 方塊不間斷彈跳效果
分享一段程式碼例項,它利用CSS3實現了方塊不斷的彈跳效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> html,body { margin: 0; background: #bbd149; height: 100%; display: flex; justify-content: center; align-items: center; } .box { height: 50px; width: 50px; position: relative; } .box::before { content: ''; height: 8px; width: 50px; background: #000; opacity: .2; border-radius: 50%; position: absolute; top: 67px; left: 0; animation: shadow .5s linear infinite; } .box::after { border-radius: 5px; background: #fff; animation: rotate .5s linear infinite; content: ''; position: absolute; left: 0; top: 0; width: 50px; height: 50px; } @keyframes shadow { 0%, 100% { transform: scaleX(1); } 50% { transform: scaleX(1.2); } } @keyframes rotate { 0% { transform: translateY(0) rotate(0deg); } 25% { transform: translateY(10px) rotate(22.5deg); } 50% { transform: translateY(20px) scale(1.1, 0.9) rotate(45deg); border-bottom-right-radius: 50px; } 75% { transform: translateY(10px) rotate(67.5deg); } 100% { transform: translateY(0) rotate(90deg); } } </style> </head> <body> <div class="box"></div> </body> </html>
程式碼實現了預期效果,下面介紹一下它的實現過程。
一.程式碼註釋:
[CSS] 純文字檢視 複製程式碼html,body { margin: 0; background: #bbd149; height: 100%; display: flex; justify-content: center; align-items: center; }
採用彈性佈局,這樣的話,並且設定它內部專案水平垂直居中。
[CSS] 純文字檢視 複製程式碼.box { height: 50px; width: 50px; position: relative; }
底部陰影和頂部跳動元素的容器。
並且採用相對定位,那麼它的定位子元素位移就以它為參考物件。
[CSS] 純文字檢視 複製程式碼.box::before { content: ''; height: 8px; width: 50px; background: #000; opacity: .2; border-radius: 50%; position: absolute; top: 67px; left: 0; animation: shadow .5s linear infinite; }
通過偽元素選擇器新增底部陰影。
高度和寬度分別8px和50px,尺寸符合視覺效果。
然後通過動畫設定其尺寸不斷的增加和縮小,實現了頂部元素不斷變化投影跟隨變化的視覺效果。
[CSS] 純文字檢視 複製程式碼.box::after { border-radius: 5px; background: #fff; animation: rotate .5s linear infinite; content: ''; position: absolute; left: 0; top: 0; width: 50px; height: 50px; }
通過偽元素選擇器新增上面跳動的元素。
與底部陰影一樣的道理,只不過動畫執行過程有所區別而已。
[CSS] 純文字檢視 複製程式碼@keyframes shadow { 0%, 100% { transform: scaleX(1); } 50% { transform: scaleX(1.2); } }
設定元素由原來寬度放倒原來的1.2被寬度,再還原到原來寬度。
[CSS] 純文字檢視 複製程式碼50% { transform: translateY(20px) scale(1.1, 0.9) rotate(45deg); border-bottom-right-radius: 50px; }
模擬元素觸碰的時候,由於壓力導致寬度變大,高度變小,右下部為圓角效果。
二.相關閱讀:
(1).display: flex參閱display:flex彈性佈局一章節。
(2).相對定位參閱CSS position:relative 相對定位一章節。
(3).絕對定位參閱CSS position:absolute 絕對定位一章節。
(4).border-radius參閱CSS3 border-radius一章節。
(5).animation參閱CSS3 animation一章節。
(6).::after參閱CSS E::after 偽物件選擇器一章節。
(7).@keyframes參閱CSS3 @keyframes一章節。
(8).transform參閱CSS3 transform一章節。
相關文章
- CSS3 3D方塊效果程式碼CSSS33D
- CSS3文字不斷流光滑過效果CSSS3
- CSS3 checkbox核取方塊和radio單選框美化效果CSSS3
- CSS3跳動的紅心效果CSSS3
- css3美化checkbox核取方塊CSSS3
- CSS3立方體3D旋轉效果CSSS33D
- Aluma Insights:1/6的成年SVOD使用者在應用之間不斷跳轉
- CSS3象棋效果CSSS3
- CSS3 box-shadow 不佔據空間CSSS3
- JavaScript 判斷checkbox核取方塊是否選中JavaScript
- 如何在Response.Redirect前彈出alert對話方塊
- Tkinter (45) 彈出的對話方塊 Pup-up dialogs
- CSS3 box-shadow不會佔據空間CSSS3
- CSS3 矩形切角效果CSSS3
- CSS3翻轉效果CSSS3
- CSS3呼吸燈效果CSSS3
- CSS3空心圓效果CSSS3
- CSS3 checkbox美化效果CSSS3
- CSS3哭臉效果CSSS3
- CSS3 文字效果CSSS3
- CSS3皮球落地彈起CSSS3
- CSS3箭靶效果程式碼CSSS3
- CSS3花屏文字效果CSSS3
- CSS3白鶴展翅效果CSSS3
- CSS3 loadding效果程式碼CSSS3
- CSS3 loadding載入效果CSSS3
- ASP.NET_頁面中彈出對話方塊幫助類ASP.NET
- 直播視訊app原始碼,底部彈出的列表對話方塊APP原始碼
- 基於NuxtJS/Vue自定義彈層元件|Vue長按彈窗|Vue全域性對話方塊UXJSVue元件
- 前端實現彈幕效果的方法總結(包含css3和canvas的實現方式)前端CSSS3Canvas
- 奇妙的canvas:彈跳小球Canvas
- CSS3動畫效果下拉導航選單效果CSSS3動畫
- JavaScript 頁面跳轉效果JavaScript
- CSS3多面體旋轉效果CSSS3
- CSS3星系旋轉效果代CSSS3
- CSS3多層邊框效果CSSS3
- CSS3郵票鋸齒效果CSSS3
- CSS3圓環效果程式碼CSSS3