日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

html实现简单动画,编写自己的代码库(css3常用动画的实现)

發布時間:2023/12/18 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html实现简单动画,编写自己的代码库(css3常用动画的实现) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.前言

在月初的時候,發了CSS3熱身實戰--過渡與動畫(實現炫酷下拉,手風琴,無縫滾動)。js的代碼庫也發過兩次,兩篇文章。之前也寫了css3的熱身實戰,既然熱身完了,是時候開始封裝css3的代碼庫了,相比起js的代碼庫,css3的代碼庫的邏輯性就更加簡單了!可以說只要打上注釋和一張效果圖就可以讓大家明白了其中的原理了!

我寫代碼庫的時候,動畫效果主要是參考了三個開源項目,nec,hover.css,animate.css這三個項目的質量非常的高,建議大家去了解。

源碼已經放到github上面了,大家可以去看,也歡迎大家star一下!ec-css。

我指出這三個庫并不是叫大家去拿別人的代碼,稍微修改一下,或者直接拷貝到自己的項目上,然后就說是自己的項目。我是讓大家去看別人的代碼,學習別人的實現方式或者動畫效果,然后再用自己的方式實現,當然如果把別人的項目,增刪改查到面目全非的地步,這個我個人覺得可以說是自己的項目了!強調一點,不要直接復制別人的代碼,放到自己的項目上,然后說是自己開發的,這是不尊重別人的成果,對自己的技術水平提升的幫助也較少。我寫文章,雖然也會給出代碼,但是我的目的是提供大家參考的,希望給讓大家學習到知識或者發散思維,寫出更好的作品。之前也說過,我寫文章的目的是授人以漁,不是授人以魚。

聲明

1.下面將會看到很多個類似這樣的舉行,都是span標簽,樣式都是給出的css

span{

cursor: pointer;

height: 40px;

line-height: 40px;

text-align: center;

display: inline-block;

color: #333;

background: #ccc;

min-width: 80px;

padding: 0 10px;

margin: 10px;

}

2.關于class命名方式,l代表left,r代表right,t代表top,b代表bottom,c代表center,m代表middle。切記

文章比較長,但是說得就是兩點,大家看得也應該會很快

1.寫出一些hover動畫和預設動畫的運行效果,并且貼出代碼

2.發現幾個動畫組合,和加上無限動畫,反向動畫,會有不一樣的效果,并且繼續研究,看下能不能研究出不一樣的東西!

2.hover動畫

說了那么多,是時候進入正文了,

首先是hover動畫,關于這個概念,我解釋下,就是鼠標移上去觸發的動畫,就是觸發了鼠標的hover事件時能看到的動畫!下面,按照類型,一個一個的寫!

2-1.簡單動畫

2-1-1大小變化

html

big

small

css

.ech-big,.ech-small {

transition: all .4s;

}

.ech-big:hover{

transform: scale(1.2);

}

.ech-small:hover{

transform: scale(.9);

}

2-1-2形狀變化

html

skew-l

skew-r

skew-l-t

skew-r-t

skew-l-b

skew-r-b

css

.ech-skew-l, .ech-skew-r, .ech-skew-l-t, .ech-skew-r-b, .ech-skew-l-b, .ech-skew-r-t{

transition: all .4s;

}

.ech-skew-r-t, .ech-skew-l-t {

transform-origin: 0 100%;

}

.ech-skew-r-b, .ech-skew-l-b {

transform-origin: 100% 0;

}

.ech-skew-l:hover {

transform: skew(-15deg);

}

.ech-skew-r:hover {

transform: skew(15deg);

}

.ech-skew-l-t:hover {

transform: skew(-15deg);

}

.ech-skew-r-t:hover {

transform: skew(15deg);

}

.ech-skew-l-b:hover {

transform: skew(15deg);

}

.ech-skew-r-b:hover {

transform: skew(-15deg);

}

2-1-3旋轉角度變化

html

grow-rotate-l

grow-rotate-r

rotate5

rotate15

rotate30

rotate60

rotate90

rotate180

rotate360

rotate-5

rotate-15

rotate-30

rotate-60

rotate-90

rotate-180

css

.ech-grow-rotate-l,.ech-grow-rotate-r, .ech-rotate5, .ech-rotate15, .ech-rotate30, .ech-rotate60, .ech-rotate90, .ech-rotate180, .ech-rotate360, .ech-rotate-5,.ech-rotate-15, .ech-rotate-30, .ech-rotate-60, .ech-rotate-90, .ech-rotate-180{

transition: all .4s;

}

.ech-grow-rotate-l:hover {

transform: scale(1.1) rotate(4deg);

}

.ech-grow-rotate-r:hover {

transform: scale(1.1) rotate(-4deg);

}

.ech-rotate-5:hover {

transform: rotate(-5deg);

}

.ech-rotate-15:hover {

transform: rotate(-15deg);

}

.ech-rotate-30:hover {

transform: rotate(-30deg);

}

.ech-rotate-60:hover {

transform: rotate(-60deg);

}

.ech-rotate-90:hover {

transform: rotate(-90deg);

}

.ech-rotate-180:hover {

transform: rotate(-180deg);

}

.ech-rotate5:hover {

transform: rotate(5deg);

}

.ech-rotate15:hover {

transform: rotate(15deg);

}

.ech-rotate30:hover {

transform: rotate(30deg);

}

.ech-rotate60:hover {

transform: rotate(60deg);

}

.ech-rotate90:hover {

transform: rotate(90deg);

}

.ech-rotate180:hover {

transform: rotate(180deg);

}

.ech-rotate360:hover {

transform: rotate(360deg);

}

2-1-4位移變化

html

up

bottom

left

right

css

.ech-t,.ech-bottom,.ech-top,.ech-right{

transition: all .4s;

}

.ech-t:hover {

transform: translate3d(0, -10px, 0);

}

.ech-b:hover {

transform: translate3d(0, 10px, 0);

}

.ech-l:hover {

transform: translate3d(-10px, 0, 0);

}

.ech-r:hover {

transform: translate3d(10px, 0, 0);

}

2-1-5邊框變化

html

border

border-in

css

.ech-border,.ech-border-in{

transition: all .4s;

}

.ech-border:hover {

box-shadow: 0 0 0 4px #09f, 0 0 1px transparent;

}

.ech-border-in:hover {

box-shadow: inset 0 0 0 4px #09f, 0 0 1px transparent;

}

2-1-6陰影變化

(gif圖看得效果太難看了,大家可以去github下載看)

html

shadow

shadow-in

shadow-write

shadow-big

css

.ech-shadow,.ech-shadow-in,.ech-shadow-write,.ech-shadow-big{

transition: all .4s;

}

.ech-shadow:hover {

box-shadow: 0 0 10px #333;

}

.ech-shadow-in:hover {

box-shadow: inset 0 0 10px #333;

}

.ech-shadow-write:hover {

box-shadow: inset 0 0 20px #fff;

}

.ech-shadow-big:hover {

box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);

transform: scale(1.1);

}

2-1-7透明度變化

html

fade-out

fade-in

css

.ech-fade-out,.ech-fade-in{

transition: all .4s;

}

.ech-fade-out:hover {

opacity: .6;

}

.ech-fade-in {

opacity: .5;

}

.ech-fade-in:hover {

opacity: 1;

}

2-1-8圓角變化

html

rectangle

radius

css

.ech-radius,.ech-rectangle{

transition: all .4s;

}

.ech-radius {

border-radius: 10px;

}

.ech-radius:hover {

border-radius: 0;

}

.ech-rectangle:hover {

border-radius: 10px;

}

2-2.顏色動畫效果

這部分的動畫主要是利用:before和:after進行實現的,所以,大家如果使用的時候,切記:before和:after沒有被占用,否則會顯示不正常

2-2-1.顏色塊變化

因為這塊內容很像,我就一大塊一起說,大家看代碼的時候要留神注意。看代碼看不明白,直接在github下載,然后運行文件,邊調試邊看效果!這樣大家就很容易明白了!

html

fade

fade-t

fade-b

fade-l

fade-r

bounce-t

bounce-b

bounce-l

bounce-r

fade-c-out

fade-c-in

fade-m-out

fade-m-in

css

/*當前元素設置相對定位*/

.ech-fade, .ech-fade-t, .ech-fade-b, .ech-fade-l, .ech-fade-r, .ech-fade-c-in, .ech-fade-m-in, .ech-fade-m-out, .ech-fade-c-out, .ech-bounce-t, .ech-bounce-b, .ech-bounce-r, .ech-bounce-l {

position: relative;

transition: all .3s;

z-index: 1;

}

/*當前元素的:before和:after設置絕對定位*/

.ech-fade:before, .ech-fade-t:before, .ech-fade-b:before, .ech-fade-l:before, .ech-fade-r:before, .ech-fade-c-in:before, .ech-fade-m-in:before, .ech-fade-m-out:before, .ech-fade-c-in:after, .ech-fade-m-in:after, .ech-fade-c-out:before {

position: absolute;

transition: all .3s;

content: "";

display: block;

background: #09f;

z-index: -1;

width: 100%;

height: 100%;

}

/*彈跳元素:before和:after設置絕對定位和運動曲線*/

