在這篇文章中主要是講如何通過(guò)CSS3實(shí)現(xiàn)平移動(dòng)畫(huà)效果,在開(kāi)始之前先給大家介紹一下與平移動(dòng)畫(huà)有關(guān)的CSS3屬性以及相關(guān)的屬性描述。
一、transition-property:是用來(lái)指定當(dāng)元素其中一個(gè)屬性改變時(shí)執(zhí)行transition效果(例如:長(zhǎng)度,寬度,顏色等)。
二、transition-duration:是用來(lái)指定元素轉(zhuǎn)換過(guò)程的持續(xù)時(shí)間(通過(guò)設(shè)置元素轉(zhuǎn)換過(guò)程持續(xù)的時(shí)間來(lái)實(shí)現(xiàn)動(dòng)態(tài)效果,否則效果會(huì)變的很生硬)。
三、transition-timing-function:允許元素根據(jù)時(shí)間的推進(jìn)去改變屬性值的變換速率(例如:先快后慢,先慢后快,勻速變化等等)。
四、transition-delay:是用來(lái)指定一個(gè)動(dòng)畫(huà)開(kāi)始執(zhí)行的時(shí)間,也就是說(shuō)當(dāng)改變?cè)貙傩灾岛蠖嚅L(zhǎng)時(shí)間開(kāi)始執(zhí)行transition效果。
先來(lái)三張效果圖,由于是一個(gè)動(dòng)態(tài)的過(guò)程,這里只發(fā)三張動(dòng)態(tài)瞬間圖片:

圖片左側(cè)的文字還沒(méi)有進(jìn)入

圖片上的四行文字正在逐條進(jìn)入

圖片上四行文字完成動(dòng)畫(huà)效果
HTML5全部代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
<link href="css/main.css" rel="stylesheet" type="text/css">
</head>
<body>
<figure class="test1">
<img src="img/dengfuru3.jpg" class="test1-img">
<figcaption>
<h2><font color="white">鄧福如</font></h2>
<p>《如果有如果》</p>
<p>《前面路口?!?lt;/p>
<p>《鄧大福是一只貓》</p>
<p>《Nothing On You》</p>
</figcaption>
</figure>
</body>
</html>
CSS3樣式代碼:
/*清原有的默認(rèn)樣式*/
body,figure,figcaption,h2,h3,p{
margin: 0;
padding: 0;
}
/*設(shè)置圖片樣式*/
.test1-img{
width: 50%;
height:10%;
overflow: hidden;
margin-left:250px;
}
figure{
position: relative;
overflow: hidden;/*使用overflow屬性設(shè)置成hidden,圖片超出容器的部分就會(huì)自動(dòng)隱藏*/
width: 100%;
float: left;
}
figcaption{
position: absolute;
top:0;
left: 0;
}
.test1{
background-color: #2F0000;
}
.test1 figcaption {
margin: 20px;
}
/*對(duì)test1的figcaption下面的p標(biāo)簽進(jìn)行樣式設(shè)計(jì)*/
.test1 figcaption p{
background-color: #FFF;
color: #333;
font-family: 微軟雅黑;
font-weight: 500;
letter-spacing: 1px;
margin-top: 10px;
text-align: center;
}
/*給figure下面的所有的p標(biāo)簽加上動(dòng)畫(huà)延時(shí)效果*/
figure figcaption p{
transition: transform 0.35s;
}
/*將test1里面的文字內(nèi)容移出頁(yè)面*/
.test1 figcaption p{
transform: translate(-400px,0px);
}
/*當(dāng)鼠標(biāo)滑過(guò)外部容器figure的時(shí)候改變p標(biāo)簽和h2標(biāo)簽的位置*/
.test1:hover figcaption p{
transform: translate(0px,0px);
}
/*為了實(shí)現(xiàn)逐個(gè)出現(xiàn)的效果,就要單獨(dú)給每一個(gè)p標(biāo)簽加上延時(shí),給第一個(gè)p標(biāo)簽加延時(shí),每個(gè)P標(biāo)簽的延時(shí)長(zhǎng)短不同就決定了他們是先后進(jìn)入頁(yè)面的*/
.test1 figcaption p:nth-of-type(1){
transition-delay: 0.05s;/*當(dāng)鼠標(biāo)放在圖片上0.05秒以后開(kāi)始向右移動(dòng)進(jìn)入頁(yè)面*/
}
/*為了實(shí)現(xiàn)逐個(gè)出現(xiàn)的效果,就要單獨(dú)給每一個(gè)p標(biāo)簽加上延時(shí),給第二個(gè)p標(biāo)簽加延時(shí)*/
.test1 figcaption p:nth-of-type(2){
transition-delay: 0.10s;/*當(dāng)鼠標(biāo)放在圖片上0.10秒以后開(kāi)始向右移動(dòng)進(jìn)入頁(yè)面*/
}
/*為了實(shí)現(xiàn)逐個(gè)出現(xiàn)的效果,就要單獨(dú)給每一個(gè)p標(biāo)簽加上延時(shí),給第三個(gè)p標(biāo)簽加延時(shí)*/
.test1 figcaption p:nth-of-type(3){
transition-delay: 0.15s;/*當(dāng)鼠標(biāo)放在圖片上0.15秒以后開(kāi)始向右移動(dòng)進(jìn)入頁(yè)面*/
}
/*為了實(shí)現(xiàn)逐個(gè)出現(xiàn)的效果,就要單獨(dú)給每一個(gè)p標(biāo)簽加上延時(shí),給第四個(gè)p標(biāo)簽加延時(shí)*/
.test1 figcaption p:nth-of-type(4){
transition-delay: 0.2s;/*當(dāng)鼠標(biāo)放在圖片上0.2秒以后開(kāi)始向右移動(dòng)進(jìn)入頁(yè)面*/
}