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

千萬別小瞧九宮格 一道題就能讓候選人原形畢露!

開發 前端
如果是面試官的話,那么也推薦你用這道題來考察候選者的技術水平,如果能非常完美的做出來,那么基本上就不用再問其他的CSS題目了,日常開發所用到的樣式基本難不倒他/她了,可以直接上JS面試題了。

前言

據不完全統計(其實就統計了自己身邊的朋友和同事),在刨除抖音或快手這一類短視頻 APP 后,每天在手機上花費時間最長的就是刷微博和逛朋友圈。

在刷微博和逛朋友圈的時候經常會看到這種東西:

圖片

它有一個高大上的名字:九宮格。

顧名思義,九宮格通常為如圖這種三行三列的布局。

微信客戶端就用到了這種布局方式:

圖片

大家最熟悉的朋友圈也采用了九宮格:

圖片

還有微博:

圖片

它在移動端的運用十分的廣泛,而且不僅僅是在移動端的運用,它甚至還運用到了一些面試題中,因為九宮格可以很好的考察面試者的 CSS 功底。

邊距九宮格

九宮格通常分為兩種,一種是邊距九宮格,另一種是邊框九宮格。

邊距九宮格就是朋友圈那種每張圖都帶有一定邊距的那種:

圖片

這種其實反而更簡單一些,因為不涉及到邊框問題,像這種幾行幾列的布局用網格布局(grid)簡直再合適不過了。

但考慮到大家普遍對網格不太熟悉,所以咱們用同樣適合幾行幾列的表格布局來實現,為什么不用萬能的彈性盒子(flex)來做呢?因為下面那道面試題就是用 flex 實現的,不想用兩個一樣的布局來實現,來看代碼:

1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>Document</title>
7
8 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/chinese-gradient">
9 <style>
10 /* 清除默認樣式 */
11 * { padding: 0; margin: 0; }
12
13 /* 全屏顯示 */
14 html, body, ul { height: 100% }
15
16 /* 父元素 */
17 ul {
18 /* 給個合適的寬度 */
19 width: 100%;
20
21 /* 清除默認樣式 */
22 list-style: none;
23
24 /* 令其用table方式去顯示 */
25 display: table;
26
27 /* 設置間距 */
28 border-spacing: 3px
29 }
30
31 /* 子元素 */
32 li {
33 /* 令其用table-row方式去顯示 */
34 display: table-row
35 }
36
37 /* 孫子元素 */
38 div {
39 /* 令其用table-cell方式去顯示 */
40 display: table-cell;
41
42 /* 藍色漸變 */
43 background: var(--湖藍)
44 }
45 </style>
46</head>
47<body>
48 <ul>
49 <li>
50 <div></div>
51 <div></div>
52 <div></div>
53 </li>
54 <li>
55 <div></div>
56 <div></div>
57 <div></div>
58 </li>
59 <li>
60 <div></div>
61 <div></div>
62 <div></div>
63 </li>
64 </ul>
65</body>
66</html>

運行結果:

圖片

可以看到在 DOM 結構上我們并沒有用到 <table\>、<tr\>、<td\> 這類傳統表格元素,因為在這種情況下只是用到了表格的那種幾行幾列而已。

但實際上九宮格并不是表格,所以為了符合 W3C 的語義化標準,我們采用了其他的 DOM 元素。

在有些適合使用表格布局但又不是表格的情況下,可以利用 display 屬性來模仿表格的行為:

display: table;相當于把元素的行為變成

                    <table></table>

display: inline-table;相當于把元素的行為變成行內元素版的

                    <table></table>

display: table-header-group;相當于把元素的行為變成

                    <thead></thead>

display: table-row-group;相當于把元素的行為變成

                    <tbody></tbody>

display: table-footer-group;相當于把元素的行為變成

                    <tfoot></tfoot>

display: table-row;相當于把元素的行為變成

                        <tr></tr>

display: table-column-group;相當于把元素的行為變成

                <colgroup></colgroup>

display: table-column;相當于把元素的行為變成

                      <col></col>

display: table-cell;相當于把元素的行為變成

                <td></td>或<th></th>