.ech-bounce-t:before, .ech-bounce-b:before, .ech-bounce-r:before, .ech-bounce-l:before {

transition: all .3s;

transition-timing-function: cubic-bezier(0.52, 1.7, 0.5, 0.4);

position: absolute;

content: "";

display: block;

background: #09f;

z-index: -1;

width: 100%;

height: 100%;

}

/*背景顏色和文字變化*/

.ech-fade:before {

top: 0;

left: 0;

transform: scaleX(1);

opacity: 0;

}

.ech-fade:hover:before {

opacity: 1;

}

/*顏色從左至右變化*/

.ech-fade-l:before, .ech-bounce-l:before {

top: 0;

right: 0;

transform-origin: 0 50%;

transform: scaleX(0);

}

/*顏色從右至左變化*/

.ech-fade-r:before, .ech-bounce-r:before {

top: 0;

left: 0;

transform-origin: 100% 50%;

transform: scaleX(0);

}

/*顏色從上往下變化*/

.ech-fade-t:before, .ech-bounce-t:before {

bottom: 0;

left: 0;

transform-origin: 50% 0;

transform: scaleY(0);

}

/*顏色從下往上變化*/

.ech-fade-b:before, .ech-bounce-b:before {

top: 0;

left: 0;

transform-origin: 50% 100%;

transform: scaleY(0);

}

/*顏色垂直居中出去*/

.ech-fade-m-out:before {

top: 0;

bottom: 0;

left: 0;

margin: auto;

transform: scaleY(0);

}

/*水平居中出去*/

.ech-fade-c-out:before {

top: 0;

right: 0;

bottom: 0;

left: 0;

margin: auto;

transform: scaleX(0);

}

.ech-fade-c-out:hover:before {

transform: scaleX(1);

}

/*水平居中進來*/

.ech-fade-c-in:before {

top: 0;

left: 0;

transform-origin: 0 50%;

transform: scaleX(0);

}

.ech-fade-c-in:after {

top: 0;

right: 0;

transform-origin: 100% 50%;

transform: scaleX(0);

}

/*垂直居中進來*/

.ech-fade-m-in:before {

top: 0;

left: 0;

transform-origin: 50% 0;

transform: scaleY(0);

}

.ech-fade-m-in:after {

bottom: 0;

left: 0;

transform-origin: 50% 100%;

transform: scaleY(0);

}

/*當前元素文字顏色變化*/

.ech-fade:hover, .ech-fade-t:hover, .ech-fade-b:hover, .ech-fade-l:hover, .ech-fade-r:hover, .ech-fade-c-in:hover, .ech-fade-m-in:hover, .ech-fade-m-out:hover, .ech-fade-c-out:hover, .ech-bounce-t:hover, .ech-bounce-b:hover, .ech-bounce-r:hover, .ech-bounce-l:hover {

color: #fff;

}

/*垂直方向進來的:before變化(一半)*/

.ech-fade-m-in:hover:before, .ech-fade-m-in:hover:after {

transform: scaleY(.51);

}

/*垂直方向進來的:before變化*/

.ech-fade-t:hover:before, .ech-fade-b:hover:before, .ech-fade-m-out:hover:before, .ech-bounce-b:hover:before, .ech-bounce-t:hover:before {

transform: scaleY(1);

}

/*水平方向進來的:before變化(一半)*/

.ech-fade-c-in:hover:before, .ech-fade-c-in:hover:after {

transform: scaleX(.51);

}

/*水平方向進來的:before變化*/

.ech-fade-l:hover:before, .ech-fade-r:hover:before,.ech-fade-c-out:hover:before, .ech-bounce-l:hover:before, .ech-bounce-r:hover:before {

transform: scaleX(1);

}

2-2-2.顏色上下劃線變化

這里也是一大塊一起說,看代碼可能會更亂,所以大家看代碼的時候要更加留神注意。看代碼看不明白,直接在github下載,然后運行文件,邊調試邊看效果!這樣大家就很容易明白了!

html

overline-l

overline-r

underline-l

underline-r

underline-c

underline-c-out

overline-c

overline-c-out

css

/*上劃線和下劃線變化 當前元素樣式設置相對定位*/

.ech-overline-r, .ech-overline-l, .ech-underline-r, .ech-underline-l, .ech-underline-c, .ech-overline-c, .ech-underline-c-out, .ech-overline-c-out{

position: relative;

transition: all .3s;

z-index: 1;

}

/*初始化:after:before大小和絕對定位*/

.ech-overline-r:before, .ech-overline-l:before, .ech-underline-l:before, .ech-underline-r:before, .ech-underline-c:before, .ech-overline-c:before, .ech-underline-c:after, .ech-overline-c:after, .ech-underline-c-out:before, .ech-overline-c-out:before {

position: absolute;

transition: all .3s;

content: "";

display: block;

background: #09f;

z-index: -1;

height: 4px;

width: 100%;

transform: scaleX(0);

}

/*上劃線 左右出來*/

.ech-overline-r:before {

top: 0;

left: 0;

transform-origin: 100% 50%;

}

.ech-overline-l:before {

top: 0;

right: 0;

transform-origin: 0 50%;

}

/*下劃線 左右出來*/

.ech-underline-r:before {

bottom: 0;

left: 0;

transform-origin: 100% 50%;

}

.ech-underline-l:before {

bottom: 0;

right: 0;

transform-origin: 0% 50%;

}

/**上劃線 下劃線 居中進來**/

.ech-overline-c:before {

top: 0;

transform-origin: 0 50%;

}

.ech-overline-c:after {

top: 0;

transform-origin: 100% 50%;

}

.ech-underline-c:before {

bottom: 0;

transform-origin: 0 50%;

}

.ech-underline-c:after {

bottom: 0;

transform-origin: 100% 50%;

}

.ech-overline-c:before, .ech-underline-c:before {

left: 0;

}

.ech-overline-c:after, .ech-underline-c:after {

right: 0;

}

/*上劃線 下劃線-居中出去 */

.ech-overline-c-out:before {

top: 0;

left: 0;

right: 0;

margin: auto;

}

.ech-underline-c-out:before {

bottom: 0;

left: 0;

right: 0;

margin: auto;

}

/*hover效果*/

.ech-overline-c:hover:after, .ech-overline-c:hover:before, .ech-underline-c:hover:after, .ech-underline-c:hover:before {

transform: scaleX(.51);

}

.ech-overline-l:hover:before, .ech-overline-r:hover:before, .ech-underline-l:hover:before, .ech-underline-r:hover:before, .ech-underline-c-out:hover:before, .ech-overline-c-out:hover:before {

transform: scaleX(1);

}

2-2-3箭頭動畫

html

arrow-l

arrow-r

arrow-t

arrow-b

arrow-l

arrow-r

arrow-t

arrow-b

css

.ech-arrow-l, .ech-arrow-r, .ech-arrow-t, .ech-arrow-b, .ech-arrow-l-move, .ech-arrow-r-move, .ech-arrow-t-move, .ech-arrow-b-move{

position: relative;

transition: all .3s;

z-index: 1;

}

/*初始化箭頭樣式*/

.ech-arrow-l:before, .ech-arrow-r:before, .ech-arrow-t:before, .ech-arrow-b:before, .ech-arrow-l-move:before, .ech-arrow-r-move:before, .ech-arrow-t-move:before, .ech-arrow-b-move:before {

position: absolute;

transition: all .3s;

content: "";

display: block;

z-index: -1;

border-style: solid;

margin: auto;

width: 0;

height: 0;

}

.ech-arrow-l:before, .ech-arrow-l-move:before {

left: 0;

top: 0;

bottom: 0;

border-width: 10px 10px 10px 0;

border-color: transparent #ccc transparent transparent;

}

.ech-arrow-r:before, .ech-arrow-r-move:before {

right: 0;

top: 0;

bottom: 0;

border-width: 10px 0 10px 10px;

border-color: transparent transparent transparent #ccc;

}

.ech-arrow-t:before, .ech-arrow-t-move:before {

left: 0;

top: 0;

right: 0;

border-width: 0 10px 10px 10px;

border-color: transparent transparent #ccc transparent;

}

.ech-arrow-b:before, .ech-arrow-b-move:before {

left: 0;

bottom: 0;

right: 0;

border-width: 10px 10px 0 10px;

border-color: #ccc transparent transparent transparent;

}

.ech-arrow-l-move, .ech-arrow-r-move, .ech-arrow-t-move, .ech-arrow-b-move {

transition: transform .3s;

}

/*hover效果*/

.ech-arrow-l-move:hover {

transform: translateX(10px);

}

.ech-arrow-r-move:hover {

transform: translateX(-10px);

}

.ech-arrow-t-move:hover {

transform: translateY(10px);

}

.ech-arrow-b-move:hover {

transform: translateY(-10px);

}

.ech-arrow-l-move:hover:before, .ech-arrow-l:hover:before {

transform: translateX(-10px);

}

.ech-arrow-r-move:hover:before, .ech-arrow-r:hover:before {

transform: translateX(10px);

}

.ech-arrow-t-move:hover:before, .ech-arrow-t:hover:before {

transform: translateY(-10px);

}

.ech-arrow-b-move:hover:before, .ech-arrow-b:hover:before {

transform: translateY(10px);

}

2-3較復雜動畫

