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

深入理解Flex布局以及計算

開發 項目管理
對于Flex布局,閱讀了 大漠老師和其他老師寫的文章后,我還是不太理解Flexbox是如何彈性的計算子級項目的大小以及一些其他細節。在大漠老師的幫助下,我去查閱Flexbox 的 W3C 規范文檔。

起因

對于Flex布局,閱讀了 大漠老師和其他老師寫的文章后,我還是不太理解Flexbox是如何彈性的計算子級項目的大小以及一些其他細節。在大漠老師的幫助下,我去查閱Flexbox 的 W3C 規范文檔。

注:本篇博文不適合未接觸過Flex 布局的人, 如果想了解flex 布局基礎。請參考理解Flexbox:你需要知道的一切

對于flex盒模型的設計期望

flex盒模型是被期望設計成:

  • 在任何流動的方向上(包括上下左右)都能進行良好的布局
  • 可以以逆序 或者 以任意順序排列布局
  • 可以線性的沿著主軸一字排開 或者 沿著側軸換行排列
  • 可以彈性的在任意的容器中伸縮大小(今天重點研究的主題)
  • 可以使子元素們在容器主軸方向上 或者 在容器側軸方向上 進行對齊
  • 可以動態的 沿著主軸方向 伸縮子級的尺寸,與此同時保證父級側軸方向上的尺寸

主軸和側軸

很有必要先向大家解釋清楚 3個問題

  • 什么是主軸
  • 什么是側軸
  • 他們是如何切換的

首先每一根軸都包括 三個東西:維度、方向、尺寸

什么意思呢?

  • 所謂的維度實際上就是意思就是子元素 橫著排還是豎著排(x 軸 或 y 軸)
  • 方向 即排列子元素的順序 順序還是逆序
  • 尺寸 即width[height] : 每一個子元素在主軸方向所占的位置的總和 如果主軸是水平的,那么尺寸就是父元素內所有itemouterWidth總和,如果主軸是垂直的,那么尺寸就是父元素的outerHeight

主軸是依靠 flex-direction 和 所有子元素在主軸方向上的item-size的總和確定的,flex-direction這個屬性可以控制子元素的排列方向和排列順序。

側軸是依靠 flex-wrap 和 所有子元素在主軸方向上的item-size的總和確定的,flex-wrap 可以控制子元素 在側軸方向上的排列方式以及順序。

而關于不同種類不同情況下的 item-size 我們會在下面討論,現在您可以簡單將它理解為width[height]。

img

盜規范中的一張圖

為了方便 flex-direction + flex-wrap 合并成了一個屬性 flex-flow

通過這個簡單而復雜的屬性,我們就能夠控制所有子元素的水平和垂直方向,逆序排列和順序,換行和不換行。

主側軸的切換十分簡單,當主軸設定的時候,它的垂直面,就默認被設定成了側軸。如:

flex-flow: row-reverse wrap-reverse;

這條CSS屬性能夠告訴我們那些信息?

  • 子元素是橫著排列的,主軸是水平的橫軸,側軸是豎直的縱軸
  • 子元素是逆序并沿著主軸排列的,從右到左
  • 子元素是換行的
  • 子元素是逆序并沿著側軸排列的,從下到上

FFC (flex formatting context)

Flexbox 布局新定義了格式化上下文,類似 BFC(block formatting context)。有多類似呢? 就是除了布局和一些細節不同以外的一切規則都和 BFC 是相同的

注意 : 我所指的Flexbox 是指設置了 display: flex; 或 display: inline-flex;的盒子。不是指單單設置了 display: flex; 的盒子。

例如,設置了 display: flex; 或 display: inline-flex的元素,和BFC一樣,不會被浮動的元素遮蓋,不會垂直外邊距坍塌等等。

而對于設置了 display: inline-flex 的盒子來說,我們可以類比 display: inline-box;行理解。即 一個被行列化后的 Flexbox。它不會獨占一行,但是可以設置寬和高。

與BFC的細微區別

但需要注意的是以下幾點細節,Flexbox 布局 和 Block 布局是有細微區別的

  • Flexbox 不支持 ::first-line 和 ::first-letter 這兩種偽元素
  • vertical-align 對 Flexbox 中的子元素 是沒有效果的
  • float 和 clear 屬性對 Flexbox 中的子元素是沒有效果的,也不會使子元素脫離文檔流(但是對Flexbox 是有效果的!)
  • 多欄布局(column-*) 在 Flexbox 中也是失效的,就是說我們不能使用多欄布局在Flexbox 排列其下的子元素(魚和熊掌不可得兼嘛)
  • Flexbox 下的子元素不會繼承父級容器的寬

