前端十五課--3D動畫、陰影,濾鏡

3D動畫、陰影,濾鏡

**3D動畫原理:**在平面內建立一個三維座標系,水平向右x正軸,垂直向下y正軸,由平面指向用戶的軸稱爲z軸;

3D動畫必備:

1.perspective:1000px;通過給座標系添加perspective樣式即可增加z軸;

2.z軸的位置可以用perspective樣式來設置

默認位置perspective-origin:50% 50%;(元素的中心位置)

例:0% 0%則是x軸y軸的交點處;與變化原點類似;

3.物體沿z軸移動符合透視法則,物體z軸長度越小用戶在視覺上看到的物體越大;

4.要實現3D效果的元素必須擁有一個父元素,其子元素纔會獲得透視效果,實現3d視覺效果關鍵點是將實現3d效果元素的父元素進行旋轉(即繞x軸y軸旋轉);

5.當x爲正值時向上旋轉,y爲正值時向右旋轉;

元素通過水平中線和垂直中線的交點確定,在計算中線時元素的margin值也計算在內;

6.父元素中必加兩個屬性:

​ transform-style:preserve-3d;

​ perspective:1000px;

元素原點的確定

1.使用絕對定位樣式移動元素時,此時座標系的x軸和y軸以設置裏相對定位的祖先元素的中點爲原點

2.使用transform的位移樣式或是相對定位樣式移動元素時,此時座標系的x軸和y軸以元素的中心爲原點

3.默認情況下,座標系的z軸位於父元素的水平中線與垂直中線的的交界處;

3D切割輪播圖的實現:

原理:就是將四張圖片分別放在多個正方體的四個面上,在每一個正方體的相同的一個面上定位遇上一個盒子連續的圖片,這樣就能實現多個盒子的四個面排列起來後成爲連續的圖片,最後給每個盒子加上動畫效果(盒子之間要有延時),這樣就能在視覺上表現出輪播效果。

盒陰影

**原理:**通過box-shadow屬性給元素加一個陰影(初始值與元素大小相同);

​ 默認值:box-shadow:none;

複合寫法:box-shadow:10px 15px 20px 25px yellow inset/outset;

​ 第一個值是陰影的水平距離移動(默認向右移動)—xOffset

​ 第二個值是陰影的垂直距離移動(默認向下移動)–yOffset

​ 第三個值是陰影的模糊距離(作用就是增強陰影邊框的模糊感)—burlLenght

​ 第四個值可以縮放陰影的大小—spread;

​ 第五個值是陰影的顏色設置,默認情況下它的顏色是黑色—color

​ 第六個值是陰影表示模糊感的方向是向內還是向外,在不設置的情況下默認是向外(outset)—outset;

文字陰影

正常文字設置陰影:

text-shadow:none(默認值);

text-shadow:10px 10px 5px black;同盒陰影的屬性相同;

凹凸文字:

凸文字形成原理:同一文字設置兩組陰影,但兩組陰影顏色不同(右下陰影顏色爲暗色,左上顏色爲亮色)

例:text-shadow:1px 1px 3px black, -1px -1px 3px white;

凹文字形成原理:兩組陰影,(右下顏色亮色,左上顏色爲暗色)

例:text-shadow:1px 1px 3px white,-1px -1px 3px black;

濾鏡樣式:

filter:濾鏡屬性,默認值爲none;

一下是filter的樣式

blur(px):高斯模糊,值越大越模糊;

brightness(%):亮度,默認值是100%,0%會全黑,大於100%會越來越亮;

contrast(%):對比度,默認值是100%,0%會全灰。大於100%對比度越來越強

drop-shadow(h-shadow v-shadow blur spread color):圖片陰影;filter:drop-shadow(2px 5px 5p);

grayscale(%):灰度,默認值0%,100%會全灰;

hue-rotate(deg):色相旋轉,0deg默認值,沒有最大值,超過360deg,相當於繞一圈

invert(%):反轉輸入圖像,0%默認值,100%完全反轉

opacity(%):透明度,100%默認值,0%完全透明,與opacity很像,不同之處在於通過filter,一些瀏覽器會提供硬件加速;

saturate(%):飽和度,100%默認值,0%完全不飽和,超過100%,有更高的飽和度;

sepia(%):深褐色,0%默認值,100%完全深褐色;

濾鏡的使用,順序決定結果;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章