2-1和2-2的內容,都是利用過渡實現效果,那么這一塊就是利用動畫來實現效果!區別就是hover的寫法是增加一個動畫,動畫的封裝,難度就在于創意。

2-3-1閃爍效果

html

flash

css

.ech-flash:hover {

animation: flash .5s ease;

}

@keyframes flash {

0%, 50%, 100% {

opacity: 1;

}

25%, 75% {

opacity: 0;

}

}

2-3-2鬧鐘振鈴效果

html

shake-time

css

/*仿鬧鐘振鈴效果*/

.ech-shake-time:hover {

animation: shake-time 1s ease;

}

@keyframes shake-time {

0% {

transform: scale(1);

}

10%, 20% {

transform: scale(0.9) rotate(-3deg);

}

30%, 50%, 70%, 90% {

transform: scale(1.1) rotate(3deg);

}

40%, 60%, 80% {

transform: scale(1.1) rotate(-3deg);

}

100% {

transform: scale(1) rotate(0);

}

}

2-3-3搖擺效果

html

wobble-c

wobble-t

wobble-b

css

.ech-wobble-t, .ech-skew-r-t, .ech-skew-l-t {

transform-origin: 0 100%;

}

.ech-wobble-b, .ech-skew-r-b, .ech-skew-l-b {

transform-origin: 100% 0;

}

.ech-wobble-c:hover, .ech-wobble-t:hover,.ech-wobble-b:hover {

animation: wobble-x 1s ease-in-out;

}

@keyframes wobble-x {

16.65% {

-webkit-transform: skew(-12deg);

transform: skew(-12deg);

}

33.3% {

-webkit-transform: skew(10deg);

transform: skew(10deg);

}

49.95% {

-webkit-transform: skew(-6deg);

transform: skew(-6deg);

}

66.6% {

-webkit-transform: skew(4deg);

transform: skew(4deg);

}

83.25% {

-webkit-transform: skew(-2deg);

transform: skew(-2deg);

}

100% {

-webkit-transform: skew(0);

transform: skew(0);

}

}

2-3-4搖晃效果

html

swing

css

.ech-swing:hover {

animation: swing .5s ease alternate;

}

@keyframes swing {

20% {

transform: rotate(15deg);

}

40% {

transform: rotate(-10deg);

}

60% {

transform: rotate(5deg);

}

80% {

transform: rotate(-5deg);

}

100% {

transform: rotate(0);

}

}

2-3-5抖動效果

html

shake

css

.ech-shake:hover {

animation: shake .5s ease;

}

@keyframes shake {

0%, 100% {

transform: translateX(0);

}

10%, 30%, 50%, 70%, 90% {

transform: translateX(-10px);

}

20%, 40%, 60%, 80% {

transform: translateX(10px);

}

}

2-3-6彈跳效果

html

bounce

css

.ech-bounce:hover {

animation: bounce 1s ease;

}

@keyframes bounce {

0%, 20%, 50%, 80%, 100% {

transform: translateY(0);

}

40% {

transform: translateY(-30px);

}

60% {

transform: translateY(-15px);

}

}

3.預設動畫

受限于篇幅的長度,我也不想分開兩篇文章寫。關于這個預設動畫,我就簡單的說一下,寫一下,我直接給一個大概的操作演示,和完整的代碼!反正寫法這個也是比較單一,無非就是改一個類名而已。難的是動畫的一些編寫,這個需要創意,大家可以上網參考。

(不知道為什么,gif截大圖放不上來,就放了張小的,大家結果下面的jpg一起看把,就是通過下面的按鈕,展示動畫,大家也可以在github下面下載代碼看下)

(完整代碼比較多,這里貼出,但是建議大家稍微看一下,過一下就好,因為這個只看代碼是會懵逼的,要在瀏覽器打開文件,一看調試一邊看,這樣會很簡單,很容易的明白)

html代碼

demo

.big {

width: 500px;

height: 500px;

border: 1px solid #ccc;

margin: 100px auto 0 auto;

}

#demo {

width: 200px;

height: 100px;

margin: 200px auto;

background: #09f;

}

.btn-box {

margin: 0 auto 100px auto;

max-width: 1200px;

font-size: 0;

}

.btn-box a {

font-size: 16px;

display: inline-block;

height: 40px;

line-height: 40px;

padding: 0 6px;

color: #333;

background: #ccc;

margin: 0 0 10px 10px;

}

.btn-box .cur{

background: #09f;

color: #fff;

}

.an-type{

width: 500px;

height: 100px;

margin: 0 auto;

}

.an-type a{

font-size: 16px;

display: inline-block;

height: 40px;

line-height: 40px;

padding: 0 6px;

color: #333;

background: #ccc;

margin: 0 10px 10px 0;

}

.an-type .cur{

background: #09f;

color: #fff;

}

infinite

alternate

stop

bounce

bounce-in-b

bounce-in-l

bounce-in-t

bounce-in-r

bounce-out-b

bounce-out-l

bounce-out-t

bounce-out-r

wobble

wobble-t

wobble-b

fade-in

fade-in-t

fade-in-b

fade-in-l

fade-in-r

fade-out

fade-out-t

fade-out-b

fade-out-l

fade-out-r

rotate-in

rotate-in-rb

rotate-in-rt

rotate-in-lb

rotate-in-lt

rotate-out

rotate-out-rb

rotate-out-rt

rotate-out-lb

rotate-out-lt

flip-in-x

flip-in-y

flip-out-x

flip-out-y

light-speed-in

light-speed-out

shake-time

flash

rubber-band

rubber-band-fast

swing

shake

pulse-shrink

pulse

window.onload = function () {

var oDivDemo = document.getElementById("demo"),

oDivBox = document.getElementsByClassName("btn-box")[0],

oAan=oDivBox.getElementsByTagName("a"),

oInfinite=document.getElementById("infinite"),_infinite=false,

oAlternate=document.getElementById("alternate"),_alternate=false,

oStop=document.getElementById("stop");

oStop.addEventListener("click",function(){

oDivDemo.className="";

_infinite=false;

_alternate=false;

ecDo.removeClass(oInfinite,"cur");

ecDo.removeClass(oAlternate,"cur");

ecDo.removeClass(oAan,"cur");

})

oInfinite.addEventListener("click",function(){

_infinite=!_infinite;

if(_infinite){

ecDo.addClass(oInfinite,"cur")

ecDo.addClass(oDivDemo,"ec-infinite");

}

else{

ecDo.removeClass(oInfinite,"cur")

ecDo.removeClass(oDivDemo,"ec-infinite");

}

})

oAlternate.addEventListener("click",function(){

_alternate=!_alternate;

if(_alternate){

ecDo.addClass(oAlternate,"cur")

ecDo.addClass(oDivDemo,"ec-alternate");

}

else{

ecDo.removeClass(oAlternate,"cur")

ecDo.removeClass(oDivDemo,"ec-alternate");

}

})

oDivBox.addEventListener("click", function (e) {

var e = e || window.event;

var target = e.target || e.srcElement, _class = "";

if (target.nodeName.toLowerCase() === 'a') {

ecDo.addClass(target,"cur");

ecDo.removeClass(ecDo.siblings(target,"a"),"cur")

_class =target.getAttribute("data-class");

oDivDemo.className = "";

setTimeout(function () {

ecDo.addClass(oDivDemo,_class);

if(_infinite){

ecDo.addClass(oDivDemo,"ec-infinite");

}

else{

ecDo.removeClass(oDivDemo,"ec-infinite");

}

if(_alternate){

ecDo.addClass(oDivDemo,"ec-alternate");

}

else{

ecDo.removeClass(oDivDemo,"ec-alternate");

}

}, 50)

}

})

}

css

/*動畫效果*/

.ec-bounce-in-l {

animation: bounce-in-l 1s ease;

}

@keyframes bounce-in-l {

0%, 60%, 75%, 90%, to {

animation-timing-function: cubic-bezier(.215, .61, .355, 1)

}

0% {

opacity: 0;

transform: translate3d(-3000px, 0, 0)

}

60% {

opacity: 1;

transform: translate3d(25px, 0, 0)

}

75% {

transform: translate3d(-10px, 0, 0)

}

90% {

transform: translate3d(5px, 0, 0)

}

to {

-webkit-transform: none;

transform: none

}

}

.ec-bounce-in-r {

animation: bounce-in-r 1s ease;

}

@keyframes bounce-in-r {

0%, 60%, 75%, 90%, to {

animation-timing-function: cubic-bezier(.215, .61, .355, 1)

}

0% {

opacity: 0;

transform: translate3d(3000px, 0, 0)

}

60% {

opacity: 1;

transform: translate3d(-25px, 0, 0)

}

75% {

transform: translate3d(10px, 0, 0)

}

90% {

transform: translate3d(-5px, 0, 0)

}

to {

-webkit-transform: none;

transform: none

}

}

.ec-bounce-in-b{

animation: bounce-in-b 1s;

}

.ec-bounce-in-t{

animation: bounce-in-t 1s;

}

@keyframes bounce-in-t {

from, 60%, 75%, 90%, to {

animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);

}

0% {

opacity: 0;

transform: translate3d(0, -3000px, 0);

}

60% {

opacity: 1;

transform: translate3d(0, 25px, 0);

}

75% {

transform: translate3d(0, -10px, 0);

}