display: table-caption;相當于把元素的行為變成

                <caption></caption>

邊框九宮格

可能大家看了前面的內容覺得:就這?這么簡單還想讓人原形畢露?

那咱們來看這么一道題:

圖片

要求如下:

邊框九宮格的每個格子中的數字都要居中

鼠標經過時邊框和數字都要變紅

點擊九宮格會彈出對應的數字

看起來還是沒什么大不了對不對?是不是覺得就是把九宮格加個邊框就行了?如果你是這么想的話,那么你寫出來的九宮格將會變成這樣:

圖片

是不是跟想象中的好像不太一樣?為什么會這樣呢?

因為給每個盒子加入了邊框以后,在有邊距的情況下看起來都挺正常的,但要將他們合并在一起的話相鄰的兩個邊框就會貼合在一起,肉眼看起來就是一個兩倍粗的邊框:

那么怎么解決這個問題呢?

圖片

圖片

解法1

不是相鄰的兩個邊框合并在一起會變粗嗎?那么最簡單粗暴的辦法就是讓兩個相鄰的盒子的其中一個的相鄰邊不顯示邊框不就完了!就像這樣:

圖片

這么做完全可以實現,絕對沒毛病。但這種屬于笨方法,如果給換成四宮格、六宮格、十二宮格,那么又要重新去想一下該怎么實現,而且寫出來的代碼也比較冗余,幾乎每個盒子都要給它定義一個不同的樣式。

如果去參加面試的時候這么實現出來,面試官也不會給你滿分,甚至可能連個及格分都不會給。但畢竟算是實現出來了,總比那些沒實現出來的強點,不會給零分的。

解法2

上面那種實現方式要給每一個盒子都寫一套不同的樣式,而且還不適合別的像六宮格、十二宮格這類,代碼冗余、可復用性差。

那么怎么才能每個盒子只用到一個樣式,并且同樣還適用于別的宮格呢?來看看這個思路:


圖片

但是仔細一看經不起推敲啊:整個九宮格最右邊和最下邊的邊框都沒有了!其實只要咱們在父元素上再加上右側和下側的邊框即可:

圖片

而且并不一定非得是這個方向的,別的方向也可以實現啊,比如醬嬸兒的:

圖片

醬嬸兒的:

圖片

還有醬嬸兒的:

圖片

這種方式不管你是4、6、9還是12宮格,只需在子元素上加一個樣式即可,然后再在父元素上加一個互補的邊框樣式。

解法3

上面那種解法其實已經可以了,但還不是最完美的,那么它都有哪些問題呢?

首先,雖然換成別的宮格也可以復用,但都只適合"滿"的情況。比如像朋友圈,最大就是九宮格對吧?但用戶可以不是每次都發滿九張照片,有可能發7張、有可能發五張,這樣的話就會露餡(所以朋友圈采用的是邊距九宮格而不是邊框九宮格)。

其次,它并不適合這道面試題,因為這道面試題的要求是在鼠標移入時邊框變紅,而上面那種解法會導致每個盒子的邊框都不完整,所以當鼠標移入時效果會變成這樣:

圖片

那么怎么樣才能完美的解出這道題呢?首先每個盒子的邊框不能再給它缺斤少兩了,但那又會回到最初的那個問題上去:

圖片

有的面試題就是這樣,在你苦思冥想的時候怎么也想不出來,但是稍微給點思路立馬就能明白!

其實就是每個盒子都給它一個負邊距,邊距的距離恰巧就是邊框的粗細,這樣后面一個盒子就會"疊加"在前面那個盒子的邊框上,我們來寫一個粗點的半透明邊框演示一下:

圖片

中間那些顏色變深了的就是疊在一起的邊框,由于是半透明,所以疊在一起時顏色會變深。

不過一些比較細心的朋友可能會納悶:既然所有盒子都用負邊距向左上角移動了,豈不是九宮格不會處在原來的位置上了,沒錯是這樣的!所以我們需要讓最左邊那一排和最上面那一排不要有負邊距,這時候就要考察候選人的CSS水平了,看看他/她能不能夠靈活運用偽類選擇器:每一行的第一個,應該怎么寫?

