您好,登錄后才能下訂單哦!
這篇文章主要介紹“CSS3怎么實現給頭像加個光芒四射且旋轉的背景動畫效果”,在日常操作中,相信很多人在CSS3怎么實現給頭像加個光芒四射且旋轉的背景動畫效果問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”CSS3怎么實現給頭像加個光芒四射且旋轉的背景動畫效果”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
HTML代碼
HTML代碼結構很簡單,跟之前那篇文章使用的相同:
代碼如下:
<div id="raysDemoHolder">
<a href="/" id="raysLogo">WebHek</a>
<div id="rays"></div>
</div>
最外面的div作為父元素,它的position是relative,有固定的高和寬度,有兩個子元素:一個用來放logo,一個用來做光芒效果的容器。
CSS代碼
我們這里要用純CSS來實現,需要使用CSS3的動畫技術,這里用到的CSS語法是@keyframes。我們的基本實現原理是用keyframes,從rotate(0deg)旋轉到rotate(360deg):
代碼如下:
/* 用來實現動畫的keyframes; 從0度旋轉到360度 */
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
/* 實現光線輻射效果 */
#raysDemoHolder {
position: relative;
width: 490px;
height: 490px;
margin: 100px 0 0 200px;
}
#raysLogo {
width: 300px;
height: 233px;
text-indent: -3000px;
background: url(logo.png) 0 0 no-repeat;
display: block;
position: absolute;
top: 0;
left: 0;
z-index: 2;
}
#rays { /* 表現動畫效果 */
background: url(rays.png) 0 0 no-repeat;
position: absolute;
top: -100px;
left: -100px;
width: 490px;
height: 490px; </p>
<p> /* microsoft ie */
animation-name: spin;
animation-duration: 40000ms; /* 40 seconds */
animation-iteration-count: infinite;
animation-timing-function: linear;
}
#rays:hover {
/* animation-duration: 10000ms;*/
/* 10 seconds - speed it up on hover! */
/* resets the position though! sucks */
}
通過使用animation-timing-function, animation-duration, 和 animation-iteration-count,我們就能實現線性勻速、旋轉不停的動畫效果!你會發現使用純CSS制作的動畫比用js制作的動畫要順滑的多。
現在我們有了一個問題,早期的Opera瀏覽器不支持@keyframes語法。幸運的是,我們可以通過其它方法實現這個動畫:
代碼如下:
/* boooo opera */
-o-transition: rotate(3600deg); /* 可用 */
只需要簡單的一段代碼。而對于IE瀏覽器,我試圖用-ms-transform / -ms-translation在IE9里運行它,但不好用。從IE10才開始支持keyframes語法。
到此,關于“CSS3怎么實現給頭像加個光芒四射且旋轉的背景動畫效果”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。