90% {

transform: translate3d(0, 5px, 0);

}

to {

transform: none;

}

}

@keyframes bounce-in-b{

from, 60%, 75%, 90%, to {

animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);

}

0% {

opacity: 0;

transform: translate3d(0, 3000px, 0);

}

60% {

opacity: 1;

transform: translate3d(0, -25px, 0);

}

75% {

transform: translate3d(0, 10px, 0);

}

90% {

transform: translate3d(0, -5px, 0);

}

to {

transform: none;

}

}

@keyframes bounce-out-b {

20% {

transform: translate3d(0, 10px, 0);

}

40%, 45% {

opacity: 1;

transform: translate3d(0, -20px, 0);

}

to {

opacity: 0;

transform: translate3d(0, 2000px, 0);

}

}

.ec-bounce-out-b {

animation: bounce-out-b 1s;

}

@keyframes bounce-out-l {

20% {

opacity: 1;

transform: translate3d(20px, 0, 0);

}

to {

opacity: 0;

transform: translate3d(-2000px, 0, 0);

}

}

.ec-bounce-out-l {

animation: bounce-out-l 1s;

}

@keyframes bounce-out-r {

20% {

opacity: 1;

transform: translate3d(-20px, 0, 0);

}

to {

opacity: 0;

transform: translate3d(2000px, 0, 0);

}

}

.ec-bounce-out-r {

animation: bounce-out-r 1s;

}

@keyframes bounce-out-t {

20% {

transform: translate3d(0, -10px, 0);

}

40%, 45% {

opacity: 1;

transform: translate3d(0, 20px, 0);

}

to {

opacity: 0;

transform: translate3d(0, -2000px, 0);

}

}

.ec-bounce-out-t {

animation: bounce-out-t 1s;

}

/*心跳效果*/

.ec-pulse {

animation: pulse 1s linear;

}

.ec-pulse-shrink {

animation: pulse .5s linear;

}

@keyframes pulse {

25% {

transform: scale(1.1);

}

75% {

transform: scale(0.9);

}

}

.ec-flash {

animation: flash .5s ease;

}

/*搖擺*/

.ec-swing {

animation: swing .5s ease;

}

@keyframes swing {

20% {

transform: rotate(15deg);

}

40% {

transform: rotate(-10deg);

}

60% {

transform: rotate(5deg);

}

80% {

transform: rotate(-5deg);

}

100% {

transform: rotate(0);

}

}

/*搖擺*/

.ec-wobble-t{

transform-origin: 0 100%;

}

.ec-wobble-b{

transform-origin: 100% 0;

}

.ec-wobble,.ec-wobble-t,.ec-wobble-b {

animation: wobblex 1s ease-in-out;

}

@keyframes wobblex {

16.65% {

-webkit-transform: skew(-12deg);

transform: skew(-12deg);

}

33.3% {

-webkit-transform: skew(10deg);

transform: skew(10deg);

}

49.95% {

-webkit-transform: skew(-6deg);

transform: skew(-6deg);

}

66.6% {

-webkit-transform: skew(4deg);

transform: skew(4deg);

}

83.25% {

-webkit-transform: skew(-2deg);

transform: skew(-2deg);

}

100% {

-webkit-transform: skew(0);

transform: skew(0);

}

}

/*閃爍*/

@keyframes flash {

0%, 50%, 100% {

opacity: 1;

}

25%, 75% {

opacity: 0;

}

}

.ec-rubber-band {

animation: rubber-band 1s;

}

.ec-rubber-band-fast {

animation: rubber-band .5s;

}

@keyframes rubber-band {

from {

transform: scale3d(1, 1, 1);

}

30% {

transform: scale3d(1.25, 0.75, 1);

}

40% {

transform: scale3d(0.75, 1.25, 1);

}

50% {

transform: scale3d(1.15, 0.85, 1);

}

65% {

transform: scale3d(.95, 1.05, 1);

}

75% {

transform: scale3d(1.05, .95, 1);

}

to {

transform: scale3d(1, 1, 1);

}

}

/*仿鬧鐘振鈴效果*/

.ec-shake-time{

animation: shake-time 1s ease;

}

@keyframes shake-time {

0% {

transform: scale(1);

}

10%, 20% {

transform: scale(0.9) rotate(-3deg);

}

30%, 50%, 70%, 90% {

transform: scale(1.1) rotate(3deg);

}

40%, 60%, 80% {

transform: scale(1.1) rotate(-3deg);

}

100% {

transform: scale(1) rotate(0);

}

}

/*彈跳變化*/

.ec-bounce{

animation: bounce 1s ease;

}

@keyframes bounce {

0%, 20%, 50%, 80%, 100% {

transform: translateY(0);

}

40% {

transform: translateY(-30px);

}

60% {

transform: translateY(-15px);

}

}

/*震動*/

.ec-shake {

animation: shake .5s ease;

}

@keyframes shake {

0%, 100% {

transform: translateX(0);

}

10%, 30%, 50%, 70%, 90% {

transform: translateX(-10px);

}

20%, 40%, 60%, 80% {

transform: translateX(10px);

}

}

/*透明度進入*/

@keyframes fade-in {

from {

opacity: 0;

}

to {

opacity: 1;

}

}

.ec-fade-in {

animation: fade-in 1s;

}

@keyframes ec-fade-in-b {

from {

opacity: 0;

transform: translate3d(0, -100%, 0);

}

to {

opacity: 1;

transform: none;

}

}

.ec-fade-in-b {

animation: ec-fade-in-b 1s;

}

@keyframes ec-fade-in-l {

from {

opacity: 0;

transform: translate3d(-100%, 0, 0);

}

to {

opacity: 1;

transform: none;

}

}

.ec-fade-in-l {

animation: ec-fade-in-l 1s;

}

@keyframes ec-fade-in-r {

from {

opacity: 0;

transform: translate3d(100%, 0, 0);

}

to {

opacity: 1;

transform: none;

}

}

.ec-fade-in-r {

animation: ec-fade-in-r 1s;

}

@keyframes ec-fade-in-t {

from {

opacity: 0;

transform: translate3d(0, 100%, 0);

}

to {

opacity: 1;

transform: none;

}

}

.ec-fade-in-t {

animation: ec-fade-in-t 1s;

}

@keyframes ec-fade-out {

from {

opacity: 1;

}

to {

opacity: 0;

}

}

.ec-fade-out {

animation: ec-fade-out 1s;

}

@keyframes ec-fade-out-b {

from {

opacity: 1;

}

to {

opacity: 0;

transform: translate3d(0, 100%, 0);

}

}

.ec-fade-out-b {

animation: ec-fade-out-b 1s;

}

@keyframes ec-fade-out-l {

from {

opacity: 1;

}

to {

opacity: 0;

transform: translate3d(-100%, 0, 0);

}

}

.ec-fade-out-l {

animation: ec-fade-out-l 1s;

}

@keyframes ec-fade-out-r {

from {

opacity: 1;

}

to {

opacity: 0;

transform: translate3d(100%, 0, 0);

}

}

.ec-fade-out-r {

animation: ec-fade-out-r 1s;

}

@keyframes ec-fade-out-t {

from {

opacity: 1;

}

to {

opacity: 0;

transform: translate3d(0, -100%, 0);

}

}

.ec-fade-out-t {

animation: ec-fade-out-t 1s;

}

/*旋轉進出*/

@keyframes rotate-in{

0%{opacity:0;transform:rotate(-200deg);}

100%{opacity:1;transform:rotate(0);}

}

.ec-rotate-in {

animation: rotate-in 1s;

}

@keyframes rotate-in-lt{

0%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0;}

100%{transform-origin:left bottom;transform:rotate(0);opacity:1;}

}

.ec-rotate-in-lt {

animation: rotate-in-lt 1s;

}

@keyframes rotate-in-lb{

0%{transform-origin:left bottom;transform:rotate(90deg);opacity:0;}

100%{transform-origin:left bottom;transform:rotate(0);opacity:1;}

}

.ec-rotate-in-lb {

animation: rotate-in-lb 1s;

}

@keyframes rotate-in-rt{

0%{transform-origin:right bottom;transform:rotate(90deg);opacity:0;}

100%{transform-origin:right bottom;transform:rotate(0);opacity:1;}

}

.ec-rotate-in-rt {

animation: rotate-in-rt 1s;

}

@keyframes rotate-in-rb{

0%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0;}

100%{transform-origin:right bottom;transform:rotate(0);opacity:1;}

}

.ec-rotate-in-rb {

animation: rotate-in-rb 1s;

}

.ec-rotate-out {

animation: rotate-out 1s;

}

@keyframes rotate-out{

0%{transform-origin:center center;transform:rotate(0);opacity:1;}

100%{transform-origin:center center;transform:rotate(200deg);opacity:0;}

}

.ec-rotate-out-lt {

animation: rotate-out-lt 1s;

}

@keyframes rotate-out-lt{

0%{transform-origin:left bottom;transform:rotate(0);opacity:1;}

100%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0;}

}

.ec-rotate-out-lb {

animation: rotate-out-lb 1s;

}

@keyframes rotate-out-lb{

0%{transform-origin:left bottom;transform:rotate(0);opacity:1;}

100%{transform-origin:left bottom;transform:rotate(90deg);opacity:0;}

}

