之前在網上看到一些用純css3實現的酷炫效果,以為實現起來比較困難,於是想看看具體是怎麼實現的。
一、笑臉貓動畫
實現效果如下:
這個實現起來確實比較麻煩,很多地方需要花時間,有耐心地調整。
1.先看下頁面結構:
2.再看css部分
1.先看臉部face:
.face {
/*top: 100px; */left:50%;top:50%;position:absolute;width:400px;height:340px;margin-left:-200px;margin-top:-170px;border-radius:50% 50% 35% 35%;border:2px solid #000;z-index:10;background:#f3f3f3;overflow:hidden;
主要是要畫出橢圓形,width和height設定的值要注意,臉比較寬。然後關鍵就是border-radius的設定了:
border-radius全部設定為0時,就是乙個長方形,然後把它的四個角對應的設定下,就可以出現我們想要的效果。
2.接下來看耳朵的設定:
耳朵看起來其實也是乙個橢圓,通過設定border-radius,調出想要的效果。不過需要被遮住一部分,所以在html結構中,我把它放在face的外面了。
view code
這是豎起來的耳朵,通過 transform:rotate(15deg); 旋轉一點,耳朵就塌下來了。
3.然後是頭髮:
有了上述的實踐,知道頭髮也好弄了,還是橢圓
view code
另外乙個顏色,只需要在裡面加乙個子div,然後給不同的顏色就ok。
4.再來看眼睛:
眼睛比較複雜,拆分四個小部件,眼眶,眼珠,下眼線,眼紅(笑起來露出的表情),對應的效果設定為:
view code
注意左右兩隻眼睛效果大致是一樣,只是位置不一樣,這是我們只需要設定右邊的 right: 0px; 就可以(因為設定了position: absolute)
5.鼻子:
/*鼻子 */.nose {width:30px;height:10px;
/*background: #000; */border-bottom:8px solid #000;border-radius:0% 0% 50% 50%;top:250px;left:50%;margin-left:-15px;position:absolute;
這裡特別注意,height:10px; border-bottom: 8px solid #000;的設定,我本來想只用height:10px;然後設定border-radius,可是效果卻長這樣:
沒有半圓的效果,是高度設定不夠?變成18px,這貨長這樣
,也不對,所以就加上border-bottom
6.嘴巴:
view code
算是比較簡單,設定border-bottom,border-left或border-right就可以。嘴巴上翹的效果是改變其border-radius值
7.兩邊的鬍子:
view code
雖然比較麻煩,不過也算是簡單的圖形,只需要把height,width,border-top,border-radius,transform: rotate這些值設定恰當就好。
8.滑鼠hover樣式:
view code
耳朵,嘴巴,眼睛等地方需要修改transform,border-radius,width等值的屬性。
3.線上效果及原始碼
線上效果:點我呀
二:立方體旋轉
效果:html部分:
1
2
3
4
5
6
css:
view code
1.3維空間圖
電腦螢幕中心為原點,橫向為x軸,縱向為y軸,人臉的方向為z軸;
translate(x,y)、translatex(x)、translatey(y)、translatez(z)、translate3d(x,y,z):定義位置的移動距離
rotate(angle)、rotatex(a)、rotatey(a)、rotatez(a)、rotate3d(x,y,z,angle):定義元素的旋轉角度。
2.perspective屬性
perspective 屬性定義 3d 元素距檢視的距離,以畫素計。該屬性允許您改變 3d 元素檢視 3d 元素的檢視。
當為元素定義 perspective 屬性時,其子元素會獲得透視效果,而不是元素本身。
注釋:perspective 屬性只影響 3d 轉換元素。
3.transform-style屬性
transform-style: flat|preserve-3d; 預設值為flat,表示子元素以2d平面呈現;perserve-3d表示子元素以3d平面呈現
4.transform-origin屬性
transform-origin 屬性允許您改變被轉換元素的位置(可以理解為元素以哪個位置為旋轉原點)。
語法:transform-origin: x-axis y-axis z-axis;
屬性演示效果:戳我
預設值為: 50% 50% 0
5.線上效果及原始碼
線上效果:點我呀
源**:戳我看看
三、酷炫button
效果:(渣渣畫素(/ □ \))
看下twitter 做的 立體按鈕效果,類似翻蓋的動作是怎麼做的。
html部分:
hello, welcome to the new world!
css部分:
view code
主要是一些效果的疊加,然後注意 transform-style: preserve-3d;設定3d效果。
線上效果及原始碼
線上效果:點我呀
源**:戳我看看
四:3d**牆
效果:html部分:
我是中心12
3456
78
9css部分:
view code
1.倒影的實現
基本語法:
img {
-webkit-box-reflect: below;
img {
-webkit-box-reflect: below 3px;
給倒影增加消影效果:
-webkit-box-reflect:below 3px -webkit-linear-gradient(top,rgba(0,0,0,0) 40%,rgba(0,0,0,0.5));
2.線上效果及原始碼
線上效果:點我呀
源**:戳我看看
純css實現炫酷側邊欄
有疑問的小夥伴可以深入 學習?網頁展示 pc端更佳 html結構 lang en dir ltr charset utf 8 側邊欄title rel stylesheet type text css href css siderbar.css href css font awesome.min.c...
前端酷炫效果參考 推薦六款炫酷的HTML5效果外掛程式
1.html5 3d陰影翻轉動畫 效果很酷 分享一款很酷的html5 3d動畫特效,這款3d特效可以為你的增加陰影的效果,而且可以讓在滑鼠滑過的時候出現3d翻轉的動畫效果。這和html5 3d動畫html5 3d正方體旋轉動畫有著類似的效果,大家也可以看看。p w picpath.png 2.htm...
學習 CSS 之用 CSS 3D 實現炫酷效果
把大象關進冰箱需要幾步?三步,把冰箱門開啟,把大象關進去,把冰箱門關上。用 css 實現 3d 效果需幾步?三步,設定透視效果 perspective,改變元素載體為 preserve 3d,對元素進行 3d 轉換操作。perspective 屬性決定了我們從什麼地方檢視元素,定義時的 perspe...