flex item(flex 子元素)

CSS解析器會把 定義了 display: flex; 和 display: inline-flex; 的 Flexbox 下的子元素外部裝進一個看不見的盒子里,我們通過排列這些盒子來達到排序、布局、 伸縮的目的。

規范中把這種盒子 稱為 flex item,而子元素中包括了 標簽節點 以及 文本節點。標簽節點很容易理解,需要注意的是文本節點。

默認情況下,flex 會將 連續的文本節點 裝進 flex-item 之中,使文本可以和標簽節點一起排序和定位。

值得注意的是,空格也是文本節點,所以 white-space 會影響Flexbox 中的布局:

img

設置了white-space: pre 的Flexbox

flex-item-size 如何計算的

item-size(尺寸)為主軸方向上item的 content 再加上自身的margin 、 border 和 padding 就是這個 item 的尺寸。

在規范中 介紹了 flex-item content 的計算方式

分為以下這幾種情況

1. flex-basis 的優先級比 width[height]: 非auto; 高

如果子元素沒有內容和默認固定寬高,且設置了flex-basisflex-item contentflex-basis來決定,無論width[height] 設置了多少。

(可理解為 flex-basis 比 width[height]: 非auto;的優先級高)

img

flex-basis的優先級比width[height]高,無論width[height]設置多少,flex-item content都以flex-basis來決定

2.元素存在默認寬高

如果子元素有默認固定寬高(例如input 標簽)、并且設置了 flex-basis,那么它的 content以 固定寬高為下限,如果flex-basis 超過了固定寬高,那么flex-basis則成為其 content,如果flex-basis比固定寬高小,那么以固定寬高為 content

img

對于固定元素的尺寸設定

3.元素存在 min-width[height] 或者 max-width[height]

如果flex-item 有min-width[min-height] 的限制,那么flex-item content按照 min-width 值為下限,如果 flex-basis 的值大于 min-width[min-height] 那么flex-item content以 flex-basis 計算。

如果flex-basis 的值小于 min-width[min-height] 那么flex-item contentmin-width[min-height] 計算:

img

如果 min-width[min-height] 的值已經超出了容器的尺寸,那么即使設置了 flex-shrink。 CSS解析器也不會進行將這個item的 content shrink,而是堅持保留它的min-width[min-height]

img

如果Flexbox 設置的min-width 超出了flex container 的范圍, 不會對其進行壓縮

反之,如果設置了 max-width[height] 的值,那么設置flex-basis 無法超過這個值,對于flex-grow 也僅僅只會增長到 max-width[height] 這個上限。

在下面的章節,我們會仔細討論這種情況下,布局的計算。

4.width[height]: auto; 優先級等于 flex-basis。

前面提到,如果給item同時設置了width[height] 和 flex-basis的話。flex-item content以flex-basis來決定。但是實際上默認的 width[height]: auto; 優先級是等于 flex-basis的。

CSS解析器對比兩者的值,兩者誰大取誰 作為item的基本尺寸,如果一個item沒有內容,flex-item content就會以flex-basis來決定。

但是如果item有了內容,且內容撐開的尺寸比flex-basis大,那么flex-item content就會以width[height]: auto; 來決定,且無法被 shrink。反之,如果比flex-basis小,flex-item content就會以flex-basis來決定:

img

width: auto; 內容長度比 flex-basis 大,則 flex-item content以內容長度來決定,且無法shrink

img

如果 flex-basis 的長度大于文字內容長度,那么flex-item content以 flex-basis 來決定

img

同時設置了flex-basis: 800px; 和 width: 1px; flex-item content以 flex-basis 來決定,可以發生shrink

img

注意2號盒子我設置了 flex-shrink: 1; 1號盒子和3號盒子我設置了 flex-shrink: 0; 意思就是我將所有的需要shrink的空間都壓到了2號盒子上,總共的需要 shrink的空間為 0 * 600 + 1 * 20 + 0 * 100 = -20;而2號盒子只有20的空間,理應被完全shrink變為0,但是值得注意的是2號盒子并沒有被完全 shrink,還保留了一個文字的距離。

除此之外,overflow: hidden; 也會影響