:nth-child(1), :nth-child(4), :nth-child(7) ?

這樣也能實現,不過更好的方式是寫成這樣:

:nth-child(3n+1)

最上面那一排負邊距可以不用管,因為如果頁面上的九宮格往左邊移動了,哪怕只有一兩像素,也會導致和頁面上的版面無法對齊,而往上移動個一兩像素的話誰也看不出來。

每個宮格內的數字要居中,這里推薦用 grid,因為九宮格可以用 flex 去實現,但里面的內容還繼續用它去實現的話就體現不出你技術的全面性了,而且在居中這一方面 grid 可以做到比 flex 代碼更少,即使你對 grid 不感興趣,那么只需記住這一固定用法即可:

1父元素 {
2 display: grid;
3
4 /* 令其子元素居中 */
5 place-items: center;
6}

里面的內容解決了,外面的九宮格咱們來用萬能的 flex 去實現,flex 默認是一維布局,但如果僅支持一維的話就不會稱之為萬能的 flex 了,思路是這樣的,假如每一個宮格寬高為 100 x 100,九宮格加起來是 300 x 300,每三個就讓它換行,這樣就可以考察到候選人對 flex 的靈活運用的程度了:

1父元素 {
2 width: 300px;
3
4 /* 設置為flex布局 */
5 display: flex;
6
7 /* 設置換行 */
8 flex-flow: wrap;
9}
10
11子元素 {
12 width: 100px;
13 height: 100px;
14
15 border: 1px solid black;
16}

看起來沒毛病對不對?實際上確是每行只有兩個宮格就會換行,因為加了邊框以后子元素的寬高就變成了`102 x 102`了,三個的話就已經超過了`300`,所以還沒到三個就開始換行了,這時候就考察到候選人的盒模型了:

1子元素 {
2 width: 100px;
3 height: 100px;
4
5 border: 1px solid black;
6
7 /* 設置盒模型 */
8 box-sizing: border-box;
9}

這樣即使加了邊框,寬高也還是`100`,剛好能滿3個就換行,想象一下如果你是面試官,直接問盒模型是不是顯得很low,但是就這一個小小的九宮格立馬就能區分出這個候選人的水平如何。

再接下來就是鼠標移入時邊框和里面的內容一起變紅,這有啥難的,不就是:

1:hover {
2 /* 紅色字體 */
3 color: red;
4
5 /* 紅色邊框 */
6 border: 1px solid red;
7}

還是那句話,這樣確實能實現,但如果在咱們寫js的過程中像red這種多處地方使用的值是不是一般都會給它設置成變量啊?那么這里要寫CSS變量?也可以,但有一個更好的變量叫做 currentColor,這個屬性可以把它理解成一個內置變量,就像 js 里的 innerWidth(window.innerWidth) 一樣,不用定義自然就是一個變量。

和CSS變量不同的是它取的是自身或父元素上的color值,而且它的兼容性還更好,可以一直兼容到 IE9。

如果你覺得納悶:這單詞這么長,還不如直接寫個red多方便啊,那么請別忘了color是可以繼承的!如果在一個外層元素中定義了一個顏色,里面的子元素都可以繼承,用JS來控制的話只需要獲取外層DOM元素然后修改它的color樣式即可。

currentColor作為一個變量,可以用在 border、box-shadow、background、linear-gradient() 等一大堆的 CSS 屬性上…甚至連svg中的 fill 和 stroke 都可以使用這個變量,它能做的事情很多,這里為了不跑題就先不展開講,有興趣的可以去搜一下。

1:hover {
2 /* 紅色字體 */
3 color: red;
4
5 /* 紅色邊框 */
6 border: 1px solid;
7}

修改后的代碼如上,為什么沒有 currentColor?那是因為如果你不寫的話,默認就是 currentColor,這個關鍵字代表的就是你當前的color值。

大多數的候選人可能都不會寫成這樣,如果你作為面試官的話最好是適當的提示一下,看他能不能說出 currentColor 這個變量或者 CSS 變量。

然后就是點擊每個宮格彈出對應的數字,這個考察的是事件冒泡和事件代理:

1父元素.addEventListener('click', e => alert(e.target.innerText))

你可以觀察一下候選人是把事件綁定在父元素上還是一個個的綁定在子元素上,這個問題按理說基本上都不會錯。但如果發現候選人一個個把事件綁定在子元素上了,那就可以到此為止了,也不用浪費時間再去問別的問題了,可以十分裝B的來一句:行,你的情況我已基本了解了,回去等通知吧!

接下來我們再來寫一下完整一點的代碼,以便引出下一個問題:

1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>Document</title>
7 <style>
8 /* 清除默認樣式 */
9 * { padding: 0; margin: 0; }
10
11 /* 全屏顯示 */
12 html, body { height: 100% }
13
14 body {
15 /* 網格布局 */
16 display: grid;
17
18 /* 子元素居中 */
19 place-items: center;
20 }
21
22 /* 父元素 */
23 ul {
24 width: 300px;
25
26 /* 清除默認樣式 */
27 list-style: none;
28
29 /* 設置為flex布局 */
30 display: flex;
31
32 /* 設置換行 */
33 flex-flow: wrap;
34 }
35
36 /* 子元素 */
37 li {
38 /* 顯示為網格布局 */
39 display: grid;
40
41 /* 子元素水平垂直居中 */
42 place-items: center;
43
44 /* 寬高都是100像素 */
45 width: 100px;
46 height: 100px;
47
48 /* 設置盒模型 */
49 box-sizing: border-box;
50
51 /* 設置1像素的邊框 */
52 border: 1px solid black;
53
54 /* 負邊距 */
55 margin: -1px 0 0 -1px;
56 }
57
58 /* 第1、4、7個子元素 */
59 li:nth-child(3n+1) {
60 /* 取消左負邊距 */
61 margin-left: 0
62 }
63
64 /* 前三個子元素 */
65 li:first-child, li:nth-child(2), li:nth-child(3) {
66 /* 取消上負邊距 */
67 margin-top: 0
68 }
69
70 /* 當鼠標經過時 */
71 li:hover {
72 /* 紅色字體 */
73 color: red;
74
75 /* 紅色邊框 */
76 border: 1px solid;
77 }
78 </style>
79</head>
80<body>
81 <ul>
82 <li>1</li>
83 <li>2</li>
84 <li>3</li>
85 <li>4</li>
86 <li>5</li>
87 <li>6</li>
88 <li>7</li>
89 <li>8</li>
90 <li>9</li>
91 </ul>
92 <script>
93 // 選擇ul元素
94 const ul = document.getElementsByTagName('ul')[0]
95
96 // 監聽ul元素的點擊事件
97 ul.addEventListener('click', e => alert(e.target.innerText))
98 </script>
99</body>
100</html>

運行結果:

圖片

想知道為什么會這樣嗎?因為當前這個邊框被后面的宮格壓住了嘛!那么只需要當鼠標經過時不讓后面的壓住就好了(調高層級)。

說到調高層級,大家首先想到的可能就是 z-index 了,這個屬性用的最多的地方可能就是絕對定位和固定定位了。但其實很少有人知道, z-index 不是只能用在 position: xxx 的,萬能的彈性盒子(display:flex)也是支持 z-index 的:

1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>Document</title>
7 <style>
8 /* 清除默認樣式 */
9 * { padding: 0; margin: 0; }
10
11 /* 全屏顯示 */
12 html, body { height: 100% }
13
14 body {
15 /* 網格布局 */
16 display: grid;
17
18 /* 子元素居中 */
19 place-items: center;
20 }
21
22 /* 父元素 */
23 ul {
24 width: 300px;
25
26 /* 清除默認樣式 */
27 list-style: none;
28
29 /* 設置為flex布局 */
30 display: flex;
31
32 /* 設置換行 */
33 flex-flow: wrap;
34 }
35
36 /* 子元素 */
37 li {
38 /* 顯示為網格布局 */
39 display: grid;
40
41 /* 子元素水平垂直居中 */
42 place-items: center;
43
44 /* 寬高都是100像素 */
45 width: 100px;
46 height: 100px;
47
48 /* 設置盒模型 */
49 box-sizing: border-box;
50
51 /* 設置1像素的邊框 */
52 border: 1px solid black;
53
54 /* 負邊距 */
55 margin: -1px 0 0 -1px;
56 }
57
58 /* 第1、4、7個子元素 */
59 li:nth-child(3n+1) {
60 /* 取消左負邊距 */
61 margin-left: 0
62 }
63
64 /* 前三個子元素 */
65 li:first-child, li:nth-child(2), li:nth-child(3) {
66 /* 取消上負邊距 */
67 margin-top: 0
68 }
69
70 /* 當鼠標經過時 */
71 li:hover {
72 /* 紅色字體 */
73 color: red;
74
75 /* 紅色邊框 */
76 border: 1px solid;
77
78 /* 調高層級 */
79 z-index: 1;
80 }
81 </style>
82</head>
83<body>
84 <ul>
85 <li>1</li>
86 <li>2</li>
87 <li>3</li>
88 <li>4</li>
89 <li>5</li>
90 <li>6</li>
91 <li>7</li>
92 <li>8</li>
93 <li>9</li>
94 </ul>
95 <script>
96 // 選擇ul元素
97 const ul = document.getElementsByTagName('ul')[0]
98
99 // 監聽ul元素的點擊事件
100 ul.addEventListener('click', e => alert(e.target.innerText))
101 </script>
102</body>
103</html>

運行結果:

圖片

結語

沒想到這么一個看似不起眼的九宮格一下子就能考察這么多內容吧!如果面試的時候直接問:

你對 flex 了解的怎么樣

當元素的外邊距為負值時會有什么樣的行為

請實現一下水平垂直居中

了解過 grid 嗎

談一下你對盒模型的理解

說一下事件綁定和事件冒泡

CSS3的偽類選擇器用的怎么樣

當頁面元素重疊時如何控制哪個在上哪個在下

在CSS中如何運用變量

直接這么問的話既浪費口舌,又顯得很low,而且還不能篩選出真正能夠靈活運用技術的候選人。

因為這些問題都不難,一般來說都能答出來,但具體能不能靈活運用就不一定了,而這一道九宮格,就像一面照妖鏡一樣,瞬間讓人原形畢露!

如果你是候選人的話,那么一定要好好練習一下這道題。

如果是面試官的話,那么也推薦你用這道題來考察候選者的技術水平,如果能非常完美的做出來,那么基本上就不用再問其他的CSS題目了,日常開發所用到的樣式基本難不倒他/她了,可以直接上JS面試題了。

但如果沒做出來也不一定就代表這個人水平不行,可以試著提示一下候選者,然后再問一下其他的CSS題來確定一下此人的水平。

責任編輯:武曉燕 來源: 前端學不動
相關推薦

2011-08-01 13:13:19

iPhone開發 圖片

2015-01-26 13:22:55

密碼鎖

2011-07-25 09:19:00

CDP虛擬化

2019-03-24 15:05:23

手機安全解鎖

2013-05-29 10:44:11

2015-03-05 15:27:22

2018-08-14 13:34:30

商業模式

2021-12-31 08:12:05

微信微信支付云閃付

2011-04-28 15:53:03

Android MarAndroid

2025-04-14 10:30:00

IP地址API定位互聯網

2024-11-07 10:04:48

2013-07-30 11:16:33

iOS 7 Beta 九宮格輸入法

2013-12-02 09:49:15

微軟CEO貝茨硅谷

2011-09-16 10:35:13

Android應用數獨經典游戲

2025-10-10 07:43:11

2022-04-21 21:49:57

元宇宙

2012-02-21 09:22:45

2019-06-26 08:30:32

計算機互聯網iOS

2022-09-22 18:31:24

Kafka

2011-03-17 16:54:38

AMDCEO
點贊
收藏

51CTO技術棧公眾號

