精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

超碰成人久久| 69堂精品视频在线播放| 粉嫩av一区二区三区粉嫩| 久久久之久亚州精品露出| 黄色a一级视频| 欧美不卡高清一区二区三区| 亚洲日本电影在线| 精品乱码一区二区三区| 波多野结衣视频在线观看| 91精品国产福利在线观看麻豆| 精品粉嫩aⅴ一区二区三区四区| 日韩av在线综合| 巨大荫蒂视频欧美大片| 97se亚洲国产综合自在线不卡| 国产精品尤物福利片在线观看| 久久人人爽人人爽人人| 日韩一区二区中文| 亚洲国产精品va在线观看黑人| 国产一级特黄a大片免费| 日韩免费影院| 国产精品色哟哟| 国产精品夜夜夜一区二区三区尤| 亚洲午夜精品久久久| 国产精品三上| 欧美日本亚洲视频| xxxxx99| 特黄特色欧美大片| 欧美大片日本大片免费观看| 污色网站在线观看| 欲香欲色天天天综合和网| 亚洲精品福利视频网站| 性刺激综合网| 日本精品专区| 99亚偷拍自图区亚洲| 91亚色免费| 国产精品一区二区av白丝下载| 噜噜噜91成人网| 高清欧美电影在线| 久久中文字幕无码| 午夜久久免费观看| 日韩综合视频在线观看| aaaaa一级片| 久久夜色电影| 精品不卡在线视频| 人妻av一区二区三区| www.欧美视频| 777奇米四色成人影色区| 国产在线青青草| 亚洲人成在线网站| 欧美日韩亚洲高清| 国产精品宾馆在线精品酒店| 日韩欧美精品一区二区三区| 第一福利永久视频精品| 久久精品视频16| 美女av在线免费看| 大桥未久av一区二区三区| 青青青免费在线| 日本蜜桃在线观看视频| 欧美午夜精品久久久久久人妖| 又粗又黑又大的吊av| 国产精品电影| 欧美日韩精品中文字幕| 老熟妇仑乱视频一区二区 | 亚洲伦在线观看| 一区二区在线不卡| av免费网站在线观看| 伊人夜夜躁av伊人久久| 成人免费在线视频播放| 97天天综合网| 日韩欧美在线网址 | 韩国理伦片一区二区三区在线播放 | 欧美成欧美va| 激情综合激情| 日本一区二区三区在线播放| 少妇又紧又色又爽又刺激视频| 美国av一区二区| 91在线免费视频| 黄色片一区二区| 久久久www免费人成精品| 水蜜桃一区二区三区| 麻豆av在线导航| 亚洲午夜在线电影| 人妻内射一区二区在线视频| 日本欧美在线| 精品人在线二区三区| 在线 丝袜 欧美 日韩 制服| 日韩理论在线| 欧美精品激情在线观看| 91午夜精品亚洲一区二区三区| 九色|91porny| 国产伦精品一区二区三| 国内精品一区视频| 亚洲免费av高清| 国产二区视频在线播放| 久久麻豆视频| 亚洲精品av在线| 超碰97av在线| 亚洲久久视频| 成人欧美一区二区三区黑人孕妇| 香蕉视频911| 亚洲视频免费观看| 99精品免费在线观看| 国产一区二区| 亚洲一区二区福利| 精品无码久久久久久久| 久久se精品一区精品二区| 国产中文一区二区| 美女黄视频在线观看| 欧美色播在线播放| 亚洲精品一区二区18漫画| 欧美精品系列| 91干在线观看| 亚洲av综合色区无码一区爱av| 国产欧美日韩另类视频免费观看| 黄页网站大全在线观看| 成人在线日韩| 一区二区福利视频| 九一国产在线观看| 成人午夜免费视频| 在线视频不卡一区二区三区| 欧美电影网站| 日韩不卡中文字幕| 久久久久成人片免费观看蜜芽| 男女男精品网站| 免费在线观看一区二区| www.综合| 欧美精品一区二区三区高清aⅴ| 黄色一级片中国| 北条麻妃在线一区| 国产视频一区二| 在线观看日韩av| 久久精品无码av| 北条麻妃国产九九精品视频| 成人一区二区av| 国产亚洲亚洲国产一二区| 色老头一区二区三区| 国产一级片免费视频| 久久久午夜精品理论片中文字幕| 欧美一级视频在线播放| 天堂精品在线视频| 美女999久久久精品视频| 亚洲无码久久久久久久| 国产精品女同一区二区三区| 亚洲色精品三区二区一区| 亚洲丝袜美腿一区| 国产91精品不卡视频| 视频国产在线观看| 欧美性生交大片免网| 熟妇高潮精品一区二区三区| 亚洲日韩视频| 精品不卡在线| 在线观看涩涩| 亚洲人成在线免费观看| 久久亚洲精品石原莉奈| 欧美激情一区二区三区全黄| 爱情岛论坛成人| 精品高清久久| 91精品久久久久久久久中文字幕| 色综合久久影院| 91麻豆精品久久久久蜜臀 | 亚洲精品免费在线播放| www,av在线| 欧美精品麻豆| 国产精品加勒比| 日韩深夜视频| 在线观看日韩www视频免费| 中文字幕在线播出| 亚洲日本青草视频在线怡红院| 欧美国产日韩在线视频| 午夜国产精品视频| 国产亚洲精品久久飘花| 中文字幕这里只有精品| 亚洲一区二区精品| 亚洲一区二区色| 亚洲精品视频观看| 中文字幕天堂网| 久久大逼视频| 一区二区三区偷拍| 波多野结衣一区二区三区免费视频| 久久久久久久一| 免费福利在线观看| 欧美一区二区三区视频在线观看| 黄色一级视频在线观看| 99久久精品免费看| 亚洲视频在线a| 亚洲欧美网站在线观看| 国产精品午夜av在线| av在线日韩| 欧美精品在线网站| 欧美挠脚心网站| 欧美精品精品一区| 日韩和一区二区| 国产精品成人免费| 精品人妻一区二区三区日产| 欧美a一区二区| 黄色特一级视频| 精品国产乱码| 国产精品久久精品国产| 国产精品久久久久久久久免费高清| 欧美日韩第一页| 国产高清av在线| 欧美不卡一区二区三区| 激情网站在线观看| 亚洲一区二区三区精品在线| 欧美激情视频二区| www.成人网.com| 久久久久久久久久久久久久久国产| 国产亚洲亚洲| 91精品国产吴梦梦| 欧美三级三级| 国产日韩久久| 警花av一区二区三区| 国产精品极品美女在线观看免费| 超免费在线视频| 久久成人精品视频| av网站在线免费播放| 日韩成人免费视频| 亚洲av无码一区二区乱子伦| 欧美日韩激情一区| 久久久久久不卡| 激情久久av一区av二区av三区| 日本黄色片免费观看| 国产人成亚洲第一网站在线播放 | 一级黄色片在线看| 欧洲精品一区二区| 欧美精品一二三四区| 亚洲高清不卡在线| 精国产品一区二区三区a片| 国产精品美女久久久久高潮| 成人免费无遮挡无码黄漫视频| 成人av在线影院| 俄罗斯女人裸体性做爰| 狠狠色狠狠色综合| 在线看的黄色网址| 日本最新不卡在线| 四虎永久在线精品无码视频| 亚洲欧美日韩在线观看a三区| 和岳每晚弄的高潮嗷嗷叫视频| 欧美特黄一区| 国产精品视频网站在线观看| 欧美日韩国产在线一区| 日本三日本三级少妇三级66| 91久久高清国语自产拍| 一区二区不卡在线观看| 欧美3p在线观看| 色大师av一区二区三区| 欧美色婷婷久久99精品红桃| 四虎影院一区二区三区| 成人羞羞视频播放网站| 亚洲二区自拍| 欧美www视频在线观看| 正在播放91九色| 久久久久久久久久久久久久| 免费观看中文字幕| 欧美在线看片| 9色porny| 西西裸体人体做爰大胆久久久| 色欲av无码一区二区人妻| 噜噜噜在线观看免费视频日韩| 不卡av免费在线| 美女一区二区三区在线观看| 少妇一级淫免费放| 精品一区免费av| 色诱av手机版| 97se亚洲国产综合自在线 | 色婷婷视频在线| 亚洲精品videossex少妇| 性高潮久久久久久久久久| 亚洲欧美日韩中文视频| av在线电影网| 久久亚洲国产成人| 91福利在线免费| 国产成人精品久久二区二区91| 成人国产精品入口免费视频| 91九色对白| 免费看久久久| 视频一区亚洲| 欧美一区综合| 男女高潮又爽又黄又无遮挡| 日韩高清在线一区| √天堂资源在线| a在线欧美一区| 亚洲一二三精品| 一区二区三区四区av| 日本熟女毛茸茸| 欧美一区二区在线免费观看| 午夜视频福利在线| 日韩在线中文视频| 51漫画成人app入口| 国产精品第七影院| 亚洲开心激情| 日韩av电影免费在线| 黄色一区二区三区四区| 亚洲精品高清无码视频| 国产精品18久久久久久久久| 性少妇bbw张开| 一区二区三区在线视频观看| 精品黑人一区二区三区| 日韩欧美的一区二区| 国产精品99999| 久久久久久尹人网香蕉| 91亚洲视频| 国内视频一区| 亚洲精品tv久久久久久久久久| 日本三级免费观看| 国产精品综合二区| 国产免费看av| 亚洲精品写真福利| 日韩精品成人免费观看视频| 亚洲成人黄色网址| 免费黄色网页在线观看| 日本久久久久久久| 国产精品久久久网站| 制服丝袜综合日韩欧美| 久久综合伊人| 四虎精品一区二区| 亚洲男人都懂的| 在线免费av片| 亚洲欧洲在线免费| 激情黄产视频在线免费观看| 92看片淫黄大片看国产片| 欧美日韩水蜜桃| 久草青青在线观看| 成人av手机在线观看| 欧洲猛交xxxx乱大交3| 欧美蜜桃一区二区三区| 户外极限露出调教在线视频| 国内精品久久久久久久| 日本精品国产| 四虎精品欧美一区二区免费| 久久精品久久久精品美女| 日韩精品电影一区二区| 欧美日韩一区二区三区在线免费观看| www精品国产| 欧美日韩电影在线观看| 日韩成人视屏| 水蜜桃在线免费观看| 国产专区综合网| 亚洲一级二级片| 欧美日韩国产天堂| aiai在线| 国产精品自产拍高潮在线观看| 精品毛片免费观看| 五月婷婷狠狠操| 中文字幕精品一区二区精品绿巨人| 香蕉污视频在线观看| 亚洲欧美在线第一页| 成人小电影网站| 日韩高清dvd| 免费成人av资源网| 免费成人美女女在线观看| 88在线观看91蜜桃国自产| 成人在线视频亚洲| 91免费版黄色| 亚洲毛片视频| 国产吞精囗交久久久| 91精品1区2区| 日本不卡不卡| 91九色视频在线观看| 狠狠综合久久av一区二区老牛| 黄色激情在线观看| 高跟丝袜一区二区三区| 国产毛片在线| 成人久久18免费网站图片| 欧美不卡一区| 欲求不满的岳中文字幕| 91极品美女在线| 91麻豆国产福利在线观看宅福利| av在线亚洲男人的天堂| 亚洲人www| 日本美女bbw| 日韩午夜激情电影| 黄色18在线观看| 少妇精品久久久久久久久久| 国产一区二区美女| 黄色片视频网站| 一区二区欧美激情| 伊人精品久久| www.超碰com| 一区二区成人在线| 欧洲伦理片一区 二区 三区| 成人亚洲欧美一区二区三区| 在线高清一区| www中文在线| 亚洲成年人在线播放| 亚洲精品在线影院| wwwjizzjizzcom| 久久久精品影视| 国产精品一区二区av白丝下载 | 国产精品视频线看| 亚洲精品免费在线观看视频| 日本精品久久久久影院| 91tv官网精品成人亚洲| 亚洲精品理论片| 欧美一区二区视频在线观看 | 欧美日本韩国一区二区三区视频| 美洲精品一卡2卡三卡4卡四卡| 欧美三日本三级少妇三99| 国产91精品在线观看| 日本成人一级片|