.ec-rotate-out-rt {

animation: rotate-out-rt 1s;

}

@keyframes rotate-out-rt{

0%{transform-origin:right bottom;transform:rotate(0);opacity:1;}

100%{transform-origin:right bottom;transform:rotate(90deg);opacity:0;}

}

.ec-rotate-out-rb {

animation: rotate-out-rb 1s;

}

@keyframes rotate-out-rb{

0%{transform-origin:right bottom;transform:rotate(0);opacity:1;}

100%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0;}

}

/*翻轉進出*/

@keyframes flip-in-x {

from {

transform: perspective(400px) rotate3d(1, 0, 0, 90deg);

animation-timing-function: ease-in;

opacity: 0;

}

40% {

transform: perspective(400px) rotate3d(1, 0, 0, -20deg);

animation-timing-function: ease-in;

}

60% {

transform: perspective(400px) rotate3d(1, 0, 0, 10deg);

opacity: 1;

}

80% {

transform: perspective(400px) rotate3d(1, 0, 0, -5deg);

}

to {

transform: perspective(400px);

}

}

.ec-flip-in-x {

animation: flip-in-x 1s;

}

@keyframes flip-in-y {

from {

transform: perspective(400px) rotate3d(0, 1, 0, 90deg);

animation-timing-function: ease-in;

opacity: 0;

}

40% {

transform: perspective(400px) rotate3d(0, 1, 0, -20deg);

animation-timing-function: ease-in;

}

60% {

transform: perspective(400px) rotate3d(0, 1, 0, 10deg);

opacity: 1;

}

80% {

transform: perspective(400px) rotate3d(0, 1, 0, -5deg);

}

to {

transform: perspective(400px);

}

}

.ec-flip-in-y {

animation: flip-in-y 1s;

}

@keyframes flip-out-x {

from {

transform: perspective(400px);

}

30% {

transform: perspective(400px) rotate3d(1, 0, 0, -20deg);

opacity: 1;

}

to {

transform: perspective(400px) rotate3d(1, 0, 0, 90deg);

opacity: 0;

}

}

.ec-flip-out-x {

animation: flip-out-x 1s;

}

@keyframes flip-out-y {

from {

transform: perspective(400px);

}

30% {

transform: perspective(400px) rotate3d(0, 1, 0, -15deg);

opacity: 1;

}

to {

transform: perspective(400px) rotate3d(0, 1, 0, 90deg);

opacity: 0;

}

}

.ec-flip-out-y {

animation: flip-out-y 1s;

}

@keyframes light-speed-in {

from {

transform: translate3d(100%, 0, 0) skewX(-30deg);

opacity: 0;

}

60% {

transform: skewX(20deg);

opacity: 1;

}

80% {

transform: skewX(-5deg);

opacity: 1;

}

to {

transform: none;

opacity: 1;

}

}

.ec-light-speed-in {

animation: light-speed-in 1s ease-out;

}

@keyframes light-speed-out {

from {

opacity: 1;

}

to {

transform: translate3d(100%, 0, 0) skewX(30deg);

opacity: 0;

}

}

.ec-light-speed-out {

animation: light-speed-out ease-in 1s;

}

/*無限次數執行動畫*/

.ec-infinite{

animation-iteration-count: infinite;

}

.ec-alternate {

animation-direction: alternate;

}

4.未知探索

好了,說完了hover動畫和預設動畫,我開發的時候,發現了這樣一些好玩的東西,我也準備繼續研究,也建議大家玩下,說不定哪天做出了了不起的東西!如下面的栗子!

下面說的動畫,不分hover動畫和預設動畫,大家注意

4-1.無限執行動畫

一個普通的動畫,加上無限執行,一般會出現很友好的效果,

但是有些時候的效果差強人意

4-2.反向動畫

在4-1的基礎上,加上方向執行動畫,也會有不一樣的效果

沒加反向動畫效果

加上反向動畫效果

4-3.組合效果

陰影效果和其它效果的組合,(gif看不出陰影效果,哎。。)

上面的幾個的栗子

css代碼不變,區別是html代碼,多加了一些類名

上面幾個是我在開發時候發現的栗子,這個我會繼續研究,也希望大家能研究,研究出什么好玩的效果,或者動畫寫法,歡迎分享!

5.雞肋選擇

在寫css3代碼庫的時候,我也發現封裝css3的一個雞肋情況。

1.css3的效果太過于靈活,多樣,封裝非常容易出現眾口難調的情況,以及每個項目的效果可能出現效果差不多,但就是不一樣,這樣就是說封裝的庫并不適合用在項目上。

2.還有一點在于,css3效果基本上每一個項目都是有用到,并且是常用,但是平常項目要用到的css3效果最多也就10個,而且也不難,手寫很快可以實現,根本沒必要去引一個插件或者庫。

但是最后我還是堅持寫下去了,原因如下

1.如果項目開發,對動畫效果的要求基本不會達到非常的嚴格的地步,我完全可以多引一個文件,增加我的開發效率,壓縮過后的文件可能只有10K左右,可以接受。

2.就算在項目用不上,我也可以當作是練手,學習的作用。如果以后項目需要動畫效果,即使動畫效果跟我封裝的不一樣,我也可以看著來進行修改。

3.就算開發的時候沒使用上這個庫,萬一有些動畫,我寫過,但是忘了怎么寫,也可以回頭看怎么實現!

4.如果開發的時候,不知道放什么效果好,這個庫,也能起到一定的參考作用!

5.現在多寫幾個,說不定起到一個發散思維的作用,寫了這些效果,想到了另一些效果怎么寫,或者想到還有什么效果可以寫,這個也是非常好的一個結果和收獲!

6.小結

好了,css3的代碼庫封裝到這里就差不多了,如果你能看完全篇,你已經是勇士了,證明你很有耐心,看完馬上掌握,這個對于大家來說問題不大,畢竟不是什么邏輯性強的代碼。我想要的效果雖然都實現了,不過以后肯定也是要修改完善的(至少看源碼的話,我自己看得都有點亂,但是一時之間又不知道該如果整理,就先放上去了)。話說回來,通過以上的案例,希望能幫到大家,最理想就是能起到發散思維的作用,就是通過我的案例,能讓大家知道其它的一些動畫怎么做,或者想到有什么好看動畫效果。web前端這一行,最重要的就是多練,大家除了看別人的項目,博客之外,一定要多練,多寫,這樣進步才會更快,知識才會記得更牢。

最后,如果大家覺得我哪里寫得不好或者寫錯了,歡迎指出。有什么好的想法,隨時給您寶貴的建議我!項目我也放到github上面了!有需要的可以去看下,star下ec-css!

-------------------------華麗的分割線--------------------

想了解更多,關注關注我的微信公眾號:守候書閣

總結

以上是生活随笔為你收集整理的html实现简单动画,编写自己的代码库(css3常用动画的实现)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

