1. 過渡(transition)
菜鳥教程:CSS3 過渡是元素從一種樣式逐漸改變為另一種的效果。
transition: CSS屬性名 持續時間 過渡效果(預設ease) 延遲時間(預設0);
transition:transition-property transition-duration transition-timing-function transition-timing-function;
| 屬性 | 描述
| transition | 簡寫屬性,用于在一個屬性中設定四個過渡屬性。
| transition-property | 規定應用過渡的 CSS 屬性的名稱。
| transition-duration | 定義過渡效果花費的時間。預設是 0。
| transition-timing-function | 規定過渡效果的時間曲線。預設是 "ease"。
// 滑鼠滑過box,延遲0.2秒 寬度從50px過渡到100px
// css
.box {
width: 50px;
height: 50px;
background: red;
transition: width 1s ease .2s;
}
// html
.box:hover {
width: 100px;
}
transition-timing-function 規定過渡效果的時間曲線。
值 屬性
linear 規定以相同速度開始至結束的過渡效果(等于 cubic-bezier(0,0,1,1))。
ease 規定慢速開始,然後變快,然後慢速結束的過渡效果(cubic-bezier(0.25,0.1,0.25,1))。
ease-in 規定以慢速開始的過渡效果(等于 cubic-bezier(0.42,0,1,1))。
ease-out 規定以慢速結束的過渡效果(等于 cubic-bezier(0,0,0.58,1))。
ease-in-out 規定以慢速開始和結束的過渡效果(等于 cubic-bezier(0.42,0,0.58,1))。
cubic-bezier(n,n,n,n) 在 cubic-bezier 函數中定義自己的值。可能的值是 0 至 1 之間的數值。
2. 動畫(animation)
animation:動畫名稱(keyframe 名稱),花費時間,運動曲線(預設ease),動畫延遲(預設0),播放次數(預設1),是否反向播放動畫(預設normal),是否暫停動畫(預設running)
| 值 | 描述 |
|
animation-fill-mode : none | forwards | backwards | both;
.box1 {
width: 150px;
height: 150px;
border-radius: 50%;
background: red;
margin: 100px auto;
animation: animation1 5s ease-in 1s;
animation-fill-mode: backwards;
}
@keyframes animation1 {
0% {
background: red;
opacity: 1;
}
50% {
background: yellow;
opacity: 0.5;
}
100% {
background: blue;
opacity: 0;
}
}
3. transform 轉換
transform 屬性向元素應用 2D 或 3D 轉換。該屬性允許我們對元素進行旋轉、縮放、移動或傾斜。
transform-origin: bottom right;
旋轉rotate、 transform-origin: bottom right;
transform: rotate(45deg);
.box2 {
width: 200px;
height: 200px;
margin: 100px auto;
transform: rotate(45deg);
background: url('./kaipin.jpg') 0 0 repeat;
background-size: cover;
}
移動translate
transform: translate(100px,100px);
translateX() : 通過給定一個X方向上的數目指定一個translation。隻向x軸進行移動元素,同樣其基點是元素中心點,也可以根據transform-origin改變基點位置。
translateY() :通過給定Y方向的數目指定一個translation。隻向Y軸進行移動,基點在元素心點,可以通過transform-origin改變基點位置。
縮放scale
transform: scale(0.6);
scale(x,y)使元素水準方向和垂直方向同時縮放(也就是X軸和Y軸同時縮放);scaleX(x)元素僅水準方向縮放(X軸縮放);scaleY(y)元素僅垂直方向縮放(Y軸縮放)
扭曲skew
transform: skew(20deg,30deg);
skew(x,y)使元素在水準和垂直方向同時扭曲(X軸和Y軸同時按一定的角度值進行扭曲變形);skewX(x)僅使元素在水準方向扭曲變形(X軸扭曲變形);skewY(y)僅使元素在垂直方向扭曲變形(Y軸扭曲變形)
矩陣matrix