img

overflow: hidden; 把文字長度限制在了600px; 小于 flex-basis: 700px;所以flex-item content以flex-basis來決定,可以 shrink

隱藏屬性對 items-size 的影響

我針對了 display: none; visibility: hidden; visibility: collapse; transform: scale; 等屬性對 items 進行測試。

結果如下:

  • 如果設置了 visibility: hidden; | visibility: collapse; | transform: scale;的flex-item content 依然被算進主軸尺寸,CSS 解析器依然會以他們 flex-grow | flex-shrink 將可用空間 或者 負可用空間 分配給他們
  • 如果設置了display: none; CSS解析器不會對該item的空間進行計算,也不會對其grow空間

關于position: absolute 對item影響

position: absolute 也是適用 Flexbox 中的子元素的,并且,設置了position: absolute屬性的子元素,也會受到 Flexbox 排列的影響。

img

設置了absolute 的子元素重疊在了一起,但是依然會受到 align-items: center; 的影響而居中。對于 Flexbox 來說,設置了position: absolute;并不會對其下的子元素產生任何影響。

我們重點看 Flexbox 下的子元素設置了absolute 后有什么結果。

根據我做的實驗,我得到了如下的結論:

flexbox 下設置了absolute的子元素的位置受3個方面的影響:

  • flexbox 流下面的 justify-content 和 align-items
  • 單個子元素的 topleftrightbottom
  • 單個子元素的 margin

這里我們不討論 translate 因為 translate 只是視覺上位置的改變:

img

設置了absolute 的item 不會影響布局,如圖,其中1 2 3 4 5 號是設置了absolute的item,而 6 7 8 9號是沒有設置absolute的item Flexbox 我設置了 justify-content: center; 和 align-items: center; 每一個item我都給了 margin: 20px;

  • 我們可以看到,由于absolute 的原因, 12345號的item 不會影響 6789號的排布。結論:脫離了文檔流的 item 不會影響 正常的flex 布局
  • 如圖上 4號 item, 設置了absolute 但是沒有設置 top / left 這些值,位置居中偏下。結論:如果對子元素設置了 position: absolute; 屬性而沒有設置 top left 這些值。子元素受 Flexbox 的justify-content: center 、 align-items: center 和 margin 的影響
  • 如圖上1235 號item, 我給他們分別設置 topleftrightbottom 等值。5號元素設置了margin-left: 50px; 和 padding-bottom: -999999px;結論:topleftrightbottom 等值會覆蓋 justify-content: center; 和 align-items: center; 設置的位置,使item 自由定位。margin自始至終都會影響item的位置,而padding不會(我試過padding 設500px 的情況,padding 會影響item的大小)
  • 如果對上圖 12345號item 不設置 topleftrightbottom 等值。對父級的 justify-content 和 align-items 設置center以外的其他值的話:如果設置了 flex-start 所有元素不分開,定位在 主軸起點;如果設置了 flex-start 所有元素不分開,定位在 主軸終點;如果設置justify-content: space-around;效果等同于center,即所有的元素疊在一起居中,且items不會產生間隔;如果設置了 justify-content: space-between; 效果等同于 flex-start, 且items不會分開;如果設置了 align-items: flex-start; 所有元素不分開,定位在 側軸起點;如果設置了 align-items: flex-end; 所有元素不分開,定位在 側軸終點;如果設置了 align-items: stretch | baseline;也是沒有任何效果, items 不會跟隨側軸拉伸 或是 根據baseline 對齊
  • 如果對單個item 設置 align-self,除了 flex-start | flex-end | center 有效之外,其他都失效

通過上面一系列的測試我們可以清楚的認識到 justify-contentalign-items 和 topleftrightbottom 都是位置屬性,而且 topleftrightbottom 會覆蓋justify-contentalign-items的值。(以上前提是一定要設置position: absolute 不然 topleftrightbottom 無效)。

而 margin 的優先級是和 topleftrightbottom 一樣的,也就是說 margin 和 topleftrightbottom所設置的值會同時生效。

優先級排序為: margin = justify-content | align-items > top、left、right、bottom

flex-basis、flex-grow、flex-shrink 以及相應的計算

flex-basisflex-growflex-shrink是FFC下特有的屬性,只有父級元素設置了 display: flex | inline-flex; 才會生效,并且只針對主軸方向生效。

