一、背景由來 cookie原來是用來網路請求攜帶用戶信息的,只不過在HTML5出現之前,前端沒有本地存儲的方法,只能使用cookie代替 localstorge、sessionStorge是html5提供的API,極大的方便了前端在客戶端存儲數據 二、那麼這三者有什麼區別呢? 1.存儲時間 cook ...
一,空間轉換3D
3D坐標系:3D坐標系比2D多了一個Z軸
一定要記住3個坐標取值的正反:
X軸往右越大,是正值,否則反之
Y軸往下越大,是正值,否則反之
Z軸(指向我們)越大,是正值,否則反之
3D位移:
有完整寫法:
taansform:translate3d(x,y,z);
只不過在很多情況下,我們喜歡分開寫:
transform:translateX(100px);
transform:translateY(100px);
transform:translateZ(100px);
透視
透視的作用:空間轉換時,為元素添加近大遠小,近實遠虛的視覺效果
語法:
perspective:800px
透視註意事項:
1.取值範圍經常在800PX~1200px之間。
2.一定給父級添加
3.透視距離也稱為視距,所謂的視距就是人的眼睛到屏幕的距離。
3D旋轉
有了透視的加持,我們3D旋轉效果會比較明顯。
rotateX
類似單杠旋轉
註意:預設的旋轉中心在盒子的中心位置。
body{ /*父級添加透視*/ perspective:400px; } img{ transition:all 1s; } img:hover{ tranform:rotateX(360deg); }
rotateY
類似鋼管舞
body{ perspective:400px; } img { transition: all 1s; } img:hover { transform: rotateY(360deg); }
一定要搞清楚X軸和Y軸如何旋轉的,旋轉的度數是正值還是負值。
規則:
1.大拇指指向X軸正向方(右),則四指指向的方向是旋轉的方向
2.大拇指指向Y軸正向方(下),則四指指向的方向是旋轉的方向
立體呈現
讓子盒子在父盒子內有空間的展示,此時可以給父親添加
transform-style;presrrve-3d;
二、動畫(重點)
動畫最大的特點可以不用滑鼠觸發,自動的,反覆的執行某些動畫。
動畫使用分為定義和調用:
1.定義:
/*1.定義的動畫*/ @keyframes dance{ from { transform:scale(1) } to { transform:scale(1.5) } }
或者是
/* 1. 定義的動畫 */ @keyframes dance { 0% { transform: scale(1) } 100% { transform: scale(1.5) } }
2.調用
img{ width:200px; /* 2. 使用動畫 animation: 動畫名稱 執行時間; infinite 迴圈*/ animation: dance .5s infinite; }
/*滑鼠經過box,則ul停止動畫*/ .box:hover ul{ animation-play-state:paused; }
/*我們想要2個動畫一起執行 animation: 動畫1,動畫2,..動畫n*/ animation: run 1s steps(12) infinite,move 5s linear forwards;