1. 程式人生 > >關於CSS3呼吸效果的探究

關於CSS3呼吸效果的探究

一、效果預覽

這裡寫圖片描述
如圖所示,滑鼠移動上去,圖片會向右上角抖動,滑鼠離開,圖片恢復原狀。

二、方案選擇

剛剛接觸到這個效果的時候,我還以為是採用放大效果來實現的,即scale:1.2諸如此類的程式碼,結果不然。

這個效果的實現,如果採用jquery的方案,直接寫個動畫即可。

//先設定好position:relative;
$('img:hover').animate({'left':'10px','bottom':'10px'});

假如追根溯源,還是使用的CSS3的動畫。
首先自定義一個動畫:

@keyframes testAnimate{

from{position: relative
;bottom: 0;left: 0;}
to{position: relative;bottom: 20px;left: 30px;border: 5px solid #999;} }

這個動畫定義了一個名為:testAnimate的位置過渡動畫,從相對位置(0,0),變到相對位置 (30px,20px),且終態時,增加了一個5px的邊框。

接著,我們在測試的圖片用例上來引入動畫:

img:hover{
animation:testAnimate 1s;
-webkit-animation:testAnimate  1s;
-moz-animation:testAnimate  1s;
-o-animation
:testAnimate 1s; -ms-animation:testAnimate 1s; } //整個動畫1s完成,並設定了瀏覽器相容

效果如下:
這裡寫圖片描述
可能在網頁上顯示的不盡人意,這裡面存在一個問題,當滑鼠移入圖片,並且懸停不動時,圖片會自動回覆到動畫之前的狀態,這就感覺像拖動一個東西,拖到一半,東西自己滑走了,好在CSS3裡面有了現成的解決方案:

img:hover{
animation-fill-mode: forwards;
-ms-animation-fill-mode:forwards;//相容IE  xxxxxx  
-webkit-animation-fill-mode:forwards;//相容Chrome xxxxxx
-moz-animation-fill-mode:forwards;//相容FireFox xxxxx -o-animation-fill-mode:forwards;//相容opear xxxxxx }

這樣,當滑鼠移入,只要不鬆開,圖片就會停留在動畫的100%狀態,而不會回滾到動畫為0%的狀態;當滑鼠移出圖片,動畫結束,方回到初始狀態。

三、分析歸納

眾所周知,jquery封裝的js庫,其中的動畫部分來源於CSS3,作為原生的CSS,其功能不可小覷,而且相當於jquery的實現方法,這種方法定義起來更加的個性化,而且不用引入額外的js庫,很省頻寬。但缺點就是相容性差,比起第三方封裝的Animation.js庫,相容性不行

預覽效果參見:news.lanzhou.cn/system/2017/12/29/011485365.shtml 其中的【微說圖解】欄目。

相關推薦

關於CSS3呼吸效果探究

一、效果預覽 如圖所示,滑鼠移動上去,圖片會向右上角抖動,滑鼠離開,圖片恢復原狀。 二、方案選擇 剛剛接觸到這個效果的時候,我還以為是採用放大效果來實現的,即scale:1.2諸如此類的程式碼,結果不然。 這個效果的實現,如果採用jquery的方案,

css3 hover效果

overflow spl gin none -1 pan style pre 效果 html代碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8

css3動畫效果:1基礎

prop 包含 rop lin tex color 變換 百分比 css屬性 css動畫分兩種:過渡效果transition 、關鍵幀動畫keyframes 一、過渡效果transition 需觸發一個事件(如hover、click)時,才改變其css屬性。 過渡效果通常在

css3動畫效果

rds 數值 耗時 無限 mil 動畫效果 for 函數 rect 添加動畫效果: 1 animation-name:指定動畫名稱 2.animation-duration:設置動畫的總耗時 3.animation-duration:設置的動畫的播放次數,默認為1次,可以指

css3正方體效果

class mar for pre spa ott clas lock page <!doctype html> <html> <head> <meta charset="utf-8"> <title&

css3動畫效果:3 3D動畫

enter blog kit tag tez key container height gin 立方體旋轉動畫效果 css 1 #container{ 2 width: 400px; 3 height:

CSS3動畫效果示例

fin infinite -o http color 名稱 font pan padding [email protected]/* */,規定了動畫的名稱、時長。 1、示例代碼 <!DOCTYPE html><html lang="en"&g

CSS3 動畫效果

時間軸 css3 動畫 web 保持 pos 行為 animation ack from 相比較3D變形,CSS3動畫的支持度更高。CSS3動畫由兩部分組成:首先是關鍵幀聲明,然後是在動畫屬性中使用該關鍵幀聲明。 可以設置多個關鍵幀選擇器(用百分比定義)。可以把它們想象成時

CSS3——動畫效果

none top 一段時間 OS LV spa tran 知識 簡單 css3動畫——transition(過渡) 用於規定元素不同狀態間變化所需時間,屬性值為一個時間值,單位(s/ms); 初次接觸此屬性覺得有些麻煩,通過一段時間的學習,還是簡單做下過度知識的整理。 相

css3----毛玻璃效果

alt 內容 上下 ORC Language 學習 tca 圖書 如果 附上要實現的效果圖,如果我截圖截的不明顯的話,我可以解說下: 中間是獲取到一本書的封面,然後背景按獲取到的封面平鋪,並且模糊,上面還有一層透明度0.65的蒙層 聽著是不是很簡單,實現起來還是有很多問題的

css3-loading效果

loading效果: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>純CSS3 Loading載入動畫DEMO演示</title> <link re

CSS3動畫效果

nimation CSS3中真正的動畫屬性是animation,而前面的transform和transition都只是對DOM元素的變形或者是狀態的過渡。實際上,CSS3所支援的動畫效果只是填充動畫,也就是說先設定整個動畫生命週期中的幾個關鍵狀態(key  frame,關鍵幀),然後動

CSS3動畫效果

CSS3添加了幾個動畫效果的屬性,通過設定這些屬性,可以做出一些簡單的動畫效果而不需要再去借助JavaScript。CSS3動畫的屬性主要分為三類:transform、transition以及animation。 transform rotate 設定元素順時針旋轉的角度,用法是

CSS3文字效果

文字陰影text-shadow:指定了水平陰影,垂直陰影,模糊的距離,以及陰影的顏色: 例:text-shadow: 5px 5px 5px #FF0000; 盒子陰影box-shadow 陰影的一個使用特例是卡片效果:文字卡片、圖片卡片 顯示溢位內容:text-overflo

HTML5+CSS3 loading 效果收集

用gif圖片來做loading的時代已經過去了,它顯得太low了,而用HTML5/CSS3以及SVG和canvas來做載入動畫顯得既炫酷又逼格十足。這已經成為一種趨勢。 這裡收集了幾十個用html5和css3實現的loading效果,以供學習參考。 01. CSS Rainbow Loa

CSS3 陰影效果

文字陰影 text-shadow 文字加陰影 X軸偏移量 Y軸偏移量 陰影模糊半徑 陰影擴充套件半徑 陰影顏色;  text-shadow: 5px 5px 5px #FF0000; 盒子陰影 box

css3波紋效果

<!DOCTYPE html> <html><head><meta charset="UTF-8"><title>波紋效果</title><style type="text/css">*{m

CSS文字樣式和CSS3文字效果以及背景

CSS文字樣式 text-indent屬性 text-indent屬性可以為特定選項的文字進行首行縮排,取值可以是長度值或百分比,它的屬性值通常使用em作為單位,text-indent: 2em

CSS3(四)—— CSS3文字效果

RGBA 顏色值是 RGB 顏色值的擴充套件,帶有一個 alpha 通道 - 它規定了物件的不透明度。 RGBA 顏色值是這樣規定的:rgba(red, green, blue, alpha)。alpha 引數是介於 0.0(完全透明)與 1.0(完全不透明)的數字。 /* 基本語法 */ em {

CSS3文字效果推薦

前端開發whqet,csdn,王海慶,whqet,前端開發專家之前曾經研究過幾個純css實現的文字效果,《CSS文字條紋陰影動畫》和《響應式奶油立體字效果》等,今天我們來研究幾款文字效果,主要利用text-shadow、webkit核心的幾個獨有特性實現效果。線上研究單擊這裡