css3氣泡動態上升效果
分享一段程式碼例項,它實現了氣泡上升效果。
雖然上升的東西不像是氣泡,但是動作已經非常相像了,只要稍微修改一下即可。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> .nav li { width: 130px; height: 150px; list-style:none; position: relative; } .nav li a { height: 150px; display: block; } li a i { position: absolute; bottom: 26px; left: 20px; width: 5px; height: 5px; opacity: 0; background: #000; border-radius: 2px; box-shadow: 0 0 2px #ff6a82; display: block; } .nav li a.hover .i-1 { animation: lightAni1 3s linear infinite; } .nav li a.hover .i-2 { animation: lightAni2 3s 1s linear infinite; } .nav li a.hover .i-3 { animation: lightAni1 3s 2s linear infinite; } .nav li a.hover .i-4 { animation: lightAni1 3s 2.2s linear infinite; } .nav li a.hover .i-5 { animation: lightAni3 3s 1.5s linear infinite; } .nav li a.hover .i-6 { animation: lightAni2 3s .5s linear infinite; } .nav li a.hover .i-7 { animation: lightAni1 3s .8s linear infinite; } @keyframes lightAni1 { 0% { opacity: 0.5; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-50px); } 100% { opacity: 0; transform: translateY(-100px); } } @keyframes lightAni2 { 0% { opacity: 0.5; transform: translate(0,0); } 50% { opacity: 1; transform: translate(-10px,-50px); } 100% { opacity: 0; transform: translate(-20px,-100px); } } @keyframes lightAni3 { 0% { opacity: 0.5; transform: translate(0,0); } 50% { opacity: 1; transform: translate(10px,-50px); } 100% { opacity: 0; transform: translate(20px,-100px); } } </style> </head> <body> <ul class="nav"> <li class="nav-2"> <a href="#" class="hover"> <i class="i-1"></i> <i class="i-2"></i> <i class="i-3"></i> <i class="i-4"></i> <i class="i-5"></i> <i class="i-6"></i> <i class="i-7"></i> </a> </li> </ul> </body> </html>
程式碼基本實現了預期效果,下面介紹一下它的實現過程。
一.程式碼註釋:
[CSS] 純文字檢視 複製程式碼.nav li { width: 130px; height: 150px; list-style:none; position: relative; }
設定li元素的寬度為130px,高度為150px。
list-style:none去掉li元素列表前面預設的樣式圖示,比如黑點。
最後將其設定為相對定位,作用會在後面介紹。
[CSS] 純文字檢視 複製程式碼.nav li a { height: 150px; display: block; }
設定連結a元素的高度為150px,由於a被轉換為塊級元素,所以它的寬度能夠填滿父元素150px。
[CSS] 純文字檢視 複製程式碼li a i { position: absolute; bottom: 26px; left: 20px; width: 5px; height: 5px; opacity: 0; background: #000; border-radius: 2px; box-shadow: 0 0 2px #ff6a82; display: block; }
這就是我們所看到的上浮的元素。
採用絕對定位,它的定位參考物件是li元素(定位方式為相對定位)。
利用border-radius將其設定為圓角,然後利用box-shadow設定陰影模糊效果。
[CSS] 純文字檢視 複製程式碼.nav li a.hover .i-1 { animation: lightAni1 3s linear infinite; }
為第一個i元素設定動畫效果,其他i元素也是同樣的道理。
二.相關閱讀:
(1).相對定位參閱CSS position:relative 相對定位一章節。
(2).絕對定位參閱CSS position:absolute 絕對定位一章節。
(3).border-radius參閱CSS3 border-radius一章節。
(4).box-shadow參閱CSS3 box-shadow一章節。
(5).animation參閱CSS3 animation一章節。
(6).@keyframes參閱CSS3 @keyframes一章節。
(7).transform參閱CSS3 transform一章節。
相關文章
- CSS3動態月食效果詳解CSSS3
- CSS3動態餅狀圖效果CSSS3
- CSS3邊框動態環繞效果CSSS3
- 直播平臺搭建,自定義氣泡效果(BubbleView)View
- js氣泡排序動畫JS排序動畫
- CSS3文字動態填充背景效果CSSS3
- CSS3聊天氣泡框以及inherit、currentColor關鍵字CSSS3
- 線上直播原始碼,自定義氣泡效果(BubbleView)原始碼View
- CSS3撥打電話動態圖示效果CSSS3
- 漲姿勢了,有意思的氣泡 Loading 效果
- 使用純 CSS 實現超酷炫的粘性氣泡效果CSS
- 雕蟲曉技(十) Android超簡單氣泡效果Android
- 氣泡排序排序
- reactnative實現qq聊天訊息氣泡拖拽消失效果React
- 9. 氣泡排序,以及如何優化氣泡排序,氣泡排序屬於插入排序排序優化
- CSS3小球靜態環繞效果CSSS3
- Python 氣泡排序Python排序
- 容器氣泡排序排序
- 氣泡排序法排序
- 氣泡排序(Java)排序Java
- 氣泡排序1排序
- 氣泡排序-fusha排序
- 氣泡排序演示排序
- Shell氣泡排序排序
- d氣泡排序排序
- 排序——氣泡排序排序
- js氣泡排序JS排序
- JavaScript氣泡排序JavaScript排序
- css3小球上下移動效果CSSS3
- CSS3動畫按鈕效果CSSS3動畫
- CSS3 div水平運動效果CSSS3
- 函式氣泡排序函式排序
- 19_氣泡排序排序
- 氣泡排序筆記排序筆記
- 氣泡排序(python版)排序Python
- 淺析氣泡排序排序
- 陣列氣泡排序陣列排序
- Python_氣泡排序Python排序