如果 主軸是水平的,即 flex-direction: row; 那么 flex-basisflex-growflex-shrink 控制的就是單個item的寬度。

如果 主軸是垂直的,即 flex-direction: column; 那么 flex-basisflex-growflex-shrink 控制的就是單個item的高度。而flex-grow 和 flex-shrink 是用于 主軸方向上對 (負)可用空間 進行伸縮的。

這要分兩種情況,換行或者不換行。

1.如果 flex-wrap: nowrap; 即不換行。

那么所有items 都會在主軸方向上的一條線上排列,CSS解析器會計算 items 在主軸方向上所占的空間 相對于 Flexbox 在主軸方向的所占的空間進行比較計算。

如果 items 所占的空間是小于Flexbox的 那么說明Flexbox 還沒有填滿,CSS解析器就會計算還有多少空間沒有填滿,根據每一個item所設置的flex-grow 設置的值,將這些空間分配按比例分配給每一個item。

img

可用空間

如果 items 所占的空間是大于Flexbox的 那么說明Flexbox 被填滿了,CSS解析器就會計算超出了多少空間,根據每一個item所設置的flex-shrink設置的值,將這些空間分配按比例縮小每一個item

img

超出的空間

那么CSS解析器在這種情況下是怎樣計算的呢?上一章我們勞神費力理解的item-size終于派上用場了。flex-grow計算流程是:

可用空間 = 將flexbox-content - 每個item-size的總和

將每一個item所設置的 grow 全部加起來,將可用空間除以grow,得到單位分配空間。

根據每一個item 設置的 grow 來算,如果一個item 的grow 為 2,那么 這個 item 在主軸上的尺寸就需要延伸 2*單位分配空間的大小。

那么 每一個 item 就需要在原基礎上 加上被分配的大小 就完成了grow:

img

分配前

img

分配后

簡單理解就是,將超出的部分,可能多,也可能少,根據 grow 來分配成 x 份,在根據每個 item 所設置的份數,將相差的部分分割給每一個item。

注意:flex-shrink 的計算流程和flex-grow的計算流程不同

flex-shrink計算流程是:先將所有項目 按照 flex-shrink * item-size 的方式加起來 得到一個加權和,然后計算出 每一份 item 的 shrink比例:

shrink比例 = flex-shrink * item-size / 之前的總和;

然后計算 子元素超出父級的部分(負可用空間),每一個item 減去這個 shrink比例 * 負可用空間即可

img

shrink前

img

shrink后

2. 如果flex-wrap: wrap[wrap-reverse]; 即換行

那么items 都會先在主軸方向上的多條線上排列,CSS解析器先會計算 每一條線 在主軸方向上尺寸 相對于 Flexbox 容器的width[height]進行比較計算,每條線之間互不干擾:

img

未分配之前

img

平均分配后

由于在一行內 如果item-size 累加超過了Flexbox 的尺寸就會另起一行進行排列,所以在這種情況下,不會存在 shrink 的情況,而只有 grow 的情況。

max-width[height] 情況下 flex-grow 的計算流程

由于可能存在某一個或多個item 設置了有max-width[height]。所以,CSS引擎會先進行一次分配,分配后,統計那些有max-width[height]的items, 分配后是否有超出的剩余空間,然后對這些剩余空間再分配給那些沒有設置max-width[height]的item

img

再分配流程

min-width[height] 情況下 flex-shrink 的計算流程

由于可能存在某一個或多個item 設置了有min-width[height]。所以,CSS引擎會先進行一次 shrink, shrink后,統計那些有min-width[height]的items, shrink后是否有的剩余的未 shrink空間,然后對這些剩余空間再分配給那些沒有設置min-width[height]的item。

注意:***次 shrink的算法和第二次分配未 shrink剩余空間的算法不同!

img

總結

Flexbox 布局很棒。免去了我們大量關于適配方面的工作,但是深入理解,并用好它還是需要一點門檻的。 再次感謝 @大漠老師 的鼎力幫助,謝謝。

責任編輯:張燕妮 來源: Owen
相關推薦

2022-07-06 08:05:52

Java對象JVM

2021-09-28 09:26:04

云計算OpenAPI體系

2016-12-08 15:36:59

HashMap數據結構hash函數

2020-07-21 08:26:08

SpringSecurity過濾器

2010-06-01 15:25:27

JavaCLASSPATH

2023-10-19 11:12:15

Netty代碼

2009-09-25 09:14:35