国产原创一区二区三区| 国产精品对白| 成人免费在线播放视频| 99精品视频网| 婷婷综合久久一区二区三区| 鲁丝片一区二区三区| 欧美在线视频精品| 你懂的国产精品永久在线| 日韩av在线高清| 国产原创精品在线| 日本天码aⅴ片在线电影网站| 99精品视频在线观看| 国产精品免费一区豆花| 免费麻豆国产一区二区三区四区| 蜜桃a∨噜噜一区二区三区| 精品视频1区2区3区| 可以在线看的av网站| 中文字幕在线视频区| 不卡av在线免费观看| 国产日本欧美在线观看| 日韩高清精品免费观看| 久久理论电影| 亚洲欧美在线播放| 影音先锋资源av| 亚洲精品tv| 在线视频你懂得一区| 成人在线观看你懂的| 日本在线视频观看| 国产亚洲精品aa午夜观看| 国产精品二区在线| 国产一区二区自拍视频| 日韩高清不卡一区二区三区| 97精品免费视频| 国产一级二级三级| 99精品综合| 中文字幕在线观看日韩| 亚洲a v网站| 天堂俺去俺来也www久久婷婷 | 亚洲免费视频二区| 国产欧美精品久久| 久久久久久久久久亚洲| 我家有个日本女人| 伊人久久大香线| 精品国产一区久久久| 人妻精品久久久久中文| 亚洲成人一品| 亚洲欧美激情在线视频| 香蕉视频黄色在线观看| 美女网站色精品尤物极品姐弟| 精品少妇一区二区三区视频免付费 | 7777女厕盗摄久久久| 69久久久久久| 成人做爰视频www| 91久久精品一区二区三区| 欧美xxxxx在线视频| gay欧美网站| 91久久香蕉国产日韩欧美9色| 粗暴91大变态调教| 日本成人片在线| 欧美性受xxxx黑人xyx性爽| 污污视频网站免费观看| 91精品国产66| 91麻豆精品国产91久久久久久| 久久久久久久高清| 国产日韩欧美中文在线| 日韩女优毛片在线| 波多野结衣视频播放| 人人网欧美视频| 国产一区二区三区网站| 国产精品久久久免费看| 欧美伊人影院| www亚洲一区| 69堂国产成人免费视频| 亚洲欧美在线精品| 日韩av懂色| 日韩视频一区二区三区在线播放| 亚洲精品一二三四| 国产一区二区三区亚洲| 亚洲欧美激情另类校园| 免费黄色激情视频| 欧美日韩综合| 欧洲一区二区视频| 亚洲图片小说视频| 国产精品系列在线观看| 精品国产中文字幕| 中文字幕在线播放| 亚洲午夜免费电影| www.日日操| 精品成人18| 亚洲国产免费av| 毛片视频免费播放| 欧美日韩亚洲国产精品| 国产97在线观看| 99在线无码精品入口| 91亚洲精品乱码久久久久久蜜桃| 四虎一区二区| av电影院在线看| 欧美三片在线视频观看| 日韩免费av一区二区三区| 国产在线观看中文字幕| 一区二区三区无毛| 亚洲激情视频在线| 久草手机视频在线观看| 国产精品久久久久久久久久妞妞 | 黄色一级视频免费看| 韩国视频一区二区| 麻豆成人小视频| 成人在线观看免费网站| 一本久久综合亚洲鲁鲁五月天| 九九热精品国产| 亚洲人挤奶视频| 欧美黄色片免费观看| 日本精品入口免费视频| 成人av综合在线| 欧美性视频在线播放| 伊人久久国产| 亚洲成成品网站| 任我爽在线视频| 美女国产一区| 国产欧美日韩伦理| 黄色网页在线免费观看| 欧美性生活大片视频| 大尺度做爰床戏呻吟舒畅| 自拍欧美日韩| 成人国产精品一区| 大胆av不用播放器在线播放| 狠狠久久五月精品中文字幕| 任你躁av一区二区三区| 91精品蜜臀一区二区三区在线| 国产成人精品视频在线| 亚洲av毛片成人精品| 亚洲成人动漫在线观看| 在线播放国产视频| 欧美一区二区| 成人亲热视频网站| 日韩三级影院| 欧美无人高清视频在线观看| 日本xxxxxxxxx18| 久久aⅴ国产紧身牛仔裤| 中文字幕色av一区二区三区| 狠狠色噜噜狠狠色综合久| 尤物视频在线看| 91精品国产综合久久久久久久 | 人成网站在线观看| 一个色综合av| 白嫩情侣偷拍呻吟刺激| 亚洲图片在线| 国产亚洲欧美一区二区| 三妻四妾完整版在线观看电视剧| 亚洲成人激情视频| www日韩精品| 久久先锋影音av鲁色资源| 亚洲欧洲日产国码无码久久99| 理论片一区二区在线| 4p变态网欧美系列| 日韩av高清在线| 在线观看日韩高清av| 久久久免费看片| 精品一区二区在线观看| 欧美精品久久96人妻无码| 亚洲日本va中文字幕| 久久久久久久久电影| 熟妇高潮一区二区三区| 色婷婷精品大在线视频| 神马久久久久久久久久久 | 国产精品igao网网址不卡| 真实国产乱子伦精品一区二区三区| 91在线免费观看网站| 影音先锋男人资源在线| 亚洲国产一区自拍| 国产情侣小视频| 中文字幕一区二区三区四区不卡 | 伊人久久噜噜噜躁狠狠躁| 欧美韩国理论所午夜片917电影| 日本美女一级片| 在线观看不卡视频| 国产中文av在线| 成人性生交大片免费看视频在线| 97国产精东麻豆人妻电影| 欧美日韩激情在线一区二区三区| 91精品免费看| 黄视频免费在线看| 在线播放精品一区二区三区 | 国产一区二区欧美日韩| 国产人妖一区二区| 午夜精品福利一区二区三区蜜桃| 中文字幕网站在线观看| 国产一级精品在线| 久久综合色视频| 一本到12不卡视频在线dvd| 国产在线一区二区三区播放| 久久天天久久| 77777少妇光屁股久久一区| 在线看av的网址| 亚洲精品美女久久久| 91中文字幕在线视频| 午夜精品福利久久久| 激情高潮到大叫狂喷水| 99精品久久99久久久久| 樱花草www在线| 免费久久99精品国产自在现线| youjizz.com亚洲| 国产成人手机高清在线观看网站| 亚洲一区精品电影| 嫩草伊人久久精品少妇av杨幂| 欧美大片网站在线观看| 在线观看av黄网站永久| 日韩精品亚洲元码| 精品黑人一区二区三区在线观看| 91久久精品国产91性色tv| 精品无码人妻一区二区三区品| 国产精品毛片大码女人| 一本色道久久综合亚洲精品图片 | 欧美日韩国产精选| 日韩美一区二区| 五月综合激情网| 久草网站在线观看| 综合色中文字幕| jizz中文字幕| 久久久噜噜噜久久中文字幕色伊伊 | 日本高清xxxx| 国产精品99久久| 欧洲一区二区日韩在线视频观看免费 | 麻豆视频在线观看| 亚洲天天做日日做天天谢日日欢 | 手机看片一区二区三区| 日韩精品在线网站| 国产一区二区三区四区视频| 91黄视频在线| 精品成人无码久久久久久| 激情久久av一区av二区av三区 | 免费高清完整在线观看| 国产一区二区av| 国产免费视频在线| 亚洲免费伊人电影在线观看av| 婷婷丁香一区二区三区| 精品99一区二区三区| 男人天堂av网| 亚洲成人性视频| 韩国av在线免费观看| 精品国产91洋老外米糕| 黄色美女一级片| 精品久久久久久久人人人人传媒| www.五月激情| 精品国产一区二区精华| 人妻夜夜爽天天爽| 日韩大片免费观看视频播放| 神马久久久久久久久久| 国产丝袜一区视频在线观看 | 中文字幕一区二区三区四区| 911国产在线| 亚洲欧洲在线观看av| 午夜爽爽爽男女免费观看| 亚洲免费观看高清在线观看| 美女视频黄免费| 精品久久久一区二区| 九九精品免费视频| 欧美在线观看视频一区二区| 亚洲一区二区三区高清视频| 欧美一区二区在线不卡| www香蕉视频| 亚洲精品xxx| 国产原创av在线| 精品国产拍在线观看| 欧洲在线视频| 人妖精品videosex性欧美| 99riav视频一区二区| 成人国产精品色哟哟| 白白在线精品| 欧美尤物一区| 91精品国产麻豆国产在线观看| 日韩视频在线视频| 天堂在线一区二区| 欧美激情国内自拍| 成人涩涩免费视频| 男女做爰猛烈刺激| 一区二区三区中文字幕在线观看| 青青操免费在线视频| 欧美色图12p| www.黄色av| 亚洲欧美在线一区二区| 国产在线激情视频| 91精品国产自产91精品| 国产精品99精品一区二区三区∴| 国产精自产拍久久久久久蜜| 在线精品自拍| 天天综合狠狠精品| 在线看片欧美| 久久撸在线视频| 成人aaaa免费全部观看| 黄色一级片一级片| 亚洲第一福利视频在线| 影音先锋国产资源| 亚洲国产精品美女| 麻豆网站在线免费观看| 国产91成人video| 激情综合婷婷| 日韩在线三级| 亚洲黄色免费| 一级片免费在线观看视频| 国产日本一区二区| 久久精品亚洲无码| 51午夜精品国产| 精品无人乱码| 97久久久免费福利网址| 国产精品一区免费在线| 日韩欧美视频第二区| 伊人激情综合| 韩国三级与黑人| 中文文精品字幕一区二区| 五月天激情国产综合婷婷婷| 日韩精品一区二区三区在线播放| 中文字幕在线播放| 奇门遁甲1982国语版免费观看高清 | 超碰97国产精品人人cao| 国产欧美精品日韩| 国产成人黄色| 99精品免费在线观看| proumb性欧美在线观看| 免费无遮挡无码永久在线观看视频 | 国产精品无码专区av免费播放| 亚洲欧美激情另类校园| 日本不卡免费高清视频在线| http;//www.99re视频| 91久久国产| 国模私拍视频在线观看| 中文字幕av不卡| 国产乱码77777777| 日韩成人性视频| 久久青草伊人| 精品国产乱码久久久久久郑州公司 | 久久女人天堂| 在线视频福利一区| 久久狠狠亚洲综合| 夫妇露脸对白88av| 在线视频综合导航| 国产黄色在线| 国产精品美女www爽爽爽视频| 精品一区在线| 欧美视频第三页| 欧美国产精品专区| 国产天堂第一区| 少妇高潮久久77777| 欧美美女福利视频| 麻豆md0077饥渴少妇| 国产在线精品视频| 欧美成人三级视频| 精品国产sm最大网站免费看| 国产在线精彩视频| 老牛影视免费一区二区| 老司机亚洲精品| 999久久久国产| 日韩三级视频在线看| 激情av在线| 久久精品国产精品青草色艺| 香蕉成人久久| 性爱在线免费视频| 91精品国产高清一区二区三区蜜臀| 99热国产在线中文| 国产欧美亚洲日本| 美女诱惑一区| 久久久精品成人| 日韩一区二区三区三四区视频在线观看 | 动漫av一区二区三区| 久久久久久成人精品| 亚洲丝袜啪啪| 国产精品视频黄色| 亚洲人成精品久久久久| 好男人在线视频www| 欧美孕妇孕交黑巨大网站| 成人影院在线| 中文字幕一区二区三区四| 午夜私人影院久久久久| 国产专区在线| 亚洲一区二区在线播放| 午夜亚洲激情| 欧日韩不卡视频| 亚洲国产精久久久久久| a屁视频一区二区三区四区| 欧美另类videos| 久久免费偷拍视频| 99久久精品免费看国产交换| 日本不卡视频在线播放| 午夜激情久久| 99久久免费看精品国产一区| 欧美无人高清视频在线观看| 日韩影视在线| 日韩三级电影免费观看| 岛国一区二区在线观看| 国产成人a v| 97国产在线视频| 亚洲欧美色图| 自拍偷拍亚洲天堂| 欧美电影精品一区二区| 国产福利亚洲| 无码精品a∨在线观看中文| 亚洲人成亚洲人成在线观看图片 | 无码精品国产一区二区三区免费| 日韩毛片一二三区| 麻豆av电影在线观看|