精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

CSS 即將支持嵌套,SASS/LESS 等預處理器已無用武之地?

開發 前端
隨著 CSS 自定義屬性(CSS Variable)的大規模兼容,到如今 CSS 即將支持嵌套,一些預處理器的核心功能已經被 CSS 原生支持,這是否表示 SASS/LESS 等預處理器已無用武之地?即將被淘汰了?

[[417033]]

最近,有一則非常振奮人心的消息,CSS 即將原生支持嵌套 -- Agenda+ to publish FPWD of Nesting[1],表示 CSS 嵌套規范即將進入規范的 FWPD 階段。

目前對應的規范為 -- CSS Nesting Module[2]

隨著 CSS 自定義屬性(CSS Variable)的大規模兼容,到如今 CSS 即將支持嵌套,一些預處理器的核心功能已經被 CSS 原生支持,這是否表示 SASS/LESS 等預處理器已無用武之地?即將被淘汰了?

規范的幾個階段

首先簡單介紹一下,一個規范從提出到落地,會經歷的一些階段:

  1. 編輯草案 Editor's Draft (ED)
  2. 工作草案 Working Draft (WD)
  3. 過渡-最后通告工作草案 Transition – Last Call Working Draft (LCWD)
  4. 候選推薦標準 Candidate Recommendation (CR)
  5. 過渡-建議推薦標準 Transition – Proposed Recommendations (PR)
  6. 推薦標準 Recommendation (REC)

上文說的,即將進入 FPWD,只是處于規范的第 2 個階段 WD 階段,FPWD 表示第一次公開工作草案( First Public Working Draft (FPWD))。FPWD 后面還會有數個工作草案,會處理來自 CSSWG 內部和小組外部更廣泛社會的反饋。完善規范的設計。

也就是說,目前來看,即便后面的流程順利,要等到瀏覽器大范圍實現該規范到能落地的那天還有非常長一段時間。

除此之外,我覺得 SASS\LESS 等預處理器還有一些比較有意思的功能(函數),是即便原生 CSS 支持了自定義屬性和嵌套之后依舊欠缺的,我簡單羅列羅列我的看法。

for() 循環函數

目前,原生 CSS 依舊不支持循環函數。

但是其實在預處理器中,循環還算是比較常用的一個功能。考慮下面這種布局:

[[417034]]

ul 下面有多個 li,每個 li 的高度遞增 20px,一個一個寫當然也可以,但是有了循環其實能極大減少工作量:

  1. <ul> 
  2.     <li></li> 
  3.     <li></li> 
  4.     <li></li> 
  5.     <li></li> 
  6.     <li></li> 
  7.     <li></li> 
  8.     <li></li> 
  9.     <li></li> 
  10.     <li></li> 
  11.     <li></li> 
  12. </ul> 