Hibernate日志

2021-02-17 11:25:33

前端JavaScriptthis

2013-09-22 14:57:19

AtWood

2019-06-25 10:32:19

UDP編程通信

2017-08-15 13:05:58

Serverless架構開發運維

2024-02-21 21:14:20

編程語言開發Golang

2025-05-06 00:43:00

MySQL日志文件MIXED 3

2020-09-23 10:00:26

Redis數據庫命令

2017-01-10 08:48:21

2025-06-05 05:51:33

2024-07-25 14:18:29

2021-09-17 06:55:50

AndroidLayoutView

2022-11-04 09:43:05

Java線程

2024-03-12 00:00:00

Sora技術數據
點贊
收藏

51CTO技術棧公眾號

欧美成人午夜精品免费| 国产精品8888| 成人免费一区二区三区| 成人高清av| 日韩午夜在线影院| 2018国产在线| yw193.com尤物在线| 黄色小说综合网站| 国产+人+亚洲| 大吊一区二区三区| 99这里只有精品视频| 色综合网站在线| 国产日本欧美在线| 天天综合网在线| 麻豆久久久久久久| 久久久久久久久爱| av在线播放中文字幕| 91精品国产自产在线丝袜啪| 日本乱人伦一区| 今天免费高清在线观看国语| 蜜桃成人在线视频| 中文字幕在线日亚洲9| 成人免费av电影| 亚洲欧洲中文日韩久久av乱码| 精品亚洲欧美日韩| 一级黄色大毛片| 亚洲免费激情| 久久影院资源网| 欧洲女同同性吃奶| 一本一道久久a久久| 欧美性生活影院| 国产素人在线观看| 综合图区亚洲| 中文字幕中文字幕在线一区| 久热国产精品视频一区二区三区| 国产乱子伦精品无码码专区| 久热精品视频| 97免费在线视频| 中文字幕手机在线观看| 日韩久久精品网| 亚洲人成电影网站色www| 日本不卡视频一区| 亚洲**毛片| 欧美一区永久视频免费观看| 冲田杏梨av在线| 成人影院av| 午夜成人在线视频| 亚洲 欧美 综合 另类 中字| 18网站在线观看| 亚洲欧洲精品一区二区三区| 日本午夜一区二区三区| 日本天堂影院在线视频| caoporm超碰国产精品| 99在线观看| 精品国产无码一区二区| 精品亚洲成a人| 国产日韩欧美影视| 中文字幕日韩第一页| 人人爽香蕉精品| 日韩av123| 精品久久久久久久久久久久久久久久| 亚洲精品婷婷| 97色在线观看| 国产高清中文字幕| 午夜在线a亚洲v天堂网2018| 国产91精品久久久久| 日本三级小视频| 国产日韩专区| 国产成人亚洲综合91精品| 天天操夜夜操视频| 全国精品久久少妇| 国产精品夜间视频香蕉| 国产精品一二三四五区| 国产成人高清在线| 色哦色哦哦色天天综合| 久久久久久久久久久免费精品| 麻豆精品一区二区三区视频| 国产精品v欧美精品v日本精品动漫| 欧美成人在线免费视频| 久久久久亚洲av成人片| 在线观看视频免费一区二区三区| 高清欧美性猛交xxxx黑人猛交| 久久久久久久久久免费视频| 乱码第一页成人| 国产精品永久在线| 99在线无码精品入口| 成人av网在线| 国产精品国产三级欧美二区| 免费国产精品视频| 久久久久久亚洲综合影院红桃| 无码免费一区二区三区免费播放| 天天影视久久综合| 亚洲一区二区3| www.浪潮av.com| 国产成+人+综合+亚洲欧美| 欧美一区二区网站| 中文字幕在线视频播放| 欧洲毛片在线视频免费观看| 久久综合88中文色鬼| 天堂网一区二区三区| 日韩中文字幕1| 亚洲自拍偷拍福利| 日本韩国一区| 亚洲精品综合在线| 亚洲精品无码久久久久久| 亚洲综合伊人| 日韩福利视频在线观看| 欧洲美女女同性互添| 在线视频日韩| 96国产粉嫩美女| 九色视频网站在线观看| 亚洲激情中文1区| 国产免费成人在线| 久久精品九色| 中文字幕欧美日韩| 精品成人久久久| 国产一区视频网站| 日本免费高清一区二区| av伦理在线| 91精品国产91久久久久久最新毛片| 毛茸茸多毛bbb毛多视频| 我不卡神马影院| 国产91在线视频| 欧美一级性视频| 亚洲视频资源在线| 日本美女高潮视频| 一区二区三区视频免费观看| 色综合久久88色综合天天看泰| 中文字幕乱伦视频| av网站免费线看精品| 男人日女人的bb| 中文字幕日本一区| 中文字幕av一区二区三区谷原希美| 国产无码精品在线观看| 国产精品一区二区久久不卡 | 影音先锋亚洲天堂| 国产精品一区二区久久不卡 | www.88av| 国语精品一区| 99久久综合狠狠综合久久止 | 亚洲国产无线乱码在线观看| 91天堂素人约啪| 欧美一级视频在线播放| 日韩精品一区二区三区中文字幕| 精品国产一区二区三区av片| 欧美变态tickle挠乳网站| 亚洲精品天堂网| 免费的国产精品| 任我爽在线视频精品一| 欧美一级大黄| 亚洲视频在线免费看| 成人免费毛片男人用品| 久久综合中文字幕| 日韩av在线综合| 欧美色图五月天| 欧美一级淫片播放口| 亚洲欧美日韩动漫| 狠狠久久亚洲欧美专区| 特级西西人体4444xxxx| 香蕉国产精品偷在线观看不卡| 国内精品久久久久久久果冻传媒| av小说在线播放| 亚洲级视频在线观看免费1级| 国产无遮挡又黄又爽| 成人av资源站| 国产 福利 在线| 免费电影一区二区三区| 国产精品高潮呻吟视频| av在线收看| 欧美一区日韩一区| 激情综合五月网| av在线综合网| 日韩手机在线观看视频| 欧美亚洲激情| 91一区二区三区| 波多一区二区| 亚洲午夜未满十八勿入免费观看全集| 国产嫩bbwbbw高潮| 国产精品久久久久影院| 日批视频在线看| 国产欧美综合一区二区三区| 日本一区二区久久精品| 国产精品igao视频网网址不卡日韩| 超碰97人人做人人爱少妇| 国精产品乱码一区一区三区四区| 福利视频一区二区| 女人裸体性做爰全过| 成人自拍视频在线| 天天摸天天碰天天添| 一区二区三区午夜探花| 国产色综合一区二区三区| 在线成人视屏| 欧美福利在线观看| 国产一区二区影视| 日韩写真欧美这视频| 国产一区二区视频免费| 亚洲欧美日韩国产手机在线| 李丽珍裸体午夜理伦片| 男女性色大片免费观看一区二区| 国产精品88久久久久久妇女| 亚洲aaa级| 亚洲影影院av| 粉嫩一区二区| 久久99热这里只有精品国产| 男人的天堂在线视频| 在线播放欧美女士性生活| 亚洲一区欧美在线| 亚洲柠檬福利资源导航| 3d动漫精品啪啪一区二区下载| 韩国女主播成人在线| 久久婷婷国产精品| 国产精品九九| 亚洲一区三区| 亚洲宅男一区| 国产99在线免费| 免费日韩成人| 国产精品18久久久久久首页狼| 视频在线观看入口黄最新永久免费国产| 亚洲欧美国产精品va在线观看| 成人激情四射网| 欧美日本视频在线| 国产成人无码av| 亚洲最新在线观看| 色婷婷粉嫩av| 中文字幕精品综合| 7788色淫网站小说| 国产精品一二三区在线| 小明看看成人免费视频| 葵司免费一区二区三区四区五区| 精品人妻大屁股白浆无码| 久久高清免费| 视频一区二区精品| 国产精品欧美日韩一区| 精品视频第一区| www.久久东京| 91传媒视频免费| 亚洲欧洲专区| 91精品国产自产在线| 亚洲精品.com| 国产成人久久久| 亚洲啊v在线| 欧美一区二粉嫩精品国产一线天| 污网站在线免费看| 九九热精品视频在线播放| 三级外国片在线观看视频| 中文字幕av日韩| av中文在线| 日韩在线免费av| av在线资源站| 日韩一中文字幕| 久久99精品久久久久久野外| 日韩在线观看网站| 免费网站成人| 久久久999精品| 成人午夜在线影视| 欧美精品一区三区| 午夜小视频在线观看| 色综合久久中文字幕综合网小说| 午夜在线视频免费观看| 高清一区二区中文字幕| 91免费国产视频| 欧美午夜在线播放| av在线不卡观看| 国产厕拍一区| 玛丽玛丽电影原版免费观看1977 | 欧美mv日韩mv国产网站app| 亚洲av无码专区在线| 精品国产三级电影在线观看| 天天色综合久久| 国产亚洲欧美一区| 麻豆网在线观看| 欧美福利视频在线| 成人性生活视频| 国产精品嫩草视频| 亚洲国产aⅴ精品一区二区| 国产九色91| 精品产国自在拍| 国产免费xxx| 国产一区二区高清| 日本www.色| 国产suv精品一区二区883| 你懂得在线视频| 中文字幕免费一区| 久久久精品国产sm调教网站| 欧美性xxxxxx| 一本色道久久综合熟妇| 精品国产露脸精彩对白| 国产福利电影在线| 蜜臀久久99精品久久久无需会员| 6699嫩草久久久精品影院| 国产精品96久久久久久| 视频在线亚洲| 日韩精品国内| 国产一区久久| 美女黄色片视频| 播五月开心婷婷综合| 日韩一级片在线免费观看| 亚洲国产日产av| 最近中文字幕在线免费观看| 精品国产伦一区二区三区观看方式| 九色视频在线观看免费播放| 成年无码av片在线| 国产伦精品一区二区三区视频金莲| 91免费国产网站| 国产亚洲一区| 欧美又粗又长又爽做受| 日韩电影在线免费看| 苍井空张开腿实干12次| 国产精品久久一级| 五月天婷婷久久| 日韩一区二区在线观看| 国产大片在线免费观看| 久久久欧美一区二区| 婷婷丁香久久| 欧美日韩在线不卡一区| 伊人影院久久| 国产大片一区二区三区| 国产精品日韩成人| 中文字幕在线欧美| 精品少妇一区二区三区免费观看| 尤物视频在线免费观看| 日本久久久久亚洲中字幕| 亚洲午夜免费| 91xxx视频| 麻豆久久久久久久| 在线观看亚洲大片短视频| 欧美性猛交xxxx偷拍洗澡| 亚洲经典一区二区| 欧美成人精品激情在线观看| 97欧美成人| 热re99久久精品国99热蜜月| 国产精品腿扒开做爽爽爽挤奶网站| 三级网站免费看| ...av二区三区久久精品| 国产精品51麻豆cm传媒| 亚洲奶大毛多的老太婆| 国产污视频在线播放| 成人免费91在线看| 一二三区不卡| 四虎成人在线播放| 亚洲免费在线播放| 国产乱码精品一区二三区蜜臂 | 国产91一区二区三区| 女人香蕉久久**毛片精品| 三级一区二区三区| 中文字幕一区二区三区av| 欧美熟妇另类久久久久久多毛| 精品国产影院| 中文字幕超清在线免费观看| 看电视剧不卡顿的网站| 欧美精品日韩在线| 欧美三级视频在线| 午夜在线播放| 成人网在线视频| 中文字幕一区二区三区欧美日韩 | 五月天婷婷网站| 欧美videofree性高清杂交| 丝袜综合欧美| 国产精品一国产精品最新章节| 在线欧美不卡| 在线观看av中文字幕| 色网综合在线观看| av在线第一页| 亚洲一区二区久久久久久久| 欧美一区二区三区久久精品茉莉花| 丰满少妇一区二区三区专区| 一区二区三区日韩欧美| 天堂网av在线播放| 97视频在线观看视频免费视频 | 亚洲最大色综合成人av| 久久国产精品区| 国产这里有精品| 亚洲аv电影天堂网| 在线观看爽视频| 一区二区不卡视频| 夫妻av一区二区| 精品美女久久久久| 搡老女人一区二区三区视频tv| 国产精品**亚洲精品| 成人午夜视频在线观看免费| 久久久.com| 国产sm主人调教女m视频| 97国产成人精品视频| av中文一区| 欧美一区二区三区影院| 欧美日韩在线影院| 黄色成人影院| 久久亚洲午夜电影| 韩国欧美国产1区| 国产成人在线视频观看| 色噜噜久久综合伊人一本| 18国产精品| jizz欧美激情18| 一区二区三区在线免费观看| 青青草超碰在线| 亚洲在线第一页| 久久综合狠狠| 亚洲精品在线观看av| 中文字幕日韩欧美精品在线观看| 91大神精品|