1. 程式人生 > >css3兩種hover動畫

css3兩種hover動畫

1.先定義動畫,再呼叫動畫。這類似javascript的函式呼叫。

1.1/*先命名css動畫,此處我隨意命名為hover-zoom,*/
@-webkit-keyframes hover-zoom{
    50%{
        -webkit-transform:scale(0.8);
        transform:scale(0.8);
        -webkit-filter:brightness(60%)
        }
    100%{
        -webkit-transform:scale(1);
        transform:scale(1);
        /*css3濾鏡亮度百分比*/
        -webkit-filter:brightness(100%)
        }
}

1.2/*呼叫CSS3動畫,並設定動畫引數(名稱、持續時間、線性函式、執行次數)*/
.hover-zoom:hover{
    -webkit-animation-name:hover-zoom;
    animation-name:hover-zoom;
    -webkit-animation-duration:.5s;
    animation-duration:.5s;
    -webkit-animation-timing-function:ease-in;
    animation-timing-function:ease-in;
    -webkit-animation-iteration-count:1;
    animation-iteration-count:1
}

2.直接用transform設定動畫,用transition定義動畫,類似於上面第一種的步驟。

2.1/*原動畫物件,注意此處的transition是用於動畫結束後有線性還原效果*/
.item{
    padding:20px;
    text-align: center;
    background-color: #f0f0f0;
    margin-bottom: 20px;
    box-shadow: 0px 0px 15px #cdcdcd;
    transition: all 0.5s ease-in-out;
}

2.2/*動畫和呼叫可以寫在一起,transition設定動畫引數(屬性物件、時間、線性)*/
.item:hover{
    -webkit-transform:translateY(-6px);
    transform: translateY(-6px);
    background-color: #fff;
    transition: all 0.5s ease-in-out;
}

小夥伴們可以根據實際情況使用這兩種方式,第一種適合大型專案,類似JS函式,先定義全域性變數和函式,再按需呼叫。