如果沒有預處理器,我們的 CSS 可能是這樣的:

  1. ul { 
  2.     display: flex; 
  3.     align-items: baseline; 
  4.     justify-content: space-between
  5. li { 
  6.     width: 50px; 
  7.     background: #000; 
  8. li:nth-child(1) { 
  9.     height: 20px; 
  10. li:nth-child(2) { 
  11.     height: 40px; 
  12. // ... 3~9 
  13. li:nth-child(10) { 
  14.     height: 200px; 

如果利用 SASS 預處理器,可以簡化成:

  1. ul { 
  2.     display: flex; 
  3.     align-items: baseline; 
  4.     justify-content: space-between
  5. li { 
  6.     width: 50px; 
  7.     background: #000; 
  8. @for $i from 1 through 10 { 
  9.     li:nth-child(#{$i}) { 
  10.         height: calc(#{$i} * 20px); 
  11.     } 

當然,除此之外,在非常多的復雜 CSS 動畫效果中,循環是非常非常常用的功能。

譬如一些粒子動畫,我們通常可能需要去操縱 50~100 個粒子,也就是 50~100 個 div 的樣式,甚至更多,如果沒有循環,一個一個去寫效率會大打折扣。

利用預處理器循環功能實現的一些效果展示

下面我簡單羅列一些我實現過的,運用到了 CSS 預處理器循環功能的動畫效果。

圖片

像上面這個使用純 CSS 實現的火焰效果,其中的火焰的動態燃燒效果。其實是通過大量的細微粒子的運動,配合濾鏡實現。

其中使用到了 SASS 的循環函數的片段:

  1. @for $i from 1 to 200 { 
  2.     .g-ball:nth-child(#{$i}) { 
  3.         $width: #{random(50)}px; 
  4.          
  5.         width: $width; 
  6.         height: $width; 
  7.         left: calc(#{(random(70))}px - 55px); 
  8.     } 
  9.      
  10.     .g-ball:nth-child(#{$i}) { 
  11.         animation: movetop 1s linear -#{random(3000)/1000}s infinite; 
  12.     } 

嗯哼,上面的循環是循環了 200 次之多,如果真要一個一個寫,工作量還是非常巨大的。上述效果的完整代碼,你可以戳這里:

CodePen Demo -- CSS Candles[3]

if() 條件語句

接下來一個就是 if() 條件語句。

其實,CSS 中有一類非常類似條件語句的寫法,也就是媒體查詢 @media 以及 特性檢測 @supports 語句,目前 CSS 中支持的類似條件選擇的一些寫法如下:

@support 條件語句

CSS @supports 通過 CSS 語法來實現特性檢測,并在內部 CSS 區塊中寫入如果特性檢測通過希望實現的 CSS 語句。

  1. div { 
  2.     position:fixed; 
  3.   
  4. @supports (position:sticky) { 
  5.     div { 
  6.         position:sticky; 
  7.     } 

上述 CSS 語句的意思是如果客戶端支持 position:sticky,則采用 position:sticky,否則,就是 position:fixed。

關于 CSS 特性檢測的深入講解,你可以看看我的這篇文章:深入探討 CSS 特性檢測 @supports 與 Modernizr[4]

@media 條件語句

另外一種常見的條件語句就是媒體查詢,這個大家還是比較熟悉的。

如果當前設備滿足一種什么條件,則怎么樣怎么樣。

  1. article { 
  2.   padding: 4rem; 
  3. @media screen and (min-width: 900px) { 
  4.   article { 
  5.     padding: 1rem 3rem; 
  6.   } 

嗯,并且,上述的兩種條件語句可以互相嵌套使用:

  1. @supports (display: flex) { 
  2.   @media screen and (min-width: 900px) { 
  3.     article { 
  4.       display: flex; 
  5.     } 
  6.   } 

不過,上述兩種畢竟不是嚴格意義上的我們期待的 if() 語句。

很久之前,社區就有聲音(css-values - if() function[5]),提議 CSS 規范中實現 if() 條件語句,類似于這樣:

  1. .foo { 
  2.   --calc: calc(10 * (1vw + 1vh) / 2); 
  3.   font-size: if(var(--calc) < 12px, 12px, var(--calc)); 

可以看到這一語句 if(var(--calc) < 12px, 12px, var(--calc)) 類似于一個三元語句,還是比較好理解的。

然而,上述的條件語句一直沒得到支持的原因,在 scss-values - if() function[6] 可以略窺一二。

原因是 CSS 一直在盡量避免在屬性當中產生任意依賴。在 CSS 中,屬性之間本身存在一些隱式依賴,譬如 em 單位長度受到父元素的 font-size 的影響,如果作者能夠添加任意依賴關系(通過 if() 條件語句),那么將會導致一些問題。

  • 原文是:this, unfortunately, means we're adding arbitrary dependencies between properties, something we've avoided doing so far because it's, in general, unresolvable. Custom properties can arbitrarily refer to each other, but they're limited in what they can do, and have a somewhat reasonable "just become invalid" behavior when we notice a cycle. Cycles are more difficult to determine for arbitrary CSS, and can happen much more easily, because there are a number of existing, implicit between-property dependencies. For example, anything that takes a length relies on font-size (due to em), and so you can't have a value in font-size that refers to a property that takes a length (so no adjusting font-size to scale with width!). We add new dependencies of this sort over time (such as adding the lh unit, which induces a dependency on line-height); if authors could add arbitrary dependencies, we'd be unable to add new implicit ones for fear of breaking existing content (by forming cycles that were previous valid and non-cyclic).

所以,CSS 中的直接 if() 語句一直沒有得到實現。

SASS 等預處理器中的 if() 語句

最后,我們來看看預處理器中對 if() 的運用,由于 SASS 等預處理器最終還是要編譯成 CSS 文件,所以 if() 其實并不太常用。因為 SASS 中的 if() 也無法實現類似上述說的 font-size: if(var(--calc) < 12px, 12px, var(--calc)) 這種功能。

在 SASS 中,我認為最常用的 if() 可能也就是這種場景:

  1. @mixin triangle($size, $color, $direction) { 
  2.   height: 0; 
  3.   width: 0; 
  4.  
  5.   border-color: transparent; 
  6.   border-style: solid; 
  7.   border-width: $size
  8.  
  9.   @if $direction == up { 
  10.     border-bottom-color: $color; 
  11.   } @else if $direction == right { 
  12.     border-left-color: $color; 
  13.   } @else if $direction == down { 
  14.     border-top-color: $color; 
  15.   } @else if $direction == left { 
  16.     border-right-color: $color; 
  17.   } @else { 
  18.     @error "Unknown direction #{$direction}."
  19.   } 
  20.  
  21. .next { 
  22.   @include triangle(5px, black, right); 

上述代碼是對 CSS 實現三角形的一個封裝,通過傳入的參數,實現不同方向、顏色、大小的三角形。也就是預處理器中 if() ,更多的完成一些函數功能的封裝,方便復用。

實際上述的代碼會被編譯成:

  1. .next { 
  2.   height: 0; 
  3.   width: 0; 
  4.   border-color: transparent; 
  5.   border-style: solid; 
  6.   border-width: 5px; 
  7.   border-left-color: black; 

Random() 隨機函數

OK,接下來這個是隨機函數,是我個人在 SASS 等預處理器中最常用的一個函數。目前原生 CSS 不支持任意形式的隨機。

在 CSS 動畫效果中,非常多的因素我們不希望是一成不變的,我們希望的是,一些屬性的值的產生由我們設定一個基礎規則,一個范圍中得到,這樣每次刷新都能產生不同的效果。

最常見的莫過于不同的顏色、不同的長度、不同的數量等等等等。

譬如下面這個使用 CSS 實現的效果:夏日夕陽圖[7]。

我們通過隨機,每次刷新都可以得到高度/寬度不一樣,位置不一樣的 div 塊,利用隨機的特性,繪制一幅幅不一樣的效果圖:

[[417036]]

DEMO -- 夏日夕陽圖[8]

目前原生 CSS 不支持任意形式的隨機。使用預處理器,也只能是在編譯前編寫隨機函數,SASS 中比較常用的隨機函數的一些寫法:

  1. $r: random(100); 

random() 是 SASS 支持的一種函數,上述 $r 就能得到一個 0 ~ 100 的隨機整數。

利用 random(),就能封裝出各種隨機函數,譬如隨機顏色:

  1. @function randomNum($max, $min: 0, $u: 1) { 
  2.     @return ($min + random($max)) * $u; 
  3.  
  4. @function randomColor() { 
  5.     @return rgb(randomNum(255), randomNum(255), randomNum(255)); 
  6.  
  7. div { 
  8.     background: randomColor(); 

關于原生 CSS 實現 random() 的一些思考

下面這個是社區對原生 CSS 實現 random() 函數的一些思考,感興趣的可以猛擊:

[css-values] random() function[9]

簡單搬運其中一些比較有意思的觀點。

假設 CSS 原生實現了 random() 函數,譬如下述這個寫法:

  1. <p class="foo">123</p> 
  2. <p class="foo">456</p> 
  3. <p class="foo">789</p> 
  1. .foo:hover {  
  2.     color: rgb(random(0, 255), 0, 0);  

假設其中 ramdom() 是原生 CSS 實現的隨機函數,有一些事情是需要被解決或者得到大家的認可的:

  1. random(0, 255) 的值在什么時候被確定,是在每一次 CSS 解析時,還是每一次被應用觸發時?
  2. 對于上述 DEMO,3 個 .foo 的 color 值是否一樣?
  3. 對于反復的 hover,取消 hover 狀態,random(0, 255) 的值是否會發生變化?

上述的問題可以歸結于如果 CSS 原生支持隨機,隨機值的持久化和更新是必須要解決的問題。總之,目前看來,未來 CSS 原生支持隨機的可能性還是很大的。

工具函數:顏色函數、數學函數

最后,我們再來看看一些有意思的工具函數。目前原生 CSS 暫時不支持一些比較復雜的顏色函數和數學函數。但是預處理器都帶有這些函數。

在我之前的一篇關于陰影的文章中 -- 你所不知道的 CSS 陰影技巧與細節[10],介紹過一種利用多重陰影實現立體陰影的效果,譬如我們要實現下面這個效果:

圖片

其中的陰影的顏色變化就借助了 SASS 的顏色函數:

  • fade-out 改變顏色的透明度,讓顏色更加透明
  • desaturate 改變顏色的飽和度值,讓顏色更少的飽和
  1. @function makelongrightshadow($color) { 
  2.     $val: 0px 0px $color; 
  3.  
  4.     @for $i from 1 through 50 { 
  5.         $color: fade-out(desaturate($color, 1%), .02); 
  6.         $val: #{$val}, #{$i}px #{$i}px #{$color}; 
  7.     } 
  8.  
  9.     @return $val; 
  10.  
  11. p{ 
  12.    text-shadow: makelongrightshadow(hsla(14, 100%, 30%, 1)); 

當然,除了上述的兩個顏色函數,SASS 還提供了非常多類似的顏色相關的函數,可以看看這里:Sass基礎—顏色函數[11]

除了顏色,數學函數也是經常在 CSS 效果中會需要用到的。

我在這篇文章中 -- 在 CSS 中使用三角函數繪制曲線圖形及展示動畫[12],專門講了如何利用 SASS 等預處理器實現三角函數,以實現曲線線條,實現一些有意思的效果,像是這樣:

圖片

當然,目前 SASS 也不支持三角函數,但是我們可以利用 SASS function,實現一套三角函數代碼:

  1. @function fact($number) { 
  2.     $value: 1; 
  3.     @if $number>0 { 
  4.         @for $i from 1 through $number { 
  5.             $value: $value * $i; 
  6.         } 
  7.     } 
  8.     @return $value; 
  9.  
  10. @function pow($number, $exp) { 
  11.     $value: 1; 
  12.     @if $exp>0 { 
  13.         @for $i from 1 through $exp { 
  14.             $value: $value * $number; 
  15.         } 
  16.     } 
  17.     @else if $exp < 0 { 
  18.         @for $i from 1 through -$exp { 
  19.             $value: $value / $number; 
  20.         } 
  21.     } 
  22.     @return $value; 
  23.  
  24. @function rad($angle) { 
  25.     $unit: unit($angle); 
  26.     $unitless: $angle / ($angle * 0 + 1); 
  27.     @if $unit==deg { 
  28.         $unitless: $unitless / 180 * pi(); 
  29.     } 
  30.     @return $unitless; 
  31.  
  32. @function pi() { 
  33.     @return 3.14159265359; 
  34.  
  35. @function sin($angle) { 
  36.     $sin: 0; 
  37.     $angle: rad($angle); 
  38.     // Iterate a bunch of times. 
  39.     @for $i from 0 through 20 { 
  40.         $sin: $sin + pow(-1, $i) * pow($angle, (2 * $i + 1)) / fact(2 * $i + 1); 
  41.     } 
  42.     @return $sin; 
  43.  
  44. @function cos($angle) { 
  45.     $cos: 0; 
  46.     $angle: rad($angle); 
  47.     // Iterate a bunch of times. 
  48.     @for $i from 0 through 20 { 
  49.         $cos: $cos + pow(-1, $i) * pow($angle, 2 * $i) / fact(2 * $i); 
  50.     } 
  51.     @return $cos; 
  52.  
  53. @function tan($angle) { 
  54.     @return sin($angle) / cos($angle); 

就目前原生 CSS 而言,在數學函數等方面其實已經做出了非常多的努力,譬如:

  • 基礎運算函數 calc()
  • 比較函數 max()、min()、clamp()

等兼容性已經逐漸鋪開,可以開始大規模使用,而類似于

  • 指數函數 pow()、sqrt()、hypot()、log()、exp()
  • 三角函數 sin()、con()、tan()
  • 階梯函數 round()、mod()、rem() 等

也在規范 CSS Values and Units Module Level 4[13] 中被提及定義,相信不久的將來也會逐漸落地。

關于社區對數學函數的一些討論,感興趣的也可以看看這里:Mathematical Expressions[14]

總結一下

好了,綜上總結一下,就目前而言,我覺得 SASS/LESS 等預處理器在很多方面還是有有用武之地的,在上述的一些功能原生 CSS 沒有完全落地之前,預處理器能一定程度上彌補 CSS 的不足。

并且,除去上述說的一些我個人認為比較重要有意思的功能、函數之外,預處理器其它一些核心功能,譬如 extend、mixins 等也能有效的提升開發時的效率。

所以,在未來的一段時間內,我認為預處理器還是能和 CSS 友好共存~

最后

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

參考資料

[1]Agenda+ to publish FPWD of Nesting:

https://lists.w3.org/Archives/Public/www-style/2021Mar/0019.html

[2]CSS Nesting Module:

https://drafts.csswg.org/css-nesting/

[3]CodePen Demo -- CSS Candles:

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

[4]深入探討 CSS 特性檢測 @supports 與 Modernizr:

https://www.cnblogs.com/coco1s/p/6478389.html

[5]css-values - if() function:

https://github.com/w3c/csswg-drafts/issues/3455

[6]scss-values - if() function:

https://github.com/w3c/csswg-drafts/issues/3455

[7]夏日夕陽圖:

https://csscoco.com/inspiration/#/./cssdoodle/sunset

[8]DEMO -- 夏日夕陽圖:

https://csscoco.com/inspiration/#/./cssdoodle/sunset

[9][css-values] random() function:

https://github.com/w3c/csswg-drafts/issues/2826

[10]你所不知道的 CSS 陰影技巧與細節:

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

[11]Sass基礎—顏色函數:

https://www.sass.hk/skill/sass25.html

[12]在 CSS 中使用三角函數繪制曲線圖形及展示動畫:

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

[13]CSS Values and Units Module Level 4:

https://drafts.csswg.org/css-values-4/#exponent-funcs

[14]Mathematical Expressions:

https://drafts.csswg.org/css-values/#math

 

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

2009-02-20 16:02:52

操作系統發展趨勢

2015-02-26 15:11:23

2012-07-09 09:19:33

云計算倫敦奧運會

2015-08-25 13:20:29

數據科學

2020-08-13 07:54:10

HTTP協議nginx

2011-07-15 10:03:06

網絡服務虛擬應用

2019-06-03 10:50:03

Python 開發編程語言

2017-11-21 14:41:29

編程語言Python

2017-10-16 10:25:27

2019-11-08 15:27:01

物聯網5G人工智能

2024-05-31 13:33:11

大模型向量數據庫

2011-03-14 14:21:47

后關系數據庫

2010-02-23 16:28:28

CentOS Fast

2011-12-13 10:34:56

2016-12-07 13:18:52

Spark架構大數據

2021-07-20 13:43:50

自動駕駛雷達技術

2020-08-05 08:38:00

無人機臺風技術

2013-02-26 10:32:38

大數據云計算

2011-06-20 08:43:15

Windows 8開發人員

2024-09-23 00:00:05

CSS進化項目
點贊
收藏

51CTO技術棧公眾號

日本一二三不卡| 无套内谢大学处破女www小说| 性欧美一区二区| 免费不卡av| 欧美aaaaaaaaaaaa| 欧美日韩国产黄| 日韩一区在线视频| 中文字幕无码不卡免费视频| www.久久精品.com| 婷婷亚洲成人| 亚洲h动漫在线| 国产日韩欧美中文| 国产美女免费无遮挡| av蜜臀在线| 国产69精品久久久久777| 在线成人激情黄色| 久久成人免费观看| 欧美一级淫片aaaaaa| 欧美午夜不卡影院在线观看完整版免费| 在线一区二区三区四区五区| 精品一区二区视频| 黄色一级片中国| 国产精品一区二区三区av| 国产精品你懂的| 国产精品com| 国精产品一区一区三区免费视频| 国产ktv在线视频| 99精品视频一区二区| 久久人91精品久久久久久不卡| 在线观看免费av网址| 在线观看精品一区二区三区| 玖玖在线精品| 中文字幕欧美精品日韩中文字幕| 日韩大片一区二区| 最新国产在线观看| 91丨九色丨蝌蚪丨老版| 欧美在线视频免费播放| 97人妻天天摸天天爽天天| 国产免费av国片精品草莓男男| 91久久线看在观草草青青| 色女孩综合网| 最近中文字幕在线观看| 99精品全国免费观看视频软件| 91精品久久久久久久91蜜桃| 日韩人妻精品一区二区三区| 国产成人精品亚洲精品色欲| 欧美日韩爆操| 理论片在线不卡免费观看| 免费欧美一级片| 亚洲图区一区| 久久久99精品久久| 成人性生交大片免费看视频直播| 精品99在线观看| 亚洲成人一品| 欧美放荡的少妇| 国产精品裸体瑜伽视频| 在线观看国产原创自拍视频| 国产欧美一区二区在线| 成人h视频在线| 91精品国产乱码久久久久| 在线视频观看日韩| 中文字幕欧美视频在线| 久久视频精品在线观看| 成人国产精品一级毛片视频| 欧美一二三区在线| jizzjizz国产精品喷水| a毛片不卡免费看片| 午夜精品福利在线| 国产日韩一区二区在线| 日本天堂在线观看| caoporen国产精品视频| 国产精品久久97| 久久精品视频6| 日韩黄色大片网站| 亚洲精品国产成人| 91国内在线播放| 玖玖玖视频精品| 在线视频一区二区免费| 手机在线成人免费视频| 国产精品国产三级在线观看| 欧美成人精品3d动漫h| 992kp快乐看片永久免费网址| 国模私拍视频在线播放| 国产精品婷婷午夜在线观看| 在线精品亚洲一区二区| 欧美欧美欧美| 国产成人日日夜夜| 成人网在线视频| 国产激情视频在线播放| 97精品国产97久久久久久久久久久久| 欧美男人的天堂| 亚洲乱色熟女一区二区三区| 国产日韩亚洲| 久久夜色精品亚洲噜噜国产mv| 欧美精品99久久久| 羞羞视频在线观看欧美| 欧美交受高潮1| 日本福利片在线观看| 亚洲国产精品第一区二区三区| 日产精品久久久一区二区福利| 国产精品6666| 欧美精品一卡| 国产激情久久久久| 性欧美8khd高清极品| 久久久99免费| 欧美一级片免费播放| 一区二区三区伦理| 亚洲美女屁股眼交| 日本a级片在线观看| 欧美极品视频| 亚洲你懂的在线视频| 国模吧无码一区二区三区| 亚洲日本免费电影| 欧美日本一道本在线视频| 日韩av片网站| 欧美尿孔扩张虐视频| 亚洲国产天堂久久综合| 亚洲色图27p| 99热国内精品永久免费观看| 91国语精品自产拍在线观看性色| 日本学生初尝黑人巨免费视频| 蜜臀av国产精品久久久久| 国产在线一区二区三区| 亚洲av成人精品一区二区三区在线播放 | 久久精品国产99国产| 国产精品户外野外| 天堂网av2014| 97久久人人超碰| 无码人妻精品一区二区三区99v| 亚洲成a人片| 欧美自拍丝袜亚洲| 黄色性生活一级片| 在线精品亚洲| 日本成熟性欧美| 欧美综合视频在线| 一级日本不卡的影视| 国产日韩av网站| 8x国产一区二区三区精品推荐| 精品欧美乱码久久久久久1区2区 | 丰满人妻一区二区三区免费| 中文字幕亚洲在| 日本免费成人网| 国产直播在线| 亚洲丁香婷深爱综合| 菠萝菠萝蜜网站| 99视频一区| 国产精品自拍网| 黄色av一区二区三区| 亚洲欧美另类久久久精品 | 国产高清精品二区| 久久天天躁日日躁| 国产成人免费看一级大黄| 亚洲欧美成人一区二区三区| 小日子的在线观看免费第8集| 91精品国产福利在线观看麻豆| 欧美激情极品视频| 国产亚洲欧美日韩高清| 国产一区二区伦理片| 久精品国产欧美| 成年人网站在线| 日韩欧美亚洲一二三区| 中文 日韩 欧美| 国产一区二区三区天码| 欧美精品久久久久久久| 少妇精品视频一区二区 | 久久精品视频16| 一道本一区二区三区| 国产精彩精品视频| 日本视频在线播放| 欧美不卡视频一区| 97人人澡人人爽人人模亚洲| 久久国产精品一区二区| 久久久com| 日韩欧美一区二区三区免费观看| 日韩美女天天操| 亚洲色图100p| 国产suv一区二区三区88区| 青青青在线视频播放| 日韩母乳在线| 国产一区欧美二区三区| 丝袜在线观看| 亚洲全黄一级网站| aaa人片在线| 国产成人亚洲综合色影视| 欧美人与动牲交xxxxbbbb| 日韩有码中文字幕在线| 国产精品私拍pans大尺度在线| 亚洲性图自拍| 亚洲人成网站999久久久综合| 一级视频在线播放| 亚洲va中文字幕| 免费黄色在线网址| 日韩高清一区二区| 欧美日韩亚洲综合一区二区三区激情在线| 欧美影视资讯| 亚洲午夜色婷婷在线| 国产精品久免费的黄网站| 国产一区二区福利| 凹凸国产熟女精品视频| 五月天激情综合网| 牛人盗摄一区二区三区视频| 精品极品在线| xxxxx成人.com| 五月天久久久久久| 91精品国产综合久久福利软件| 视频国产一区二区| 久久69国产一区二区蜜臀| 国产原创中文在线观看| 国产精品毛片久久| 欧美日韩一区二区三区在线视频 | 国产成人日日夜夜| 182午夜在线观看| 欧美色网址大全| 国产欧美日韩综合精品二区| 污视频网站在线免费| 亚洲无限av看| 手机在线观看毛片| 日韩丝袜美女视频| 亚洲免费视频二区| 精品国产乱码久久久久久天美| 国产一区二区三区在线视频观看| 国产日韩av一区| 日本不卡一区二区在线观看| 国产午夜精品一区二区三区欧美| 日本成人在线不卡| 国产精品7m凸凹视频分类| 欧美日韩一区二| 亚洲免费福利一区| 精品一区久久久久久| 亚洲视频三区| 99国产在线视频| 小h片在线观看| 亚洲欧美另类人妖| 91亚洲精品国偷拍自产在线观看 | 国产精品乱码妇女bbbb| 四虎影成人精品a片| 99久久精品免费观看| 蜜臀视频在线观看| 日韩高清在线一区| 久久综合久久色| 久久影院亚洲| 国内外免费激情视频| 久久av最新网址| 中文字幕在线乱| 99精品电影| 穿情趣内衣被c到高潮视频| 婷婷六月综合| 伊人久久在线观看| 欧美国产免费| 日韩欧美亚洲日产国| 国产精品日韩精品在线播放 | 欧美私人情侣网站| 久久午夜视频| 538任你躁在线精品免费| 蜜桃视频免费观看一区| 国产三级三级看三级| 精品一区二区三区久久久| 国产成人在线综合| 亚洲一区二区三区四区五区午夜| av高清在线免费观看| 国产农村妇女精品一二区 | 国产乱人伦偷精品视频免下载| 天天综合五月天| 午夜精品电影| 久久亚洲中文字幕无码| 免费在线亚洲欧美| 一区二区三区免费播放| 精品一区二区三区免费观看| 三大队在线观看| 91社区在线播放| 少妇愉情理伦三级| 久久亚洲一区二区三区明星换脸 | 精品国产乱码一区二区三区| 999精品在线观看| 国产a亚洲精品| 韩国视频理论视频久久| 成人av免费| 久久久久久高潮国产精品视| 小视频免费在线观看| 国产精品久久久久久久7电影 | 欧美精品v国产精品v日韩精品| 99精品免费观看| 色欲综合视频天天天| 国产无遮挡aaa片爽爽| 色综合久久综合网欧美综合网| 久久久久久av无码免费看大片| 欧美一卡二卡在线观看| 天天综合天天综合| 中文字幕少妇一区二区三区| 午夜成年人在线免费视频| 91po在线观看91精品国产性色| 99久久综合国产精品二区| 99国精产品一二二线| 国产尤物久久久| 国产性生活免费视频| 久久综合导航| 成人做爰69片免费| 韩国一区二区三区| 可以看污的网站| 成人免费视频免费观看| 四虎精品一区二区| 成人小视频免费在线观看| 99久久人妻无码精品系列| 亚洲欧美激情视频在线观看一区二区三区| 日韩av在线播放观看| 91麻豆精品国产91久久久久久久久 | 亚洲毛片在线看| 牛牛在线精品视频| 国产综合福利在线| 国产99亚洲| 日本视频一区二区不卡| 欧美精品momsxxx| 国产天堂视频在线观看| 伊人久久亚洲美女图片| 国产精品区在线| 久久婷婷久久一区二区三区| 久久97人妻无码一区二区三区| 欧美日韩国产精品成人| 蜜桃免费在线| 91av在线播放视频| 91亚洲无吗| 久久精品综合一区| 欧美精品色网| 精品人妻一区二区三| 国产精品69毛片高清亚洲| 美国一级黄色录像| 色综合久久中文字幕| 天天摸夜夜添狠狠添婷婷| 欧美日韩国产91| 电影在线观看一区| 99高清视频有精品视频| 天天揉久久久久亚洲精品| 亚洲最大综合网| 国产区在线观看成人精品 | 久久国产精品毛片| 香港三日本8a三级少妇三级99 | 精品熟妇无码av免费久久| 欧美性69xxxx肥| 色哟哟在线观看| 这里只有精品视频| 怡红院成人在线| 日本一区免费看| 日韩在线一区二区三区| 亚洲一区二区三区蜜桃| 一本到不卡免费一区二区| 日韩有码电影| 日韩av日韩在线观看| 欧美男男gaytwinkfreevideos| 人妻有码中文字幕| 国产麻豆视频精品| 国产精品三区在线观看| 日韩情涩欧美日韩视频| 国产第一页在线| 狠狠色综合网站久久久久久久| 在线综合视频| 国产成人av一区二区三区不卡| 精品免费在线视频| 久久精品99北条麻妃| 国产亚洲在线播放| 欧美xxxx网站| 蜜桃久久精品乱码一区二区| 性感少妇一区| www..com.cn蕾丝视频在线观看免费版| 欧美亚洲综合另类| 污视频软件在线观看| 5566成人精品视频免费| 麻豆精品国产| a级黄色小视频| 久久综合久久99| 在线观看日批视频| 亚洲欧洲黄色网| 日本a人精品| 青青成人在线| 精品一区二区三区在线播放| 欧美日韩在线国产| 欧美人妖巨大在线| 手机在线免费观看av| 国产在线精品一区二区三区| 视频在线观看国产精品| 亚洲天堂网av在线| 亚洲国产精品高清久久久| 成人看片网站| 妞干网在线播放| 国产精选一区二区三区| 国产精品theporn动漫| 亚洲视频在线观看免费| 久久久久久久久久久久电影| 青青艹视频在线| 亚洲欧美乱综合| 你懂的视频在线播放| 亚洲最大av在线| 中文在线播放一区二区| 亚洲国产日韩欧美在线观看| 一区二区三区四区在线免费观看| 亚洲无码精品在线播放| 久久久久久成人| 99久久综合狠狠综合久久aⅴ| 亚洲av无码一区二区三区网址| 亚洲一区二区视频| 亚洲国产精品视频在线|