前端酷炫效果參考 純CSS3實現的一些酷炫效果

2021-10-13 02:26:57 字數 3304 閱讀 9884

之前在網上看到一些用純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...