国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Web動畫之科技感十足的暗黑字符雨動畫

開發(fā) 前端
本文將使用純 CSS,帶大家一步一步實現(xiàn)一個這樣的科幻字符跳動背景動畫。運用在一些類似科技主題的背景之上,非常的添彩。

[[415186]]

本文將使用純 CSS,帶大家一步一步實現(xiàn)一個這樣的科幻字符跳動背景動畫。類似于這樣的字符雨動畫:

圖片

Digital Char Rain Animation

或者是類似于這樣的:

圖片

CodePen Home Matrix digital rain (animated version) By yuanchuan

運用在一些類似科技主題的背景之上,非常的添彩。

文字的豎排

首先第一步,就是需要實現(xiàn)文字的豎向排列:

圖片

這一步非常的簡單,可能方法也很多,這里我簡單羅列一下:

1.使用控制文本排列的屬性 writing-mode 進行控制,可以通過 writing-mode: vertical-lr 等將文字進行豎向排列,但是對于數(shù)字和英文,將會旋轉(zhuǎn) 90° 展示:

  1. <p>1234567890ABC</p> 
  2. <p>中文或其他字符ォヶ</p> 
  1. p { 
  2.     writing-mode: vertical-lr;  
圖片

當然這種情況下,英文字符的展示不太滿足我們的需求。

2.控制容器的寬度,控制每行只能展示 1 個中文字符。

這個方法算是最簡單便捷的方法了,但是由于英文的特殊性,要讓連續(xù)的長字符串自然的換行,我們還需要配合 word-break: break-all :

  1. p { 
  2.     width: 12px; 
  3.     font-size: 10px; 
  4.     word-break: break-all

效果如下,滿足需求:

圖片

使用 CSS 實現(xiàn)隨機字符串的選取

為了讓我們的效果更加自然。每一列的字符的選取最好是隨機的。

但是要讓 CSS 實現(xiàn)隨機生成每一列的字符可太難了。所以這里我們請出 CSS 預處理器 SASS/LESS 。

而且由于不太可能利用 CSS 給單個標簽內(nèi),譬如

標簽插入字符,所以我們把標簽內(nèi)的字符展示,放在每個

元素的偽元素 ::before 的 content 當中。

我們可以提前設置好一組字符串,然后利用 SASS function 隨機生成每一次元素內(nèi)的 content,偽代碼如下:

  1. <div> 
  2.     <p></p> 
  3.     <p></p> 
  4.     <p></p> 
  5. </div> 
  1. $str: 'ぁぃぅぇぉかきくけこんさしすせそた◁▣▤▥▦▧♂♀♥☻►◄▧▨♦ちつってとゐなにぬねのはひふへほゑまみむめもゃゅょゎをァィゥヴェォカヵキクケヶコサシスセソタチツッテトヰンナニヌネノハヒフヘホヱマミムメモャュョヮヲㄅㄉㄓㄚㄞㄢㄦㄆㄊㄍㄐㄔㄗㄧㄛㄟㄣㄇㄋㄎㄑㄕㄘㄨㄜㄠㄤㄈㄏㄒㄖㄙㄩㄝㄡㄥabcdefghigklmnopqrstuvwxyz123456789%@#$<>^&*_+'
  2. $length: str-length($str); 
  3.  
  4. @function randomChar() { 
  5.     $r: random($length); 
  6.     @return str-slice($str, $r, $r); 
  7.  
  8. @function randomChars($number) { 
  9.     $value: ''
  10.  
  11.     @if $number > 0 { 
  12.         @for $i from 1 through $number { 
  13.             $value: $value + randomChar(); 
  14.         } 
  15.     } 
  16.     @return $value; 
  17.  
  18. p:nth-child(1)::before { 
  19.     content: randomChars(25); 
  20. p:nth-child(2)::before { 
  21.     content: randomChars(25); 
  22. p:nth-child(3)::before { 
  23.     content: randomChars(25); 

簡單解釋下上面的代碼:

  1. $str 定義了一串隨機字符串,$length 表示字符串的長度
  2. randomChar() 中利用了 SASS 的 random() 方法,每次隨機選取一個 0 - $length 的整形數(shù),記為 $r,再利用 SASS 的 str-slice 方法,每次從 $str 中選取一個下標為 $r 的隨機字符
  3. randomChars() 就是循環(huán)調(diào)用 randomChar() 方法,從 $str 中隨機生成一串字符串,長度為傳進去的參數(shù) $number

這樣,每一列的字符,每次都是不一樣的:

圖片

當然,上述的方法我認為不是最好的,CSS 的偽元素的 content 是支持字符編碼的,譬如 content: '\3066'; 會被渲染成字符 て,這樣,通過設定字符區(qū)間,配合 SASS function 可以更好的生成隨機字符,但是我嘗試了非常久,SASS function 生成的最終產(chǎn)物會在 \ 和 3066 這樣的數(shù)字間添加上空格,無法最終通過字符編碼轉(zhuǎn)換成字符,最終放棄...

使用 CSS 實現(xiàn)打字效果

OK,繼續(xù),接下來我們要使用 CSS 實現(xiàn)打字效果,就是讓字符一個一個的出現(xiàn),像是這樣:

圖片

純 CSS 實現(xiàn)文字輸入效果

這里借助了 animation 的 steps 的特性實現(xiàn),也就是逐幀動畫。

從左向右和從上向下原理是一樣的,以從左向右為例,假設我們有 26 個英文字符,我們已知 26 個英文字符組成的字符串的長度,那么我們只需要設定一個動畫,讓它的寬度變化從 0 - 100% 經(jīng)歷 26 幀即可,配合 overflow: hidden,steps 的每一幀即可展出一個字符。

當然,這里需要利用一些小技巧,我們?nèi)绾瓮ㄟ^字符的數(shù)量知道字符串的長度呢?

劃重點:通過等寬字體的特性,配合 CSS 中的 ch 單位。

如果不了解什么是等寬字體族,可以看看我的這篇文章 -- 《你該知道的字體 font-family》[1]。

CSS 中,ch 單位表示數(shù)字 “0” 的寬度。如果字體恰巧又是等寬字體,即每個字符的寬度是一樣的,此時 ch 就能變成每個英文字符的寬度,那么 26ch 其實也就是整個字符串的長度。

利用這個特性,配合 animation 的 steps,我們可以輕松的利用 CSS 實現(xiàn)打字動畫效果:

  1. <h1>Pure CSS Typing animation.</h1> 
  1. h1 { 
  2.     font-family: monospace; 
  3.     width: 26ch; 
  4.     white-space: nowrap; 
  5.     overflow: hidden; 
  6.     animation: typing 3s steps(26, end); 
  7.  
  8. @keyframes typing { 
  9.     0{ 
  10.         width: 0; 
  11.     } 
  12.     100% { 
  13.         width: 26ch; 
  14.      } 

就可以得到如下結(jié)果啦:

圖片

純 CSS 實現(xiàn)文字輸入效果

完整的代碼你可以戳這里:

CodePen Demo -- 純 CSS 實現(xiàn)文字輸入效果[2]

改造成豎向打字效果

接下來,我們就運用上述技巧,改造一下。將一個橫向的打字效果改造成豎向的打字效果。

核心的偽代碼如下:

  1. <div> 
  2.     <p></p> 
  3.     <p></p> 
  4.     <p></p> 
  5. </div> 
  1. $str: 'ぁぃぅぇぉかきくけこんさしすせそた◁▣▤▥▦▧♂♀♥☻►◄▧▨♦ちつってとゐなにぬねのはひふへほゑまみむめもゃゅょゎをァィゥヴェォカヵキクケヶコサシスセソタチツッテトヰンナニヌネノハヒフヘホヱマミムメモャュョヮヲㄅㄉㄓㄚㄞㄢㄦㄆㄊㄍㄐㄔㄗㄧㄛㄟㄣㄇㄋㄎㄑㄕㄘㄨㄜㄠㄤㄈㄏㄒㄖㄙㄩㄝㄡㄥabcdefghigklmnopqrstuvwxyz123456789%@#$<>^&*_+'
  2. $length: str-length($str); 
  3.  
  4. @function randomChar() { 
  5.     $r: random($length); 
  6.     @return str-slice($str, $r, $r); 
  7.  
  8. @function randomChars($number) { 
  9.     $value: ''
  10.  
  11.     @if $number > 0 { 
  12.         @for $i from 1 through $number { 
  13.             $value: $value + randomChar(); 
  14.         } 
  15.     } 
  16.     @return $value; 
  17.  
  18. p { 
  19.     width: 12px; 
  20.     font-size: 10px; 
  21.     word-break: break-all
  22.  
  23. p::before { 
  24.     content: randomChars(20); 
  25.     color: #fff; 
  26.     animation: typing 4s steps(20, end) infinite; 
  27.  
  28. @keyframes typing { 
  29.     0% { 
  30.         height: 0; 
  31.     } 
  32.     25% { 
  33.         height: 100%; 
  34.     } 
  35.     100% { 
  36.         height: 100%; 
  37.     } 

這樣,我們就實現(xiàn)了豎向的打字效果:

圖片

當然,這樣看上去比較整齊劃一,缺少了一定的隨機,也就缺少了一定的美感。

基于此,我們進行 2 點改造:

  1. 基于動畫的時長 animation-time、和動畫的延遲 animation-delay,增加一定幅度內(nèi)的隨機
  2. 在每次動畫的末尾或者過程中,重新替換偽元素的 content,也就是重新生成一份 content

可以借助 SASS 非常輕松的實現(xiàn)這一點,核心的 SASS 代碼如下:

  1. $n: 3; 
  2. $animationTime: 3; 
  3. $perColumnNums: 20; 
  4.  
  5. @for $i from 0 through $n { 
  6.     $content: randomChars($perColumnNums); 
  7.     $contentNext: randomChars($perColumnNums); 
  8.     $delay: random($n); 
  9.     $randomAnimationTine: #{$animationTime + random(20) / 10 - 1}s; 
  10.  
  11.     p:nth-child(#{$i})::before { 
  12.         content: $content; 
  13.         color: #fff; 
  14.         animation: typing-#{$i} $randomAnimationTine steps(20, end) #{$delay * 0.1s * -1} infinite; 
  15.     } 
  16.  
  17.     @keyframes typing-#{$i} { 
  18.         0% { 
  19.             height: 0; 
  20.         } 
  21.         25% { 
  22.             height: 100%; 
  23.         } 
  24.         100% { 
  25.             height: 100%; 
  26.             content: $contentNext; 
  27.         } 
  28.     } 

看看效果,已經(jīng)有不錯的改觀:

圖片

當然,上述由橫向打字轉(zhuǎn)變?yōu)樨Q向打字效果其實是有一些不一樣的。在現(xiàn)有的豎向排列規(guī)則下,無法通過 ch 配合字符數(shù)拿到實際的豎向高度。所以這里有一定的取舍,實際放慢動畫來看,沒個字的現(xiàn)出不一定是完整的。

當然,在快速的動畫效果下幾乎是察覺不到的。

增加光影與透明度變化

最后一步,就是增加光影及透明度的變化。

最佳的效果是要讓每個新出現(xiàn)的字符保持亮度最大,同時已經(jīng)出現(xiàn)過的字符亮度慢慢減弱。

但是由于這里我們無法精細操控每一個字符,只能操控每一行字符,所以在實現(xiàn)方式上必須另辟蹊徑。

最終的方式是借用了另外一個偽元素進行同步的遮罩以實現(xiàn)最終的效果。下面我們就來一步一步看看過程。

給文字增添亮色及高光

第一步就是給文字增添亮色及高光,這點非常容易,就是選取一個黑色底色下的亮色,并且借助 text-shadow 讓文字發(fā)光。

  1. p::before { 
  2.     color: rgb(179, 255, 199); 
  3.     text-shadow: 0 0 1px #fff, 0 0 2px #fff, 0 0 5px currentColor, 0 0 10px currentColor; 

看看效果,左邊是白色字符,中間是改變字符顏色,右邊是改變了字體顏色并且添加了字體陰影的效果:

圖片

給文字添加同步遮罩

接下來,就是在文字動畫的行進過程中,同步添加一個黑色到透明的遮罩,盡量還原讓每個新出現(xiàn)的字符保持亮度最大,同時已經(jīng)出現(xiàn)過的字符亮度慢慢減弱。

這個效果的示意圖大概是這樣的,這里我將文字層和遮罩層分開,并且底色從黑色改為白色,方便理解:

蒙層遮罩原理圖

大概的遮罩的層的偽代碼如下,用到了元素的另外一個偽元素:

  1. p::after { 
  2.     content: ''
  3.     background: linear-gradient(rgba(0, 0, 0, .9), transparent 75%, transparent); 
  4.     background-size: 100% 220%; 
  5.     background-repeat: no-repeat; 
  6.     animation: mask 4s infinite linear; 
  7.  
  8. @keyframes mask { 
  9.     0% { 
  10.         background-position: 0 220%; 
  11.     }  
  12.     30% { 
  13.         background-position: 0 0%; 
  14.     } 
  15.     100% { 
  16.         background-position: 0 0%; 
  17.     } 

好,合在一起的最終效果大概就是這樣:

圖片

通過調(diào)整 @keyframes mask 的一些參數(shù),可以得到不一樣的字符漸隱效果,需要一定的調(diào)試。

完整代碼及效果

OK,拆解了一下主要的步驟,最后上一下完整代碼,應用了 Pug 模板引擎和 SASS 語法。

完整代碼加起來不過 100 行。

  1. .g-container 
  2.     -for(var i=0; i<50; i++) 
  3.         p 
  1. @import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@200&display=swap'); 
  2.  
  3. $str: 'ぁぃぅぇぉかきくけこんさしすせそた◁▣▤▥▦▧♂♀♥☻►◄▧▨♦ちつってとゐなにぬねのはひふへほゑまみむめもゃゅょゎをァィゥヴェォカヵキクケヶコサシスセソタチツッテトヰンナニヌネノハヒフヘホヱマミムメモャュョヮヲㄅㄉㄓㄚㄞㄢㄦㄆㄊㄍㄐㄔㄗㄧㄛㄟㄣㄇㄋㄎㄑㄕㄘㄨㄜㄠㄤㄈㄏㄒㄖㄙㄩㄝㄡㄥabcdefghigklmnopqrstuvwxyz123456789%@#$<>^&*_+'
  4. $length: str-length($str); 
  5. $n: 50; 
  6. $animationTime: 4; 
  7. $perColumnNums: 25; 
  8.  
  9. @function randomChar() { 
  10.     $r: random($length); 
  11.     @return str-slice($str, $r, $r); 
  12.  
  13. @function randomChars($number) { 
  14.     $value: ''
  15.  
  16.     @if $number > 0 { 
  17.         @for $i from 1 through $number { 
  18.             $value: $value + randomChar(); 
  19.         } 
  20.     } 
  21.     @return $value; 
  22.  
  23. body, html { 
  24.     width: 100%; 
  25.     height: 100%; 
  26.     background: #000; 
  27.     display: flex; 
  28.     overflow: hidden; 
  29.  
  30. .g-container { 
  31.     width: 100vw; 
  32.     display: flex; 
  33.     justify-content: space-between
  34.     flex-wrap: nowrap; 
  35.     flex-direction: row; 
  36.     font-family: 'Inconsolata', monospace, sans-serif; 
  37.  
  38. p { 
  39.     position: relative
  40.     width: 5vh; 
  41.     height: 100vh; 
  42.     text-align: center; 
  43.     font-size: 5vh; 
  44.     word-break: break-all
  45.     white-space: pre-wrap; 
  46.      
  47.     &::before, 
  48.     &::after { 
  49.         position: absolute
  50.         top: 0; 
  51.         left: 0; 
  52.         right: 0; 
  53.         height: 100%; 
  54.         overflow: hidden; 
  55.     } 
  56.  
  57. @for $i from 0 through $n { 
  58.     $content: randomChars($perColumnNums); 
  59.     $contentNext: randomChars($perColumnNums); 
  60.     $delay: random($n); 
  61.     $randomAnimationTine: #{$animationTime + random(20) / 10 - 1}s; 
  62.    
  63.     p:nth-child(#{$i})::before { 
  64.         content: $content; 
  65.         color: rgb(179, 255, 199); 
  66.         text-shadow: 0 0 1px #fff, 0 0 2px #fff, 0 0 5px currentColor, 0 0 10px currentColor; 
  67.         animation: typing-#{$i} $randomAnimationTine steps(20, end) #{$delay * 0.1s * -1} infinite; 
  68.         z-index: 1; 
  69.     } 
  70.  
  71.     p:nth-child(#{$i})::after { 
  72.         $alpha: random(40) / 100 + 0.6; 
  73.         content: ''
  74.         background: linear-gradient(rgba(0, 0, 0, $alpha), rgba(0, 0, 0, $alpha), rgba(0, 0, 0, $alpha), transparent 75%, transparent); 
  75.         background-size: 100% 220%; 
  76.         background-repeat: no-repeat; 
  77.         animation: mask $randomAnimationTine infinite #{($delay - 2) * 0.1s * -1} linear; 
  78.         z-index: 2; 
  79.     } 
  80.  
  81.     @keyframes typing-#{$i} { 
  82.         0% { 
  83.             height: 0; 
  84.         } 
  85.         25% { 
  86.             height: 100%; 
  87.         } 
  88.         100% { 
  89.             height: 100%; 
  90.             content: $contentNext; 
  91.         } 
  92.     } 
  93.  
  94. @keyframes mask{ 
  95.     0% { 
  96.         background-position: 0 220%; 
  97.     }  
  98.     30% { 
  99.         background-position: 0 0%; 
  100.     } 
  101.     100% { 
  102.         background-position: 0 0%; 
  103.     } 

最終效果也就是題圖所示:

圖片

Digital Char Rain Animation

完整的代碼及演示效果你可以戳這里:

CodePen Demo -- Digital Char Rain Animation[3]

最后

靈感源自 袁川[4] 老師的這個效果 CodePen Demo -- Matrix digital rain[5],原效果使用了 JavaScript· 實現(xiàn),本文利用純 CSS 進行了演繹。

好了,本文到此結(jié)束,希望對你有幫助 :)

參考資料

[1]《你該知道的字體 font-family》:

https://github.com/chokcoco/iCSS/issues/6

[2]CodePen Demo -- 純 CSS 實現(xiàn)文字輸入效果:

https://codepen.io/Chokcoco/pen/WXGoGB

[3]CodePen Demo -- Digital Char Rain Animation:

https://codepen.io/Chokcoco/pen/bGWvNme

[4]袁川:

https://github.com/yuanchuan

[5]CodePen Demo -- Matrix digital rain:

https://codepen.io/yuanchuan/pen/YoqWeR

責任編輯:姜華 來源: iCSS前端趣聞
相關推薦

2011-10-09 16:20:08

MongoDBJournaling

2020-08-31 10:16:14

Windows 10微軟更新

2021-02-21 08:12:24

SVG線條動畫Web動畫

2012-08-22 09:10:45

Chrome OS操作系統(tǒng)

2020-12-14 09:59:51

5G技術(shù)網(wǎng)絡

2015-04-01 11:47:56

京東彈性云

2021-02-21 07:49:40

Web動畫SVG線條動畫

2013-05-02 14:02:58

App

2015-09-29 10:37:35

LG

2017-07-27 10:36:20

銀河護衛(wèi)隊 OptiPlex家族

2009-01-15 09:21:28

北電網(wǎng)絡破產(chǎn)保護虧損

2016-08-22 13:13:18

云計算云服務公有云

2025-12-04 08:16:01

2013-11-20 09:39:56

Windows 8.1Windows 8.1

2012-02-01 17:06:35

2025-02-03 10:00:00

DeepSeekChatGPT人工智能

2022-01-26 18:59:08

Python工具

2015-09-28 14:38:00

LG
點贊
收藏

51CTO技術(shù)棧公眾號

人人精品视频| 欧美男人操女人视频| 久久精品亚洲乱码伦伦中文| 国产三级精品网站| 欧美爱爱视频| 亚洲成色777777在线观看影院| 2018高清国产日本一道国产| 国产乱码精品1区2区3区| 91原创国产| 精品资源在线| 一本大道亚洲视频| 调教一区二区| 欧美日韩一级片网站| 波多野吉衣av| 久久久电影一区二区三区| 亚洲伊人婷婷| 最新日韩在线| 成人黄色免费网站在线观看| 老牛国内精品亚洲成av人片| 中文字幕亚洲一区二区三区五十路| 日韩123区| 欧美图区在线视频| 在线观看免费观看在线91| 国产精品天干天干在线综合| 久久久久久黄色| 欧洲亚洲一区| 亚洲深深色噜噜狠狠爱网站| 2019中文字幕免费视频| 国产69精品久久久久9999人| 日韩av影院在线观看| 四虎久久免费| 91豆麻精品91久久久久久| 最美情侣韩剧在线播放| 亚洲手机成人高清视频| 日韩一级片播放| 久久蜜桃av一区精品变态类天堂 | 都市激情亚洲色图| 俄罗斯xxxx性全过程| 国产精品久久午夜| 成人免费xx| 亚洲欧洲美洲综合色网| 91xxxxx| 国产精品丝袜一区| 欧美成人黄色网址| 最新热久久免费视频| a√免费观看在线网址www| 最新成人av在线| 午夜成在线www| 欧美日韩国内自拍| 都市激情在线视频| 精品奇米国产一区二区三区| 91九色在线看| 播播国产欧美激情| free性欧美1819hd| 亚洲女同女同女同女同女同69| 四虎av网址| 北条麻妃av高潮尖叫在线观看| 视频一区不卡| 中文字幕人妻熟女人妻洋洋| 国产在线精品免费av| 亚洲欧洲精品一区二区三区波多野1战4| 日韩最新免费不卡| 天堂аⅴ在线最新版在线| 国产精品久线观看视频| 啊啊啊啊啊啊啊视频在线播放| 日韩08精品| 99久久婷婷国产综合精品| 国产成人在线中文字幕| www.久久撸.com| 亚洲精品无播放器在线播放| 精品国产乱码久久久久久婷婷| 在线成人动漫| 欧美色爱综合网| 激情视频网站在线播放色| 最近免费中文字幕视频2019| 成人在线视频你懂的| 亚洲直播在线一区| 国产精品一区免费在线| 欧美日韩另类字幕中文| 精品无人乱码| 精品国产乱子伦一区| 97精品资源在线观看| 国产日韩av高清| 奇米色一区二区三区四区| 一本久道综合色婷婷五月| 亚洲午夜精品久久久久久久久| 日本亚洲精品| www.欧美免费| 午夜精品久久久久久久四虎美女版| 日韩av电影免费观看| 久久综合五月天婷婷伊人| 写真片福利在线播放| 欧美成人一级视频| 9国产精品午夜| 精品国产免费人成电影在线观...| 国产精一区二区三区| 手机福利视频欧美| 亚洲第一页自拍| 国产videos久久| 亚洲国产欧洲综合997久久 | 色爱av美腿丝袜综合粉嫩av | 日韩欧美一区在线| 国产视频一区二区在线播放| 91老司机精品视频| 成人黄色小视频在线观看| 粉嫩粉嫩芽的虎白女18在线视频| 宅男噜噜噜66一区二区66| 国产精久久久| 久久91麻豆精品一区| 在线一区二区三区四区五区| 国产高潮在线| 国产精品黄色av| 午夜亚洲伦理| 天堂在线资源视频| 激情婷婷欧美| 国产精品96久久久久久又黄又硬 | 欧美不卡在线视频| 日韩精品一二三四| 成人免费在线网| 成人激情自拍| 岛国视频一区| 国产精品久久99| 好吊日av在线| 91在线高清视频| 国产人伦精品一区二区| 日本高清成人vr专区| 欧美人伦禁忌dvd放荡欲情| 最新国产在线视频| 国产一级揄自揄精品视频| 欧美日韩三区| 日本视频一二区| 欧美xxxx做受欧美| 极品尤物av久久免费看| 成年人视频免费在线观看| 日韩av大片在线| www欧美成人18+| 91白丝在线| 精品国产乱码久久久久久88av| 亚洲综合激情网| 国产色噜噜噜91在线精品 | 欧美videossex| 99在线高清视频在线播放| 日本一区二区三区四区| 日韩精选视频| 自拍视频一区二区三区| 日韩三级电影网址| aa级大片欧美三级| 国产人成在线视频| 91精品免费视频| 亚洲精品一卡二卡| 国内精品麻豆美女在线播放视频 | 亚洲中无吗在线| 日本高清视频网站www| 久久男人av资源网站| 久久一区二区三区四区| 成人18视频在线观看| 国产曰肥老太婆无遮挡| 亚洲视频视频在线| 国产精品一区二区无线| 亚洲精品88| 女人帮男人橹视频播放| 日日摸夜夜添一区| 久久一留热品黄| 国产精品毛片视频| 国产jizz| 国产在线观看一区二区三区 | 国产精品青草久久久久福利99| 中文字幕一区二区三区在线不卡 | 日韩a级作爱片一二三区免费观看| 国产成人aa精品一区在线播放| 中文字幕中文字幕一区二区 | 午夜先锋成人动漫在线| 又黄又爽又色视频| 日本中文字幕久久看| 免费视频观看成人| 亚洲电影免费观看高清完整版在线观看 | 激情久久久久| 超碰在线影院| 亚洲国内在线| 曰本色欧美视频在线| 国产亚洲短视频| 精品一区免费| 久久精品蜜桃| 亚洲欧洲久久| 日韩在线播放视频| 最新日韩av在线| 91精品一区国产高清在线gif| 1024免费在线视频| 亚洲欧美自拍一区| 99久久精品免费看| 香蕉视频一区二区三区| 亚洲有码转帖| 亚洲电影免费| 欧美精品做受xxx性少妇| 亚洲精品美腿丝袜| 亚洲一区黄色| 国产精品亚洲四区在线观看| 欧美写真视频一区| 神马影院一区二区三区| 色综合久久久888|