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

妙用CSS變量,讓你的CSS變得更心動

開發 前端
「CSS變量」又叫「CSS自定義屬性」,為什么會突然提起這個很少人用到的東西呢?因為最近在重構個人官網,不知道為什么突然喜歡用上「CSS變量」,可能其自身隱藏的魅力,讓筆者對它刮目相看。

 前言

「CSS變量」又叫「CSS自定義屬性」,為什么會突然提起這個很少人用到的東西呢?因為最近在重構個人官網,不知道為什么突然喜歡用上「CSS變量」,可能其自身隱藏的魅力,讓筆者對它刮目相看。

談到為什么會在CSS中使用變量,下面舉個栗子,估計大家一看就會明白。 

  1. /* 不使用CSS變量 */  
  2. .title {  
  3.     background-color: red;  
  4.  
  5. .desc {  
  6.     background-color: red;  
  7.  
  8. /* 使用CSS變量 */  
  9. :root {  
  10.     --bg-color: red;  
  11.  
  12. .title {  
  13.     background-color: var(--bg-color);  
  14.  
  15. .desc { 
  16.  
  17.     background-color: var(--bg-color);  

看完可能會覺得使用「CSS變量」的代碼量多了一點,但是有沒有想到突然某天萬惡的策劃小哥哥和設計小姐姐說要做一個換膚功能。按照平常的思路,估計有些同學就會按照默認顏色主題增加一份對照的新顏色主題CSS文件。這樣每次新增需求都同時維護幾套主題顏色多麻煩啊。

此時「CSS變量」就派上用場了,提前跟設計小姐姐規范好各種需要變換的顏色并通過「CSS變量」進行定義,通過JS批量操作這些定義好的「CSS變量」即可。這也是「變換主題顏色」的一種解決方案之一,好處在于只需寫一套CSS代碼。 

  1. ["red", "blue", "green"].forEach(v => {  
  2.     const btn = document.getElementById(`${v}-theme-btn`);  
  3.     btn.addEventListener("click", () => document.body.style.setProperty("--bg-color", v));  
  4. }); 

在此總結下CSS使用變量的好處:

  •  減少樣式代碼的重復性
  •  增加樣式代碼的擴展性
  •  提高樣式代碼的靈活性
  •  增多一種CSS與JS的通訊方式
  •  不用深層遍歷DOM改變某個樣式

可能有些同學會問,Sass和Less早就實現了變量這個特性,何必再多此一舉呢。可是細想一下,「CSS變量」對比Sass和Less的變量,又有它的過人之處。

  •  瀏覽器原生特性,無需經過任何轉譯就可直接運行
  •  DOM對象一員,極大便利了CSS與JS之間的聯系

認識

本來打算用一半篇幅講述「CSS變量」的規范和用法,但是網上一搜一大把就感覺沒必要了,貼上阮一峰老師寫的教程《CSS變量教程》。同時筆者也對「CSS變量」的細節地方進行一個整理,方便大家記憶。

  •  聲明:--變量名
  •  讀取:var(--變量名, 默認值)
  •  類型
    •   普通:只能用作屬性值不能用作屬性名
    •   字符:與字符串拼接 "Hello, "var(--name)
    •   數值:使用calc()與數值單位連用 var(--width) * 10px
  •  作用域
    •   范圍:在當前元素塊作用域及其子元素塊作用域下有效
    •   優先級別:內聯樣式 > ID選擇器 > 類選擇器 = 屬性選擇器 = 偽類選擇器 > 標簽選擇器 = 偽元素選擇器

接下來使用幾個特別的場景展示「CSS變量」的魅力。還是那句話,「一樣東西有使用的場景,那自然就會有它的價值」,那么用的人也會越來越多。

使用場景

其實「CSS變量」有一個特別好用的場景,那就是結合List元素集合使用。如果不明白這是什么,請繼續往下看。 

  1. 以下所有演示代碼基于Vue文件,但HTML、CSS和JS分開書寫,為了簡化CSS的書寫而使用Sass進行預處理,方便代碼演示 

條形加載條

一個條形加載條通常由幾條線條組成,并且每條線條對應一個存在不同時延的相同動畫,通過時間差運行相同的動畫,從而產生加載效果。估計大部分的同學可能會把CSS代碼寫成以下這樣。

 

  1. <ul class="strip-loading flex-ct-x">  
  2.     <li v-for="v in 6" :key="v"></li> 
  3. </ul>  
  1. .loading {  
  2.     width: 200px;  
  3.     height: 200px;  
  4.     li {  
  5.         border-radius: 3px;  
  6.         width: 6px;  
  7.         height: 30px;  
  8.         background-color: #f66;  
  9.         animation: beat 1s ease-in-out infinite;  
  10.         & + li {  
  11.             margin-left: 5px;  
  12.         }  
  13.         &:nth-child(2) {  
  14.             animation-delay: 200ms;  
  15.         }  
  16.         &:nth-child(3) {  
  17.             animation-delay: 400ms;  
  18.         }  
  19.         &:nth-child(4) {  
  20.             animation-delay: 600ms;  
  21.         }  
  22.         &:nth-child(5) {  
  23.             animation-delay: 800ms;  
  24.         }  
  25.         &:nth-child(6) {  
  26.             animation-delay: 1s;  
  27.         }  
  28.     }  

分析代碼發現,每個<li>只是存在animation-delay不同,而其余代碼則完全相同,換成其他類似的List元素集合場景,那豈不是有10個<li>就寫10個:nth-child。

顯然這種方法不靈活也不容易封裝成組件,如果能像JS那樣封裝成一個函數,并根據參數輸出不同的樣式效果,那就更棒了。說到這里,很明顯就是為了鋪墊「CSS變量」的開發技巧了。

對于HTML部分的修改,讓每個<li>擁有一個自己作用域下的「CSS變量」。對于CSS部分的修改,就需要分析哪些屬性是隨著index遞增而發生規律變化的,對規律變化的部分使用「CSS變量」表達式代替即可。 

  1. <ul class="strip-loading flex-ct-x">  
  2.     <li v-for="v in 6" :key="v" :style="`--line-index: ${v}`"></li>  
  3. </ul>  
  1. .strip-loading {  
  2.     width: 200px;  
  3.     height: 200px;  
  4.     li {  
  5.         --time: calc((var(--line-index) - 1) * 200ms);  
  6.         border-radius: 3px;  
  7.         width: 6px;  
  8.         height: 30px;  
  9.         background-color: #f66;  
  10.         animation: beat 1.5s ease-in-out var(--time) infinite;  
  11.         & + li {  
  12.             margin-left: 5px;  
  13.         }  
  14.     }  
  15.  
  1. 源碼鏈接可在文章結尾處獲取 

代碼中的變量--line-index和--time使每個<li>擁有一個屬于自己的作用域。例如第2個<li>,--line-index的值為2,--time的計算值為200ms,換成第3個<li>后這兩個值又會不同了。

這就是「CSS變量」的作用范圍所致(在當前元素塊作用域及其子元素塊作用域下有效),因此在.strip-loading的塊作用域下調用--line-index是無效的。 

  1. /* flex屬性無效 */  
  2. .loading {  
  3.     display: flex;  
  4.     align-items: center;  
  5.     flex: var(--line-index);  

通過妙用「CSS變量」,也把CSS代碼從29行縮減到15行,對于那些含有List元素集合越多的場景,效果就更明顯。而且這樣寫也更加美觀更加容易維護,某天說加載效果的時間差不明顯,直接將calc((var(--line-index) - 1) * 200ms)里的200ms調整成400ms即可。就無需對每個:nth-child(n)進行修改了。

心形加載條

前段時間刷掘金看到陳大魚頭兄的心形加載條,覺得挺漂亮的,很帶感覺。

通過動圖分析,發現每條線條的背景色和動畫時延不一致,另外動畫運行時的高度也不一致。細心的你可能還會發現,第1條和第9條的高度一致,第2條和第8條的高度一致,依次類推,得到高度變換相同類的公式:對稱index = 總數 + 1 - index。

背景色使用了濾鏡的色相旋轉hue-rotate函數,目的是為了使顏色過渡得更加自然;動畫時延的設置和上面條形加載條的設置一致。下面就用「CSS變量」根據看到的動圖實現一番。 

  1. <div class="heart-loading flex-ct-x">  
  2.     <ul style="--line-count: 9">  
  3.         <li v-for="v in 9" :key="v" :class="`line-${v}`" :style="`--line-index: ${v}`"></li>  
  4.     </ul>  
  5. </div>  
  1. .heart-loading {  
  2.     width: 200px;  
  3.     height: 200px;  
  4.     ul {  
  5.         display: flex;  
  6.         justify-content: space-between;  
  7.         width: 150px;  
  8.         height: 10px;  
  9.     }  
  10.     li {  
  11.         --Θ: calc(var(--line-index) / var(--line-count) * .5turn);  
  12.         --time: calc((var(--line-index) - 1) * 40ms);  
  13.         border-radius: 5px;  
  14.         width: 10px;  
  15.         height: 10px;  
  16.         background-color: #3c9;  
  17.         filter: hue-rotate(var(--Θ));  
  18.         animation-duration: 1s;  
  19.         animation-delay: var(--time);  
  20.         animation-iteration-count: infinite;  
  21.     }  
  22.     .line-1,  
  23.     .line-9 {  
  24.         animation-name: line-move-1;  
  25.     }  
  26.     .line-2,  
  27.     .line-8 {  
  28.         animation-name: line-move-2;  
  29.     }  
  30.     .line-3,  
  31.     .line-7 {  
  32.         animation-name: line-move-3;  
  33.     }  
  34.     .line-4,  
  35.     .line-6 {  
  36.         animation-name: line-move-4;  
  37.     }  
  38.     .line-5 {  
  39.         animation-name: line-move-5;  
  40.     }  
  41.  
  1. 源碼鏈接可在文章結尾處獲取 

一波操作后就有了下面的效果。和陳大魚頭兄的心形加載條對比一下,顏色、波動曲線和跳動頻率有點不一樣,在暖色調的蔓延和腎上腺素的飆升下,這是一種心動的感覺。想起自己曾經寫的一首詩:我見猶憐,愛不釋手,雅俗共賞,君子好逑。

標簽導航欄

上面通過兩個加載條演示了「CSS變量」在CSS中的運用以及一些妙用技巧,現在通過標簽導航欄演示「CSS變量」在JS中的運用。

JS中主要有3個操作「CSS變量」的API,看上去簡單易記,分別如下:

  •  讀取變量:elem.style.getPropertyValue()
  •  設置變量:elem.style.setProperty()
  •  刪除變量:elem.style.removeProperty()

先上效果圖,效果中主要是使用「CSS變量」標記每個Tab的背景色和切換Tab的顯示狀態。

 

  1. <div class="tab-navbar">  
  2.     <nav>  
  3.         <a v-for="(v, i) in list" :key="v" :class="{ active: index === i }" @click="select(i)">標題{{i + 1}}</a>  
  4.     </nav>  
  5.     <div>  
  6.         <ul ref="tabs" :style="`--tab-count: ${list.length}`">  
  7.             <li v-for="(v, i) in list" :key="v" :style="`--bg-color: ${v}`">內容{{i + 1}}</li>  
  8.         </ul>  
  9.     </div>  
  10. </div>  
  1. .tab-navbar {  
  2.     display: flex;  
  3.     overflow: hidden;  
  4.     flex-direction: column-reverse;  
  5.     border-radius: 10px;  
  6.     width: 300px;  
  7.     height: 400px;  
  8.     nav {  
  9.         display: flex;  
  10.         height: 40px;  
  11.         background-color: #f0f0f0;  
  12.         line-height: 40px;  
  13.         text-align: center;  
  14.         a {  
  15.             flex: 1;  
  16.             cursor: pointer;  
  17.             transition: all 300ms;  
  18.             &.active {  
  19.                 background-color: #66f;  
  20.                 font-weight: bold;  
  21.                 color: #fff;  
  22.             }  
  23.         }  
  24.     }  
  25.     div {  
  26.         flex: 1;  
  27.         ul {  
  28.             --tab-index: 0; 
  29.              --tab-width: calc(var(--tab-count) * 100%);  
  30.             --tab-move: calc(var(--tab-index) / var(--tab-count) * -100%);  
  31.             display: flex;  
  32.             flex-wrap: nowrap;  
  33.             width: var(--tab-width);  
  34.             height: 100%;  
  35.             transform: translate3d(var(--tab-move), 0, 0);  
  36.             transition: all 300ms;  
  37.         }  
  38.         li {  
  39.             display: flex;  
  40.             justify-content: center;  
  41.             align-items: center;  
  42.             flex: 1;  
  43.             background-color: var(--bg-color);  
  44.             font-weight: bold;  
  45.             font-size: 20px;  
  46.             color: #fff;  
  47.         }  
  48.     }  
  49.  
  1. exportdefault {  
  2.     data() {  
  3.         return {  
  4.             index: 0,  
  5.             list: ["#f66", "#09f", "#3c9"]  
  6.         };  
  7.     },  
  8.     methods: {  
  9.         select(i) {  
  10.             this.index = i;  
  11.             this.$refs.tabs.style.setProperty("--tab-index", i);  
  12.         }  
  13.     }  
  14. };  
  1. 源碼鏈接可在文章結尾處獲取 

在<ul>上定義--tab-index表示Tab當前的索引,當點擊按鈕時重置--tab-index的值,就可實現不操作DOM來移動<ul>的位置顯示指定的Tab。不操作DOM而可移動<ul>是因為定義了--tab-move,通過calc()計算--tab-index與--tab-move的關系,從而操控transform: translate3d()來移動<ul>。

另外在<li>上定義--bg-color表示Tab的背景色,也是一種比較簡潔的模板賦值方式,總比寫<li :style="backgroundColor: ${color}">要好看。如果多個CSS屬性依賴一個變量賦值,那么使用「CSS變量」賦值到style上就更方便了,那些CSS屬性可在CSS文件里進行計算與賦值,這樣可幫助JS分擔一些屬性計算工作。

當然,這個標簽導航欄也可通過純CSS實現,有興趣的同學可看看筆者之前一篇文章里的純CSS標簽導航欄。

懸浮跟蹤按鈕

通過幾個栗子實踐了「CSS變量」在CSS和JS上的運用,相信大家已經掌握了其用法和技巧。之前在某個網站看過一個比較酷炫的鼠標懸浮特效,好像也是使用「CSS變量」實現的。筆者憑著記憶也使用「CSS變量」實現一番。

其實思路也比較簡單,先對按鈕進行布局和著色,然后使用偽元素標記鼠標的位置,定義--x和--y表示偽元素在按鈕里的坐標,通過JS獲取鼠標在按鈕上的offsetLeft和offsetLeft分別賦值給--x和--y,再對偽元素添加徑向漸變的背景色,大功告成,一個酷炫的鼠標懸浮跟蹤特效就這樣誕生了。

 

  1. <a class="track-btn pr tac" @mousemove="move">  
  2.     <span>妙用CSS變量,讓你的CSS變得更心動</span>  
  3. </a>  
  1. .track-btn {  
  2.     display: block;  
  3.     overflow: hidden;  
  4.     border-radius: 100px;  
  5.     width: 400px;  
  6.     height: 50px;  
  7.     background-color: #66f;  
  8.     line-height: 50px;  
  9.     cursor: pointer;  
  10.     font-weight: bold;  
  11.     font-size: 18px;  
  12.     color: #fff;  
  13.     span {  
  14.         position: relative;  
  15.     }  
  16.     &::before {  
  17.         --size: 0;  
  18.         position: absolute;  
  19.         left: var(--x);  
  20.         top: var(--y);  
  21.         width: var(--size);  
  22.         height: var(--size);  
  23.         background-image: radial-gradient(circle closest-side, #09f, transparent);  
  24.         content: "";  
  25.         transform: translate3d(-50%, -50%, 0);  
  26.         transition: all 200ms ease;  
  27.     }  
  28.     &:hover::before {  
  29.         --size: 400px;  
  30.     }  
  31.  
  1. exportdefault {  
  2.     name: "track-btn",  
  3.     methods: {  
  4.         move(e) {  
  5.             const x = e.pageX - e.target.offsetLeft;  
  6.             const y = e.pageY - e.target.offsetTop;  
  7.             e.target.style.setProperty("--x", `${x}px`);  
  8.             e.target.style.setProperty("--y", `${y}px`);  
  9.         }  
  10.     }  
  11. };  
  1. 源碼鏈接可在文章結尾處獲取 

其實可結合鼠標事件來完成更多的酷炫效果,例如動畫關聯、事件響應等操作。沒有做不到,只有想不到,盡情發揮你的想象力啦。

之前在CodePen上還看到一個挺不錯的栗子,一個懸浮視差按鈕,具體代碼涉及到一些3D變換的知識??赐暝创a后,按照其思路自己也實現一番,順便對代碼稍加改良并封裝成Vue組件,存放到本課件示例代碼中。感覺錄制的GIF有點別扭,顯示效果不太好,有興趣的同學可下載本課件示例代碼,自己運行看看效果。

兼容

對于現代瀏覽器來說,「CSS變量」的兼容性其實還是蠻好的,所以大家可放心使用。畢竟現在都是各大瀏覽器廠商快速迭代的時刻,產品對于用戶體驗來說是占了很大比重,因此在條件允許的情況下還是大膽嘗新,不要被一些過去的所謂的規范所約束著。

試問現在還有多少人愿意去維護IE6~IE9的兼容性,如果一個產品的用戶體驗受限于遠古瀏覽器的壓制(可能政務Web應用和金融Web應用除外吧),相信這個產品也不會走得很遠。

我們在完成一個產品的過程中,不僅僅是為了完成工作任務,如果在保證進度的同時能花點心思點綴一下,可能會有意外的收獲。「用心寫好每一段代碼,才是享受寫代碼的真諦」。

總結

本文通過循序漸進的方式探討了「CSS變量」的運用和技巧,對于一個這么好用的特性,當然是不能放過啦。其實多多思考,就能把「CSS變量」用在很多場景上。筆者把本文提到的示例統一組成一個Demo,也方便有興趣的同學通過課件示例代碼進行學習,思考一些可能在閱讀本文時沒有注意到的細節。

  •  Demo示例:條形加載條、心形加載條、標簽導航欄、懸浮跟蹤按鈕、懸浮視差按鈕
  •  Demo地址:關注IQ前端,掃描文章底部二維碼,后臺回復變量,獲取「整套課件示例代碼」
  •  Demo運行:里面的readme.html有詳細說明,記得看喔

寫到最后,送給大家一個大大的彩蛋,一個暖心彩虹色調🌈搭配的愛心點贊按鈕。如果你覺得本文寫得棒棒噠,請給筆者一個贊喔,就像下面那樣。當然,彩蛋源碼也在課件示例代碼里啦。想了解更多的CSS開發技巧,可移步到筆者19年寫的一篇9.2萬閱讀量的爆款文章《靈活運用CSS開發技巧(66個騷操作案例)》,保證滿足你的眼球。

[[334893]]  

 

責任編輯:龐桂玉 來源: 前端大全
相關推薦

2022-03-08 06:41:35

css代碼

2016-01-13 11:39:52

CSS邊框網站

2011-04-29 10:22:49

CSS高性能Web開發

2020-08-13 10:11:14

物聯網安全智能家居物聯網

2010-09-10 15:16:51

CSSdisplay

2025-02-17 08:50:00

CSS代碼JavaScript

2010-09-08 15:16:46

clearCSS

2010-09-09 16:54:05

CSSclear

2010-01-14 10:06:19

交換機網絡術語

2019-06-26 15:41:26

AI云原生云遷移

2021-03-15 10:29:50

人工智能

2019-07-10 10:20:36

前端用戶體驗javascript

2023-12-25 12:57:00

樹形結構CSScounters

2022-07-19 06:20:47

CSSbackground

2019-11-25 10:20:54

CSS代碼javascript

2010-08-30 16:02:06

CSSclear

2011-05-12 10:48:49

CSS清理浮動

2015-08-12 08:54:24

2019-12-19 18:40:16

5G智慧城市智能教育

2009-06-18 15:51:52

SSL VPN負載均衡Array
點贊
收藏

51CTO技術棧公眾號

少妇一区视频| 亚洲另类欧美日韩| 国产成人精品一区二区在线| 久久亚洲精品一区二区| 男人的天堂最新网址| 国产一二区在线观看| 国产成人啪午夜精品网站男同| 欧美成在线观看| 91超碰在线电影| 久久人人97超碰com| 日本高清视频网站| 免费在线看黄网址| 欧美男体视频| 亚洲欧美激情视频在线观看一区二区三区| 99影视tv| 在线视频精品免费| 天堂av中文字幕| 日韩欧美大片| 精品久久久久久久久久久久久久久 | 日韩欧美成人激情| 美女av免费在线观看| 久草中文在线| 国产三级精品在线| 国产欧美一区二区三区不卡高清| 亚洲天堂网视频| 亚洲少妇在线| 欧美成人国产va精品日本一级| 日韩精品卡通动漫网站| 亚洲国产视频二区| 欧美日韩精品一区二区在线播放| 分分操这里只有精品| 香蕉视频网站在线观看| 91色在线porny| 不卡日韩av| 国产精品无码白浆高潮| 三级精品在线观看| 国内精品400部情侣激情| 永久免费未视频| 欧美禁忌电影| 日韩大片免费观看视频播放| 中文字幕人妻无码系列第三区| 欧美色网在线| 色综合久久久久| 日韩日韩日韩日韩日韩| 伊人福利在线| 亚洲激情图片一区| 日韩video| 成人在线网址| 亚洲欧美日韩中文字幕一区二区三区| 性欧美大战久久久久久久免费观看| 亚洲色图21p| www.欧美色图| 国产精品一区二区三区精品| 黄色美女一级片| 国产风韵犹存在线视精品| 成人春色激情网| 亚洲一区精品在线观看| 美女脱光内衣内裤视频久久影院| 国产成人啪精品视频免费网| 精品国产xxx| 青青草国产精品亚洲专区无| 国产精品美女久久| 中文字幕在线播| 久久亚洲视频| 国产精品白嫩美女在线观看| 国产精品久久久久久久久久久久久久久久久 | 欧美日韩在线精品一区二区三区激情综合 | 亚洲美腿欧美激情另类| 在线免费观看a级片| 欧美三级午夜理伦三级小说| 日韩电影中文字幕在线| 日本黄色特级片| 日韩成人影院| 不用播放器成人网| 国产精品白浆一区二小说| 亚洲福利电影| 国产福利视频一区二区| 中文字幕一区二区免费| 国产在线精品一区二区| 91超碰rencao97精品| 午夜影院免费体验区| 91麻豆产精品久久久久久| 欧美一区二区三区成人久久片| 国产视频二区在线观看| 一区在线观看免费| www插插插无码免费视频网站| 国产精品xx| 欧美在线观看一二区| 三级性生活视频| av一级亚洲| 亚洲午夜国产成人av电影男同| 日本人亚洲人jjzzjjz| 日韩电影网址| 麻豆久久久久| 日韩三级精品电影久久久| 国产精品成人99一区无码| 伊人久久大香线蕉无限次| 中文字幕av一区二区| 永久免费看黄网站| 久久一二三区| 5566av亚洲| 超碰97在线免费观看| 亚洲在线成人精品| 久草在在线视频| 97品白浆高清久久久久久| 亚洲人成五月天| 欧美丰满艳妇bbwbbw| 久久综合九色综合欧美狠狠| 97se亚洲综合| melody高清在线观看| 亚洲国产综合人成综合网站| 手机看片福利日韩| 激情小说亚洲图片| 色偷偷888欧美精品久久久| 日本三级欧美三级| 精久久久久久久久久久| 欧美另类一区| 菠萝蜜视频在线观看www入口| 欧美午夜一区二区| 黄色录像a级片| 欧美激情性爽国产精品17p| 国产精品草莓在线免费观看| 手机av在线免费观看| 亚洲天堂中文字幕| 嫩草影院国产精品| 香蕉久久99| 久久久久免费精品国产| 91免费视频播放| 国产亚洲视频系列| 成人中文字幕在线播放| 日本高清精品| 久久夜色精品国产| 亚洲视频一区在线播放| 久久久99精品久久| 青青草成人免费在线视频| 警花av一区二区三区| 视频在线观看一区二区| 久草视频一区二区| 久久综合九色综合欧美98| 日韩精品视频在线观看视频| 日韩精品免费视频一区二区三区 | 中文字幕日本在线| 亚洲制服少妇| 91精品综合久久久久久| 在线看黄色的网站| 欧美私人啪啪vps| 亚洲在线观看视频| 国产美女福利在线| 91麻豆精品国产91久久久久久久久 | 狠狠热免费视频| 一道在线中文一区二区三区| 18一19gay欧美视频网站| 黄色av中文字幕| 婷婷中文字幕综合| 性欧美丰满熟妇xxxx性久久久| 亚洲性色视频| 久久精品国产99精品国产亚洲性色| 91福利区在线观看| 农村少妇一区二区三区四区五区| 日韩三区在线观看| 国产av 一区二区三区| 国产一区欧美二区| 亚洲成人动漫在线| 日本在线成人| 97超级碰碰人国产在线观看| 香蕉久久一区二区三区| 日本黄色一区二区| 国产白丝一区二区三区| 国产在线精品国自产拍免费| 日本中文字幕一级片| 北条麻妃一区二区三区在线观看 | 激情综合色综合久久| 99热一区二区三区| 91精品短视频| 91a在线视频| 成人动漫在线播放| 欧美一区二区三区在线视频 | 91福利国产精品| sm捆绑调教视频| 国产精品69久久久久水密桃 | 秋霞午夜av一区二区三区| 亚洲va久久久噜噜噜久久狠狠 | 九九九九精品| 天天综合网天天| 久久久999精品视频| 亚洲成人av综合| 欧美色欧美亚洲高清在线视频| av免费播放网站| 国产a视频精品免费观看| 男人揉女人奶房视频60分| 成人在线国产| 国产91免费视频| 日本.亚洲电影| 久久久久久久久网站| 岛国大片在线观看| 日韩女优电影在线观看| 伊人中文字幕在线观看| 亚洲日本成人在线观看| 中文字幕 亚洲一区| 美女网站视频久久| 一区二区传媒有限公司| 国产精品国产三级国产在线观看| 国产日韩一区二区| 欧美在线一级| 日本一本a高清免费不卡| 超碰在线免费播放| 亚洲女在线观看| 午夜老司机福利| 欧美性videosxxxxx| 日本一区二区不卡在线| 中文字幕日韩精品一区| 男人操女人动态图| 成人综合婷婷国产精品久久蜜臀| 黑人粗进入欧美aaaaa| 国产精品v一区二区三区| 五月天亚洲综合情| 欧美日韩一区二区三区在线电影 | 中文写幕一区二区三区免费观成熟| 久久中文欧美| 国产精品久久国产| 天天综合网网欲色| 日韩av电影免费播放| 大伊香蕉精品在线品播放| 成人激情电影一区二区| 亚洲播播91| 97在线免费观看| 超碰97免费在线| 欧美巨乳在线观看| 成人短视频在线| 日韩视频免费在线观看| yjizz视频网站在线播放| 亚洲精品第一页| 后入内射欧美99二区视频| 欧美一区二区三区啪啪| 91精品国自产| 欧美日韩国产美| 中文字幕 欧美激情| 一本大道综合伊人精品热热| 午夜毛片在线观看| 午夜日韩在线观看| 久草精品视频在线观看| 在线男人天堂| 亚洲第一页在线| 亚洲第一精品网站| 日韩三级精品电影久久久| 99热这里只有精品1| 日韩一区二区三区视频在线| 国产免费无遮挡| 91精品综合久久久久久| 99在线观看免费| 欧美videossexotv100| 午夜精品小视频| 亚洲国产精品va在线看黑人 | av资源免费观看| 偷偷要91色婷婷| 亚洲欧美偷拍一区| 在线影视一区二区三区| 涩涩视频在线观看| 欧美日韩亚洲国产综合| 一区二区 亚洲| 91精品国产91久久久久久最新毛片| 国产精品久久无码一三区| 91麻豆精品国产91久久久使用方法 | 日韩精品最新在线观看| 经典一区二区| 一区二区不卡在线观看| 亚洲欧美在线专区| 国产一区 在线播放| 国产精品婷婷| 人人干人人干人人| 国产一区二区0| 成熟妇人a片免费看网站| 99r国产精品| 国产午夜精品福利视频| 亚洲视频在线观看一区| 久久精品视频日本| 色婷婷综合久色| 一级特黄aa大片| 亚洲第一区第二区| 国产在线日本| 蜜臀久久99精品久久久久久宅男| 国产丝袜精品丝袜| 人人澡人人澡人人看欧美| 四虎国产精品成人免费影视| 91传媒在线免费观看| 日韩影视高清在线观看| 亚洲一区尤物| 亚洲国产精品第一区二区| 国产男女激情视频| 国产一区二区在线看| 亚洲成人av免费在线观看| 中文字幕av一区二区三区高| 99热精品免费| 91国产丝袜在线播放| 国产视频手机在线观看| 日韩国产欧美区| 黄色网页在线免费看| 91国产视频在线| 日韩国产91| 久久伊人资源站| 你懂的国产精品永久在线| 成人在线观看黄| 91久久精品无码一区二区| 在线观看日韩一区| 亚洲风情第一页| 最近的2019中文字幕免费一页 | 你懂的免费在线观看视频网站| 久久精品免费电影| 中文字幕在线视频久| 91超碰rencao97精品| 日韩一区自拍| 男女av免费观看| 岛国av在线一区| www.xxxx日本| 欧美少妇性性性| 视频在线观看你懂的| 欧美激情中文字幕在线| 啪啪av大全导航福利综合导航| 久久综合毛片| 亚洲欧洲日本mm| 奇米777在线视频| 中文字幕欧美一区| 国产乱码在线观看| 亚洲乱码国产乱码精品精| 超碰在线最新网址| 亚洲一区二区三区香蕉| 91亚洲国产| 人人干人人视频| 久久久亚洲精品石原莉奈| 中文字幕在线观看免费视频| 日韩一区二区三区在线视频| 免费黄网站在线| 成人高清视频观看www| 欧美日韩一区二区三区视频播放| 国产真实乱子伦| 91免费国产视频网站| 亚洲视频免费播放| 亚洲国产精品成人va在线观看| 日韩伦理电影网站| 欧美一区二区三区婷婷月色| 四虎永久免费在线观看| 午夜精品免费在线观看| 亚洲精品一级片| 欧美激情精品久久久| jizz国产精品| www污在线观看| 不卡在线观看av| 日本三级欧美三级| 日韩精品视频在线| 欧美粗大gay| 午夜一区二区三区| 久久成人精品无人区| 欧美日韩午夜视频| 欧美一区二区大片| 欧美日韩色网| 国产精选在线观看91| 亚洲色诱最新| 成人无码av片在线观看| 欧美日韩在线免费视频| 黄色在线视频网站| 91精品婷婷国产综合久久蝌蚪| 很黄很黄激情成人| 一区二区三区少妇| 日本韩国视频一区二区| www.亚洲视频| 亚洲一区二区三区乱码aⅴ| 在线欧美福利| 天天躁日日躁aaaxxⅹ| 欧美日本乱大交xxxxx| av片哪里在线观看| 国产伦理久久久| 视频在线观看一区二区三区| 欧美性生交大片| 日韩精品在线看片z| 色偷偷色偷偷色偷偷在线视频| 欧美一区二区在线| 国内成人自拍视频| 中文字幕亚洲高清| 在线电影中文日韩| 日韩一区二区三区色| 欧美三级在线观看视频| 国产精品无遮挡| 被黑人猛躁10次高潮视频| 国户精品久久久久久久久久久不卡| 国产女人18毛片水真多18| 色婷婷国产精品综合在线观看| 亚洲视频tv| 国外成人在线视频网站| 日韩福利视频网| 久久久精品人妻一区二区三区四| 亚洲女人天堂成人av在线| 精品国模一区二区三区欧美| 欧美极品欧美精品欧美图片| 亚洲色图欧美激情| 青青国产在线| 97超级在线观看免费高清完整版电视剧| 99热免费精品| 亚洲二区在线播放| 亚洲免费伊人电影在线观看av| 欧美片网站免费|