91精品国产乱码久久 | 麻豆免费在线播放 | 色网站在线免费 | 国内丰满少妇猛烈精品播放 | 久久午夜网| 久久热亚洲| 91大神免费视频 | 国精产品永久999 | 国产精品一区二区三区免费看 | 精品欧美一区二区三区久久久 | 久久中文字幕在线视频 | 亚洲成av人片在线观看 | 亚洲香蕉在线观看 | 精品久久一区 | 亚洲伊人网在线观看 | 亚洲在线日韩 | 国产原创在线视频 | 久久狠狠婷婷 | 伊人久久婷婷 | 国内精品视频在线播放 | 久久 一区| 美女视频黄是免费的 | 天天爽夜夜爽人人爽一区二区 | 涩涩成人在线 | 五月在线视频 | 中文字幕精品一区二区三区电影 | 国产人在线成免费视频 | 一区二区三区在线免费 | 国产日韩精品在线 | 色一色在线| 蜜臀av性久久久久蜜臀aⅴ涩爱 | 国产在线第三页 | 日韩网 | 国产亚洲精品久久久久久网站 | 99视频久久 | 久久手机在线视频 | av天天草| 怡红院久久 | 天天干中文字幕 | 成人黄色免费观看 | 999国产在线| 日韩一级电影网站 | 亚洲精品综合在线 | 久久人人爽人人片av | 日韩一区在线免费观看 | 国产精品一区专区欧美日韩 | a国产精品 | 亚欧洲精品视频在线观看 | 天天操夜操视频 | 国产高清精品在线观看 | 日韩午夜av | 欧美色888 | 久久午夜色播影院免费高清 | 久久精品99国产精品亚洲最刺激 | 国产日韩欧美精品在线观看 | 国产大尺度视频 | 亚洲精品国产精品国自产 | 91禁在线看 | 久久久国产精品久久久 | 欧美aaa级片 | 国产精品高潮呻吟久久av无 | 亚洲高清国产视频 | 午夜久久福利影院 | www五月婷婷 | 日韩久久视频 | www.久艹| 国产1区在线观看 | 九七人人干 | 7777xxxx| 在线中文字幕播放 | 在线视频成人 | 亚洲少妇影院 | 91黄色小视频 | 天天射射天天 | 波多野结衣一区三区 | 四虎在线观看网址 | 国产一区在线免费观看 | 一本色道久久精品 | 中文字幕在线观看视频免费 | 欧美极品少妇xbxb性爽爽视频 | 四虎在线免费观看视频 | 国产高清专区 | 精品国产伦一区二区三区 | 国产不卡视频在线播放 | 日韩在线精品一区 | 欧美激情综合五月色丁香 | 91黄色小视频| 久久国产精品电影 | 国产精品日韩高清 | 日韩专区在线播放 | 黄色一级片视频 | 区一区二区三在线观看 | 日韩午夜av | 亚洲综合五月 | 成人黄色av网站 | 毛片网在线观看 | 免费看搞黄视频网站 | 日韩免费在线视频 | 亚洲精品国产精品乱码不99热 | 亚洲综合精品视频 | 一级电影免费在线观看 | 岛国av在线不卡 | 国产中文字幕av | 日韩免费在线 | 91av视频在线免费观看 | www黄色com | 色小说在线 | 亚洲国产免费 | 天天综合操 | 一级一片免费看 | 天天色天天综合 | 碰超人人 | www国产亚洲| 亚洲电影第一页av | 欧美日韩亚洲在线观看 | 91chinese在线 | 2019国产精品 | 日韩乱码中文字幕 | 日日日爽爽爽 | 视频国产一区二区三区 | 成人av电影免费在线播放 | 狠狠色2019综合网 | 99精品成人 | av品善网 | 亚洲精品在线网站 | 久久免费国产电影 | 日本字幕网 | 日本美女xx | 狠狠狠操 | 免费视频91 | 在线观看完整版免费 | 久久久精选 | 欧美大片第1页 | 热久久国产精品 | 99福利片| 五月婷婷六月丁香 | 久久观看最新视频 | 人人澡人人澡人人 | 成人黄色片在线播放 | 久久精品一区二区三区中文字幕 | 91丨九色丨蝌蚪丨对白 | 成人黄色毛片 | 亚洲一级国产 | 激情婷婷色 | 国产高清一 | 成人久久综合 | 亚洲激精日韩激精欧美精品 | 国产一区二区三区高清播放 | 免费成人在线视频网站 | 91免费观看国产 | 天天干夜夜想 | 丁香六月久久综合狠狠色 | 国产成人精品av久久 | 国产一级久久 | 精品久久久久久久久久 | 美女精品网站 | 国产在线小视频 | 美女在线免费观看视频 | 国产999精品久久久 免费a网站 | 久久久久久久久久久久久久电影 | 欧美日韩亚洲在线 | 久久免费视频国产 | 亚洲美女在线国产 | 国产色综合 | 国产一级特黄电影 | 97国产大学生情侣酒店的特点 | 在线 你懂| 久久er99热精品一区二区三区 | 国产精品视频你懂的 | 精品国产一区二区三区噜噜噜 | 一级黄色片在线观看 | 久久久精品国产一区二区三区 | 2021国产在线视频 | 久草精品视频在线观看 | 东方av免费在线观看 | 17videosex性欧美| 四虎5151久久欧美毛片 | 午夜久久影院 | 性色av免费观看 | 麻豆精品传媒视频 | 免费观看性生交大片3 | 91桃色国产在线播放 | 色婷婷激情电影 | 国产中出在线观看 | 91免费黄视频 | 国产精品久久久 | 欧美另类调教 | 日本xxxxav| 欧美成人在线网站 | 精品在线观看一区二区三区 | 射久久久 | 91视频午夜 | 夜夜天天干| 碰超在线观看 | av片子在线观看 | 九九九电影免费看 | 精品在线一区二区三区 | 91麻豆视频 | 国产精品精品久久久久久 | 日韩在线国产精品 | 五月激情天| 天天噜天天色 | 天天干天天拍天天操天天拍 | 国产成人精品久久久久 | 91看片在线 | 亚洲精品乱码久久久久久蜜桃动漫 | 91麻豆传媒 | 黄色小说在线观看视频 | 久草在线这里只有精品 | 国产高清在线观看 | 97在线精品视频 | 米奇影视7777 | 中文字幕色综合网 | 狠狠狠色丁香综合久久天下网 | 亚洲精品乱码久久久久久蜜桃欧美 | 99精品国产福利在线观看免费 | 伊人www22综合色 | 天天综合狠狠精品 | 日韩视频在线不卡 | 处女av在线| 国内精品一区二区 | 免费在线观看成人 | 色多多污污| 最新日韩在线观看 | 97热久久免费频精品99 | 亚洲成人资源网 | 91亚洲国产成人久久精品网站 | 久热免费在线 | 国产成人精品在线播放 | 91黄在线看 | 91中文字幕 | 国产一级特黄毛片在线毛片 | 久久66热这里只有精品 | 9999在线观看 | 综合网久久 | 九九免费在线看完整版 | 国产亚洲精品综合一区91 | 国产中文字幕一区 | 日韩大片在线看 | 婷婷久月 | 久草在线视频在线观看 | 国产亚洲婷婷免费 | 亚洲国产美女精品久久久久∴ | 免费在线日韩 | 97夜夜澡人人爽人人免费 | 五月激情姐姐 | 福利一区二区三区四区 | 欧美在线视频第一页 | 久久激情综合网 | 国产成人61精品免费看片 | 麻豆国产精品一区二区三区 | 色网站中文字幕 | 日韩久久久久久 | 91精品久久久久久粉嫩 | 国产成人精品免高潮在线观看 | 欧美午夜性生活 | 国产黄在线 | 久久好看免费视频 | 精品在线免费观看 | 人人爱夜夜操 | 丁香六月国产 | 国内精品久久久久影院一蜜桃 | 在线观看a视频 | 婷婷激情在线 | 国产在线播放一区二区 | 欧美日韩视频在线播放 | 在线观看日本高清mv视频 | 99热这里有精品 | 91av视频在线观看 | 亚洲精品456在线播放第一页 | 免费观看版 | 日韩欧美在线观看一区 | 久久天 | 日日躁天天躁 | 欧美日韩99| 国产中文字幕一区二区三区 | 99在线免费视频 | 欧美老人xxxx18 | 啪啪免费试看 | 在线免费国产视频 | 日韩欧美一级二级 | 国产亚洲精品电影 | 国产中文字幕国产 | 在线国产欧美 | 草久视频在线观看 | 黄色国产精品 | 国产精品女教师 | 免费看黄色小说的网站 | 91污在线观看 | 国内精品久久久久久中文字幕 | 欧美性生交大片免网 | 黄色亚洲片 | 综合天天网 | 日韩视频欧美视频 | 毛片基地黄久久久久久天堂 | 在线观看精品黄av片免费 | 日本系列中文字幕 | 久久免费视频在线观看30 | 不卡的av在线 | 激情综合色图 | 亚洲国产中文字幕在线观看 | 国产一卡久久电影永久 | av手机版 | 在线免费亚洲 | 国产精品一区二区美女视频免费看 | 最新日韩在线观看 | www视频在线播放 | 五月婷丁香网 | 91成人在线网站 | 亚洲第一av在线播放 | 日韩电影在线看 | 91色国产在线 | 精品在线你懂的 | 亚洲国产精品影院 | 色综合婷婷久久 | 中文字幕色综合网 | 日韩有码第一页 | 国产在线精品区 | 久久久免费观看 | 99精品视频免费在线观看 | 欧美二区三区91 | 国产成人av片 | 天天干天天天 | 日韩精品一区二区在线观看 | 麻豆视频在线免费看 | 国产精品视频最多的网站 | 蜜桃av人人夜夜澡人人爽 | 久久精品精品电影网 | 成人免费视频a | 日韩影视精品 | 视频在线观看入口黄最新永久免费国产 | 日韩黄色大片在线观看 | 69视频网站 | 国产精品黄网站在线观看 | 亚洲理论片 | 日韩理论 | 久久精品老司机 | 久久久久久久久久影视 | 日日干日日操 | 在线视频观看你懂的 | 在线观看视频亚洲 | 日韩欧美区 | 黄色免费观看视频 | 国产午夜影院 | 色欲综合视频天天天 | 色偷偷中文字幕 | 美女视频黄是免费的 | 91亚洲国产成人 | 日本久久久亚洲精品 | 国产91影院 | 毛片的网址| 99精品视频免费全部在线 | 97在线视频免费观看 | 国产高清视频在线观看 | 国产高清在线免费视频 | 国产精品观看视频 | 国产精品一区二 | 国产一区在线免费观看 | 久久综合婷婷综合 | 911久久香蕉国产线看观看 | 国产精品中文字幕在线 | 成人免费色 | av免费在线看网站 | 久久激情视频免费观看 | 免费a级大片 | 91精彩视频 | 久久久国产影院 | 91人人揉日日捏人人看 | 国产成人精品久久久 | 91av综合| 青草视频在线 | 91在线九色 | 日韩高清三区 | 激情开心色 | 蜜臀久久99精品久久久久久网站 | 超碰在线人人97 | 中文字幕黄色 | 黄色成人av | 99日精品| 久久免费激情视频 | 超碰电影在线观看 | 福利一区二区 | 最新超碰| 国产精品久久久久久久午夜片 | 波多野结衣电影一区 | 又黄又爽又无遮挡免费的网站 | 免费在线国产 | 在线观看亚洲精品 | 欧美少妇18p| 国产精品一区二区三区观看 | 91av视频在线播放 | 国产一区二区三区在线免费观看 | 亚洲一区欧美精品 | 91丨九色丨国产在线观看 | av高清一区 | 三级视频国产 | 一区在线观看 | 久久爱资源网 | 久久综合久久久 | 99中文字幕在线观看 | 亚洲另类视频在线观看 | 免费高清无人区完整版 | 国产人成在线观看 | 激情在线网站 | 最新一区二区三区 | 天天想夜夜操 | 国产涩图 | 又黄又网站 | 日韩欧美在线视频一区二区三区 | 91精品国自产拍天天拍 | 国产成人精品一区二区三区网站观看 | 可以免费看av | 欧美激情视频一区 | 高清av免费观看 | 1区2区视频 | 国产黄色精品 | 99久久久久国产精品免费 | 亚洲一级片 | 久久黄色精品视频 | 狠狠干,狠狠操 | 国产视频手机在线 | 免费看片网站91 | 国产丝袜美腿在线 | 中文字幕综合在线 | 成人免费一区二区三区在线观看 | 日韩高清在线一区二区三区 | 久久久久久久久毛片精品 | 国产精品久久久久高潮 | 成人a毛片 | 中文字幕在线视频免费播放 | 欧美在线aaa| 色婷婷久久久综合中文字幕 | 成年人国产在线观看 | 亚洲精品av在线 | 亚洲春色成人 | 日韩欧美在线不卡 | 91免费观看视频在线 | 国产xxxx做受性欧美88 | 午夜精品久久久久久久99婷婷 | 99久久精品免费视频 | 91精品老司机久久一区啪 | 亚洲国产成人久久综合 | 一区二区三区影院 | 久久天堂精品视频 | 久久久久久久久影视 | 成人看片 | 激情婷婷久久 | 99久久日韩精品免费热麻豆美女 | 操操操日日日干干干 | av片一区 | 91精品国产福利在线观看 | 日韩欧美在线高清 | 国产欧美综合在线观看 | 天天射天天射天天射 | 亚洲激情 欧美激情 | 97精品国产97久久久久久春色 | 日韩免费电影一区二区 | 亚洲国产视频在线 | 免费网站v | 久久久久久久99精品免费观看 | 国产精品 中文在线 | 色狠狠综合 | 久久国产高清 | 狠狠综合 | 欧美日韩视频在线观看一区二区 | 成 人 黄 色视频免费播放 | 精品国产免费观看 | 亚洲成色777777在线观看影院 | 337p日本欧洲亚洲大胆裸体艺术 | 五月婷婷欧美 | 日韩欧美在线观看一区二区 | av一区二区在线观看中文字幕 | 日韩成人精品在线观看 | 1024手机看片国产 | 国产精品欧美激情在线观看 | 国产精品人人做人人爽人人添 | 久久人91精品久久久久久不卡 | 国产成人精品综合久久久久99 | 久久 地址 | 国产精品ⅴa有声小说 | 黄色免费观看网址 | 99久久www免费 | 草草草影院 | 97精品超碰一区二区三区 | 国产亚洲视频在线观看 | 日韩视频中文字幕 | 中文字幕永久在线 | japanese黑人亚洲人4k | 欧美日韩高清在线 | 亚洲,播放 | 黄色www在线观看 | 亚洲精品在线播放视频 | 天天搞天天 | 蜜臀精品久久久久久蜜臀 | 日韩黄色在线电影 | 日日操网站 | 日韩av资源在线观看 | 国产精品日韩久久久久 | 亚洲乱亚洲乱亚洲 | 人人看人人| 在线天堂v | 中文伊人 | 国内成人综合 | 在线天堂v| 久久99精品国产99久久 | 麻豆系列在线观看 | 成人福利在线播放 | 亚洲在线视频免费 | 日韩网站一区 | 亚洲成人精品 | 国产一级做a爱片久久毛片a | 人人爽人人搞 | 久久人人爽视频 | 中文字幕在线不卡国产视频 | 亚洲国产高清视频 | 婷婷色网址| 天天干天天做天天爱 | 久久久久久蜜av免费网站 | 成人午夜剧场在线观看 | 中国一级片在线观看 | 国产精品美女久久久久aⅴ 干干夜夜 | 日韩精品久久一区二区 | 欧美一区二区精品在线 | 国产一二三四在线观看视频 | 久久综合色播五月 | 亚洲一二三在线 | 丁香婷婷综合网 | 操操操综合 | 国产综合香蕉五月婷在线 | 成人av.com| 射射射综合网 | 五月婷婷影视 | 999日韩 | 超碰在线人 | 91av视屏| 狠狠干夜夜爽 | 成人av手机在线 | 久久精品在线免费观看 | 六月丁香婷 | 欧美一区三区四区 | 国产青草视频在线观看 | 国产做a爱一级久久 | 国产高清第一页 | 免费又黄又爽 | 四虎在线观看精品视频 | 一区三区视频 | 97色资源| 91香蕉视频污在线 | 久久国产成人午夜av影院潦草 | 久久伊人91| 成人黄色毛片 | 能在线看的av | 探花视频在线观看免费版 | 东方av在线免费观看 | 人人添人人澡 | 在线电影av| 亚洲无线视频 | 美女黄频免费 | 国产在线观看网站 | 在线观看片 | 亚洲国产日韩欧美在线 | 日韩国产欧美在线播放 | 精品一区二区在线免费观看 | 黄色特一级片 | 日日狠狠 | 亚洲精品一区二区三区高潮 | 黄色国产高清 | 夜色成人av | 日本精品二区 | 久草网免费 | 成人免费在线观看av | 天天干天天看 | 久草在线资源观看 | 成人精品一区二区三区电影免费 | 狠狠色综合网站久久久久久久 | 狠狠躁日日躁狂躁夜夜躁 | 国产一区二三区好的 | 成年人在线免费看视频 | 亚洲伦理一区二区 | 夜色资源站国产www在线视频 | 成人午夜片av在线看 | 伊人伊成久久人综合网站 | 欧美三人交 | 久久久三级视频 | 国产 日韩 在线 亚洲 字幕 中文 | 日本在线观看中文字幕 | 日韩精品久久久久 | 久久精品视频3 | 99国产精品免费网站 | 色综合久久99 | 免费一级特黄毛大片 | 五月天婷亚洲天综合网鲁鲁鲁 | 一区二区三区在线影院 | 亚洲欧洲精品一区二区 | 久久国产网站 | 成人黄色小视频 | 中文字幕日本在线观看 | 一区二区影院 | 96亚洲精品久久 | 久久91网 | .国产精品成人自产拍在线观看6 | 91av官网 | 美女网站在线观看 | 99精品免费在线 | 久久 精品一区 | 亚洲黄色av| 亚洲日本va中文字幕 | 在线免费视频你懂的 | 奇米网网址 | 99久久99| 免费一级特黄录像 | 欧美大香线蕉线伊人久久 | 久久色中文字幕 | 国产资源免费在线观看 | 久久91网| 91伊人久久大香线蕉蜜芽人口 | 婷婷免费视频 | 欧美日韩午夜爽爽 | 精品电影一区二区 | 日韩视频在线观看免费 | 日韩av在线影视 | 成人a在线观看 | 欧美一级免费在线 | 午夜少妇av | 久久久午夜视频 | 黄色大片视频网站 | 丁香婷五月 | 欧美精品久久久久a | 99在线热播精品免费99热 | 午夜视频播放 | 色99中文字幕| 97成人免费| 国产涩涩在线观看 | 玖玖在线观看视频 | 综合婷婷| 麻豆小视频在线观看 | 亚洲黄色在线观看 | 国产在线欧美日韩 | 色婷婷国产精品一区在线观看 | 精品久久电影 | 啪啪免费观看网站 | 高清中文字幕av | 高清国产午夜精品久久久久久 | 亚洲乱码国产乱码精品天美传媒 | 成人毛片a | 亚洲日韩欧美视频 | 国产在线小视频 | 四虎影视8848aamm | 成人av资源| 午夜视频在线观看一区 | 欧美久久影院 | 国产伦精品一区二区三区免费 | 欧美日韩高清一区二区 国产亚洲免费看 | 中文字幕乱视频 | 免费在线观看成年人视频 | 天堂网一区 | 色婷婷综合成人av | 国产一区欧美一区 | 久久黄色a级片 | 美女一区网站 | 人人澡人人爽欧一区 | avove黑丝| 免费裸体视频网 | 色婷久久| 久久精品5 | 国产精品久久久久婷婷 | 黄色一集片 | 色综合久久88色综合天天 | 日韩二区在线观看 | 成人在线免费视频观看 | 一区二区三区不卡在线 | 99热九九这里只有精品10 | 婷婷网站天天婷婷网站 | 免费成人av在线看 | 亚洲热视频 | 国产a高清 | 激情五月在线观看 | av成人亚洲| 久草在线视频资源 | 成人av资源 | 综合亚洲视频 | 中文字幕视频在线播放 | 久久夜色精品国产欧美乱极品 | 国产资源网站 | 国产九九在线 | 九九在线视频 | 亚洲综合色视频 | 国产91在| 亚洲精品自在在线观看 | 2000xxx影视 | 亚洲爱av| 欧美狠狠操 | 久久影院中文字幕 | 色五月情| 国产最新91| 成 人 黄 色视频免费播放 | 天天操综合网站 | 天天操天天射天天 | 成人在线视频网 | 亚洲国产999 | av在线进入 | 久久综合狠狠综合久久狠狠色综合 | 久久激情视频免费观看 | 久久一区国产 | 国产免费av一区二区三区 | 一级α片| 日本一区二区三区免费看 | 天天躁日日躁狠狠躁av麻豆 | 亚洲国产一区av | 久久综合九色 | 99在线国产 | 超碰九九 | av在线看片| av黄色在线观看 | 天天草天天插 | 九色自拍视频 | 免费男女网站 | 欧美成人tv | 在线看av的网址 | 精品国产免费一区二区三区五区 | 成人黄色电影在线播放 | 亚洲国内精品 | 国产一区二区免费看 | 亚洲精品在线免费播放 | 国产一级片久久 | 91精品国产高清 | 午夜在线日韩 | 91chinesexxx| 免费h精品视频在线播放 | 97超视频 | www.狠狠色| 日日夜夜天天综合 | www.亚洲激情.com | 久久久电影 | 亚洲五月花 | 亚洲做受高潮欧美裸体 | av成人在线电影 | 久精品视频 | 成年人国产在线观看 | 激情在线网址 | 日韩午夜剧场 | 97在线看 | 国产剧情一区二区在线观看 | 中文字幕免费观看 | 亚洲精品影视在线观看 | 欧美激情操 | 国产精品成久久久久三级 | 国产精品久久久久久久久久免费 | 久要激情网 | 欧美精品久久久久久久久久久 | 欧美日韩中文在线观看 | 中文有码在线视频 | 国产三级午夜理伦三级 | 亚洲免费小视频 | 久久久精品福利视频 | 国产成人精品一区一区一区 | 欧美 另类 交 | 91精品国产成人观看 | 黄色毛片在线观看 | 久久久久久久久久久电影 | 久久精品久久精品 | 欧美日韩国产色综合一二三四 | 国产 日韩 在线 亚洲 字幕 中文 | 欧美日韩中文在线观看 | 狠狠干夜夜爽 | 在线欧美中文字幕 | 五月精品 | 欧美另类交人妖 | 日韩激情视频 | 亚洲综合最新在线 | 91成人国产 | 97国产情侣爱久久免费观看 | 日韩在线不卡av | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 日韩午夜小视频 | 国产精品99久久久久久武松影视 | 精品久久久精品 | 国产精品丝袜久久久久久久不卡 | 色多视频在线观看 | 日韩动态视频 | 亚洲精品中文字幕在线 | 亚洲免费av电影 | 久久精品国亚洲 | 日韩欧美国产激情在线播放 | 婷婷九月激情 | 日韩二区在线观看 | 国产成人1区 | 安徽妇搡bbbb搡bbbb | 国产精品一区二区你懂的 | 国产原创在线 | www国产亚洲 | 一级性av | 欧洲视频一区 | 日韩亚洲国产精品 | 亚洲精品国产高清 | 亚洲无吗天堂 | 中文字幕a∨在线乱码免费看 | 91视频一8mav | 欧美成年性 | 日本丶国产丶欧美色综合 | 国产精品18毛片一区二区 | 国产黄色理论片 | 久久天| 91网在线观看 | 天天干天天操天天爱 | 一区二区三区国产欧美 | 福利久久久 | 中文字幕在线日本 | 毛片www | 久久久久久久久久久综合 | 麻豆视屏 | 91九色国产在线 | 视频 天天草| 国产亚洲久一区二区 | 国内视频 | 天堂网一区| 99九九免费视频 | 人人揉人人揉人人揉人人揉97 | 国产精品免费观看久久 | 婷婷精品国产欧美精品亚洲人人爽 | 久草热久草视频 | 福利一区二区在线 | www.夜夜爱| 在线91精品 | av电影免费在线看 | 在线免费色视频 | 草久在线视频 | 久要激情网| 黄色三级免费网址 | 国产成人在线免费观看 | 久久国色夜色精品国产 | 欧美日韩色婷婷 | 在线国产能看的 | 免费在线观看av | 中文字幕 在线 一 二 | 国产不卡av在线 | av中文字幕网 | 黄色视屏在线免费观看 | 中文字幕中文字幕中文字幕 | 久久精品免费观看 | 成人性生交大片免费观看网站 | 中文字幕在线观看免费观看 | 久久成人国产 | 欧亚日韩精品一区二区在线 | 综合伊人av | 亚洲天堂精品视频在线观看 | 狠狠干 狠狠操 | 超碰97人人干 | 91中文字幕在线视频 | 欧美一区二区在线看 | 91福利国产在线观看 | 天天天干天天射天天天操 | 亚州精品在线视频 | 免费黄色a网站 | 美女精品网站 | 99国内精品 | av电影免费 | 国产精品毛片一区二区三区 | 五月婷婷色综合 | 国产午夜剧场 | 探花视频在线观看+在线播放 | 国产精品3区 | 国产成人久久精品一区二区三区 | 毛片视频网址 | 丁香婷婷综合五月 | 欧美在线视频二区 | 久久这里只有精品视频99 | 亚洲成人精品久久久 | 久久久久久久久毛片 | 色91av| 一区三区在线欧 | 精品一区 精品二区 | 国产精品福利在线观看 | 在线观看精品 | 亚洲在线成人精品 | 国产一级片网站 | 久久国产高清视频 | 在线亚洲日本 | 精品亚洲国产视频 | 99久久99久久精品国产片果冰 | 国产精品原创在线 | 免费精品久久久 | 国内精品一区二区 | 97国产大学生情侣白嫩酒店 | 天天天天爱天天躁 | 麻豆视频网址 | 亚一亚二国产专区 | 成人免费在线播放 | 久草在线最新 | 91精品视频在线看 | 国产精品中文字幕在线观看 | 国产在线精品二区 | 久久99国产精品视频 | 亚洲电影图片小说 | 亚洲春色综合另类校园电影 | 国产玖玖精品视频 | 久久久久久毛片 | 久久久999免费视频 日韩网站在线 | 亚洲色视频 | 人人干干人人 | 国产日韩欧美在线播放 | 国产精品高清一区二区三区 | 欧美激情在线看 | 久久国产剧场电影 | 国产精品嫩草影院123 | 国产精品69久久久久 | 欧美一级欧美一级 | 中文字幕在线播放第一页 | 中文字幕亚洲高清 | 青青河边草免费观看 | 欧美日韩视频在线一区 | 在线国产91 | 久久国产一二区 | 国产视频一二三 | 在线观看视频国产 | 午夜视频在线网站 | 精品国产91亚洲一区二区三区www | 在线观看免费福利 | 91高清视频| 日韩在线观看精品 | 丁香综合网 | 亚洲激情在线视频 | 超碰在线日本 | 99亚洲国产精品 | 国产麻豆精品传媒av国产下载 | 亚洲国产一区在线观看 | 99视频 | 久久国产精品99久久久久 | 国产午夜精品一区二区三区四区 | 国产午夜三级一区二区三桃花影视 | 国产69精品久久久久99 | 日本最大色倩网站www | 天天爱天天干天天爽 | 亚洲欧美视频 | 国产97色 | 国产又粗又猛又色 | 亚洲欧洲精品一区二区精品久久久 | 国产精品久久久久影院 | 久久99这里只有精品 | 日日日干 | 久久久久久久国产精品视频 | 999ZYZ玖玖资源站永久 | 视频一区久久 | 中文字幕在线观看视频一区二区三区 | 91九色在线观看 | 亚洲视频一级 | 99精品偷拍视频一区二区三区 | 亚洲欧美在线观看视频 | 天天摸夜夜添 | 亚洲欧美激情插 | 国产黄色av网站 | 最新久久久 | 久热超碰 | 亚洲干视频在线观看 | 亚洲一区二区视频在线 | 日本99久久| 国产 一区二区三区 在线 | 中文字幕乱偷在线 | 激情伊人五月天久久综合 | 97视频总站| 涩涩网站在线观看 | 中文字幕电影一区 | 精品国产成人在线影院 | 91精品国自产拍天天拍 | 亚洲精品字幕在线 | 1区2区3区在线观看 三级动图 | 一区二区久久久久 | 色吊丝在线永久观看最新版本 | 亚洲清纯国产 | 中文字幕在线观看第三页 | 在线精品视频免费播放 | 欧美一级片在线免费观看 | 在线a亚洲视频播放在线观看 | 美女免费黄视频网站 | 91尤物国产尤物福利在线播放 | 亚洲一区二区三区精品在线观看 | 蜜桃视频日本 | 婷婷色视频 | 九九在线免费视频 | 久久综合射 | 国产亚洲人 | 黄色午夜 | 久久艹久久 | 亚洲资源在线观看 | 美女网站视频久久 | 日韩 精品 一区 国产 麻豆 | 天天玩天天干 | 日韩视频1区 | 国产成人久| 久久久色 | 久久午夜色播影院免费高清 | 久久99精品国产一区二区三区 | 国产精品资源在线观看 | 日批视频在线播放 | 中文字幕在线日亚洲9 | 一本—道久久a久久精品蜜桃 | 亚洲精品视频在线观看视频 | 人人爽人人爽人人爽人人爽 |