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

移動前端開發(fā)之viewport的深入理解

移動開發(fā)
通俗的講,移動設(shè)備上的viewport就是設(shè)備的屏幕上能用來顯示我們的網(wǎng)頁的那一塊區(qū)域,在具體一點,就是瀏覽器上(也可能是一個app中的webview)用來顯示網(wǎng)頁的那部分區(qū)域,但viewport又不局限于瀏覽器可視區(qū)域的大小,它可能比瀏覽器的可視區(qū)域要大,也可能比瀏覽器的可視區(qū)域要小。

移動前端開發(fā)之viewport的深入理解

一、viewport的概念

通俗的講,移動設(shè)備上的viewport就是設(shè)備的屏幕上能用來顯示我們的網(wǎng)頁的那一塊區(qū)域,在具體一點,就是瀏覽器上(也可能是一個app中的webview)用來顯示網(wǎng)頁的那部分區(qū)域,但viewport又不局限于瀏覽器可視區(qū)域的大小,它可能比瀏覽器的可視區(qū)域要大,也可能比瀏覽器的可視區(qū)域要小。在默認情況下,一般來講,移動設(shè)備上的viewport都是要大于瀏覽器可視區(qū)域的,這是因為考慮到移動設(shè)備的分辨率相對于桌面電腦來說都比較小,所以為了能在移動設(shè)備上正常顯示那些傳統(tǒng)的為桌面瀏覽器設(shè)計的網(wǎng)站,移動設(shè)備上的瀏覽器都會把自己默認的viewport設(shè)為980px或1024px(也可能是其它值,這個是由設(shè)備自己決定的),但帶來的后果就是瀏覽器會出現(xiàn)橫向滾動條,因為瀏覽器可視區(qū)域的寬度是比這個默認的viewport的寬度要小的。下圖列出了一些設(shè)備上瀏覽器的默認viewport的寬度。

viewport

二、css中的1px并不等于設(shè)備的1px

在css中我們一般使用px作為單位,在桌面瀏覽器中css的1個像素往往都是對應(yīng)著電腦屏幕的1個物理像素,這可能會造成我們的一個錯覺,那就是css中的像素就是設(shè)備的物理像素。但實際情況卻并非如此,css中的像素只是一個抽象的單位,在不同的設(shè)備或不同的環(huán)境中,css中的1px所代表的設(shè)備物理像素是不同的。在為桌面瀏覽器設(shè)計的網(wǎng)頁中,我們無需對這個津津計較,但在移動設(shè)備上,必須弄明白這點。在早先的移動設(shè)備中,屏幕像素密度都比較低,如iphone3,它的分辨率為320x480,在iphone3上,一個css像素確實是等于一個屏幕物理像素的。后來隨著技術(shù)的發(fā)展,移動設(shè)備的屏幕像素密度越來越高,從iphone4開始,蘋果公司便推出了所謂的Retina屏,分辨率提高了一倍,變成640x960,但屏幕尺寸卻沒變化,這就意味著同樣大小的屏幕上,像素卻多了一倍,這時,一個css像素是等于兩個物理像素的。其他品牌的移動設(shè)備也是這個道理。例如安卓設(shè)備根據(jù)屏幕像素密度可分為ldpi、mdpi、hdpi、xhdpi等不同的等級,分辨率也是五花八門,安卓設(shè)備上的一個css像素相當(dāng)于多少個屏幕物理像素,也因設(shè)備的不同而不同,沒有一個定論。

還有一個因素也會引起css中px的變化,那就是用戶縮放。例如,當(dāng)用戶把頁面放大一倍,那么css中1px所代表的物理像素也會增加一倍;反之把頁面縮小一倍,css中1px所代表的物理像素也會減少一倍。關(guān)于這點,在文章后面的部分還會講到。

在移動端瀏覽器中以及某些桌面瀏覽器中,window對象有一個devicePixelRatio屬性,它的官方的定義為:設(shè)備物理像素和設(shè)備獨立像素的比例,也就是 devicePixelRatio = 物理像素 / 獨立像素。css中的px就可以看做是設(shè)備的獨立像素,所以通過devicePixelRatio,我們可以知道該設(shè)備上一個css像素代表多少個物理像素。例如,在Retina屏的iphone上,devicePixelRatio的值為2,也就是說1個css像素相當(dāng)于2個物理像素。但是要注意的是,devicePixelRatio在不同的瀏覽器中還存在些許的兼容性問題,所以我們現(xiàn)在還并不能完全信賴這個東西,具體的情況可以看下這篇文章

devicePixelRatio的測試結(jié)果:

viewport測試結(jié)果

三、PPK的關(guān)于三個viewport的理論

ppk大神對于移動設(shè)備上的viewport有著非常多的研究(第一篇第二篇第三篇),有興趣的同學(xué)可以去看一下,本文中有很多數(shù)據(jù)和觀點也是出自那里。ppk認為,移動設(shè)備上有三個viewport。

首先,移動設(shè)備上的瀏覽器認為自己必須能讓所有的網(wǎng)站都正常顯示,即使是那些不是為移動設(shè)備設(shè)計的網(wǎng)站。但如果以瀏覽器的可視區(qū)域作為viewport的話,因為移動設(shè)備的屏幕都不是很寬,所以那些為桌面瀏覽器設(shè)計的網(wǎng)站放到移動設(shè)備上顯示時,必然會因為移動設(shè)備的viewport太窄,而擠作一團,甚至布局什么的都會亂掉。也許有人會問,現(xiàn)在不是有很多手機分辨率都非常大嗎,比如768x1024,或者1080x1920這樣,那這樣的手機用來顯示為桌面瀏覽器設(shè)計的網(wǎng)站是沒問題的吧?前面我們已經(jīng)說了,css中的1px并不是代表屏幕上的1px,你分辨率越大,css中1px代表的物理像素就會越多,devicePixelRatio的值也越大,這很好理解,因為你分辨率增大了,但屏幕尺寸并沒有變大多少,必須讓css中的1px代表更多的物理像素,才能讓1px的東西在屏幕上的大小與那些低分辨率的設(shè)備差不多,不然就會因為太小而看不清。所以在1080x1920這樣的設(shè)備上,在默認情況下,也許你只要把一個div的寬度設(shè)為300多px(視devicePixelRatio的值而定),就是滿屏的寬度了。回到正題上來,如果把移動設(shè)備上瀏覽器的可視區(qū)域設(shè)為viewport的話,某些網(wǎng)站就會因為viewport太窄而顯示錯亂,所以這些瀏覽器就決定默認情況下把viewport設(shè)為一個較寬的值,比如980px,這樣的話即使是那些為桌面設(shè)計的網(wǎng)站也能在移動瀏覽器上正常顯示了。ppk把這個瀏覽器默認的viewport叫做 layout viewport。這個layout viewport的寬度可以通過 document.documentElement.clientWidth 來獲取。

然而,layout viewport 的寬度是大于瀏覽器可視區(qū)域的寬度的,所以我們還需要一個viewport來代表瀏覽器可視區(qū)域的大小,ppk把這個viewport叫做 visual viewport。visual viewport的寬度可以通過 window.innerWidth 來獲取,但在Android 2, Oprea mini 和 UC8中無法正確獲取。

viewport

viewport

現(xiàn)在我們已經(jīng)有兩個viewport了:layout viewport 和 visual viewport。但瀏覽器覺得還不夠,因為現(xiàn)在越來越多的網(wǎng)站都會為移動設(shè)備進行單獨的設(shè)計,所以必須還要有一個能完美適配移動設(shè)備的viewport。所謂的完美適配指的是,首先不需要用戶縮放和橫向滾動條就能正常的查看網(wǎng)站的所有內(nèi)容;第二,顯示的文字的大小是合適,比如一段14px大小的文字,不會因為在一個高密度像素的屏幕里顯示得太小而無法看清,理想的情況是這段14px的文字無論是在何種密度屏幕,何種分辨率下,顯示出來的大小都是差不多的。當(dāng)然,不只是文字,其他元素像圖片什么的也是這個道理。ppk把這個viewport叫做 ideal viewport,也就是第三個viewport——移動設(shè)備的理想viewport。

ideal viewport并沒有一個固定的尺寸,不同的設(shè)備擁有有不同的ideal viewport。所有的iphone的ideal viewport寬度都是320px,無論它的屏幕寬度是320還是640,也就是說,在iphone中,css中的320px就代表iphone屏幕的寬度。

但是安卓設(shè)備就比較復(fù)雜了,有320px的,有360px的,有384px的等等,關(guān)于不同的設(shè)備ideal viewport的寬度都為多少,可以到http://viewportsizes.com去查看一下,里面收集了眾多設(shè)備的理想寬度。

再總結(jié)一下:ppk把移動設(shè)備上的viewport分為 layout viewport 、 visual viewport 和 ideal viewport 三類,其中的ideal viewport是最適合移動設(shè)備的viewport,ideal viewport的寬度等于移動設(shè)備的屏幕寬度,只要在css中把某一元素的寬度設(shè)為ideal viewport的寬度(單位用px),那么這個元素的寬度就是設(shè)備屏幕的寬度了,也就是寬度為100%的效果。ideal viewport 的意義在于,無論在何種分辨率的屏幕下,那些針對ideal viewport 而設(shè)計的網(wǎng)站,不需要用戶手動縮放,也不需要出現(xiàn)橫向滾動條,都可以完美的呈現(xiàn)給用戶。

四、利用meta標(biāo)簽對viewport進行控制

移動設(shè)備默認的viewport是layout viewport,也就是那個比屏幕要寬的viewport,但在進行移動設(shè)備網(wǎng)站的開發(fā)時,我們需要的是ideal viewport。那么怎么才能得到ideal viewport呢?這就該輪到meta標(biāo)簽出場了。

我們在開發(fā)移動設(shè)備的網(wǎng)站時,最常見的的一個動作就是把下面這個東西復(fù)制到我們的head標(biāo)簽中:

  1. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"

該meta標(biāo)簽的作用是讓當(dāng)前viewport的寬度等于設(shè)備的寬度,同時不允許用戶手動縮放。也許允不允許用戶縮放不同的網(wǎng)站有不同的要求,但讓viewport的寬度等于設(shè)備的寬度,這個應(yīng)該是大家都想要的效果,如果你不這樣的設(shè)定的話,那就會使用那個比屏幕寬的默認viewport,也就是說會出現(xiàn)橫向滾動條。

這個name為viewport的meta標(biāo)簽到底有哪些東西呢,又都有什么作用呢?

meta viewport 標(biāo)簽首先是由蘋果公司在其safari瀏覽器中引入的,目的就是解決移動設(shè)備的viewport問題。后來安卓以及各大瀏覽器廠商也都紛紛效仿,引入對meta viewport的支持,事實也證明這個東西還是非常有用的。

在蘋果的規(guī)范中,meta viewport 有6個屬性(暫且把content中的那些東西稱為一個個屬性和值),如下:

 

mame value
width    設(shè)置layout viewport 的寬度,為一個正整數(shù),或字符串"width-device"  
initial-scale    設(shè)置頁面的初始縮放值,為一個數(shù)字,可以帶小數(shù)  
minimum-scale    允許用戶的最小縮放值,為一個數(shù)字,可以帶小數(shù)  
maximum-scale    允許用戶的最大縮放值,為一個數(shù)字,可以帶小數(shù)  
height    設(shè)置layout viewport 的高度,這個屬性對我們并不重要,很少使用  
user-scalable    是否允許用戶進行縮放,值為"no"或"yes", no 代表不允許,yes代表允許  

這些屬性可以同時使用,也可以單獨使用或混合使用,多個屬性同時使用時用逗號隔開就行了。

此外,在安卓中還支持 target-densitydpi 這個私有屬性,它表示目標(biāo)設(shè)備的密度等級,作用是決定css中的1px代表多少物理像素

target-densitydpi 值可以為一個數(shù)值或 high-dpi 、 medium-dpi、 low-dpi、 evice-dpi這幾個字符串中的一個
特別說明的是,當(dāng) target-densitydpi=device-dpi 時, css中的1px會等于物理像素中的1px。

因為這個屬性只有安卓支持,并且安卓已經(jīng)決定要廢棄 target-densitydpi 這個屬性了,所以這個屬性我們要避免進行使用 。

#p#

五、把當(dāng)前的viewport寬度設(shè)置為 ideal viewport 的寬度

要得到ideal viewport就必須把默認的layout viewport的寬度設(shè)為移動設(shè)備的屏幕寬度。因為meta viewport中的width能控制layout viewport的寬度,所以我們只需要把width設(shè)為width-device這個特殊的值就行了。

  1. <meta name="viewport" content="width=device-width"

下圖是這句代碼在各大移動端瀏覽器上的測試結(jié)果:

viewport

可以看到通過width=device-width,所有瀏覽器都能把當(dāng)前的viewport寬度變成ideal viewport的寬度,但要注意的是,在iphone和ipad上,無論是豎屏還是橫屏,寬度都是豎屏?xí)rideal viewport的寬度。

這樣的寫法看起來誰都會做,沒吃過豬肉,誰還沒見過豬跑啊~,確實,我們在開發(fā)移動設(shè)備上的網(wǎng)頁時,不管你明不明白什么是viewport,可能你只需要這么一句代碼就夠了。

可是你肯定不知道

  1. <meta name="viewport" content="initial-scale=1"

這句代碼也能達到和前一句代碼一樣的效果,也可以把當(dāng)前的的viewport變?yōu)? ideal viewport。

呵呵,傻眼了吧,因為從理論上來講,這句代碼的作用只是不對當(dāng)前的頁面進行縮放,也就是頁面本該是多大就是多大。那為什么會有 width=device-width 的效果呢?

要想清楚這件事情,首先你得弄明白這個縮放是相對于什么來縮放的,因為這里的縮放值是1,也就是沒縮放,但卻達到了 ideal viewport 的效果,所以,那答案就只有一個了,縮放是相對于 ideal viewport來進行縮放的,當(dāng)對ideal viewport進行100%的縮放,也就是縮放值為1的時候,不就得到了 ideal viewport嗎?事實證明,的確是這樣的。下圖是各大移動端的瀏覽器當(dāng)設(shè)置了<meta name="viewport" content="initial-scale=1"> 后是否能把當(dāng)前的viewport寬度變成 ideal viewport 的寬度的測試結(jié)果。

viewport

測試結(jié)果表明 initial-scale=1 也能把當(dāng)前的viewport寬度變成 ideal viewport 的寬度,但這次輪到了windows phone 上的IE 無論是豎屏還是橫屏都把寬度設(shè)為豎屏?xí)rideal viewport的寬度。但這點小瑕疵已經(jīng)無關(guān)緊要了。

但如果width 和 initial-scale=1同時出現(xiàn),并且還出現(xiàn)了沖突呢?比如:

  1. <meta name="viewport" content="width=400, initial-scale=1"

width=400表示把當(dāng)前viewport的寬度設(shè)為400px,initial-scale=1則表示把當(dāng)前viewport的寬度設(shè)為ideal viewport的寬度,那么瀏覽器到底該服從哪個命令呢?是書寫順序在后面的那個嗎?不是。當(dāng)遇到這種情況時,瀏覽器會取它們兩個中較大的那個值。例如,當(dāng)width=400,ideal viewport的寬度為320時,取的是400;當(dāng)width=400, ideal viewport的寬度為480時,取的是ideal viewport的寬度。(ps:在uc9瀏覽器中,當(dāng)initial-scale=1時,無論width屬性的值為多少,此時viewport的寬度永遠都是ideal viewport的寬度)

最后,總結(jié)一下,要把當(dāng)前的viewport寬度設(shè)為ideal viewport的寬度,既可以設(shè)置 width=device-width,也可以設(shè)置 initial-scale=1,但這兩者各有一個小缺陷,就是iphone、ipad以及IE 會橫豎屏不分,通通以豎屏的ideal viewport寬度為準(zhǔn)。所以,最完美的寫法應(yīng)該是,兩者都寫上去,這樣就 initial-scale=1 解決了 iphone、ipad的毛病,width=device-width則解決了IE的毛病:

  1. <meta name="viewport" content="width=device-width, initial-scale=1"

六、關(guān)于meta viewport的更多知識

1、關(guān)于縮放以及initial-scale的默認值

首先我們先來討論一下縮放的問題,前面已經(jīng)提到過,縮放是相對于ideal viewport來縮放的,縮放值越大,當(dāng)前viewport的寬度就會越小,反之亦然。例如在iphone中,ideal viewport的寬度是320px,如果我們設(shè)置 initial-scale=2 ,此時viewport的寬度會變?yōu)橹挥?60px了,這也好理解,放大了一倍嘛,就是原來1px的東西變成2px了,但是1px變?yōu)?px并不是把原來的320px變?yōu)?40px了,而是在實際寬度不變的情況下,1px變得跟原來的2px的長度一樣了,所以放大2倍后原來需要320px才能填滿的寬度現(xiàn)在只需要160px就做到了。因此,我們可以得出一個公式:

visual viewport寬度 = ideal viewport寬度 / 當(dāng)前縮放值

當(dāng)前縮放值 = ideal viewport寬度 / visual viewport寬度

ps: visual viewport的寬度指的是瀏覽器可視區(qū)域的寬度。

大多數(shù)瀏覽器都符合這個理論,但是安卓上的原生瀏覽器以及IE有些問題。安卓自帶的webkit瀏覽器只有在 initial-scale = 1 以及沒有設(shè)置width屬性時才是表現(xiàn)正常的,也就相當(dāng)于這理論在它身上基本沒用;而IE則根本不甩initial-scale這個屬性,無論你給他設(shè)置什么,initial-scale表現(xiàn)出來的效果永遠是1。

好了,現(xiàn)在再來說下initial-scale的默認值問題,就是不寫這個屬性的時候,它的默認值會是多少呢?很顯然不會是1,因為當(dāng) initial-scale = 1 時,當(dāng)前的layout viewport寬度會被設(shè)為 ideal viewport的寬度,但前面說了,各瀏覽器默認的 layout viewport寬度一般都是980啊,1024啊,800啊等等這些個值,沒有一開始就是 ideal viewport的寬度的,所以 initial-scale的默認值肯定不是1。安卓設(shè)備上的initial-scale默認值好像沒有方法能夠得到,或者就是干脆它就沒有默認值,一定要你顯示的寫出來這個東西才會起作用,我們不管它了,這里我們重點說一下iphone和ipad上的initial-scale默認值。

根據(jù)測試,我們可以在iphone和ipad上得到一個結(jié)論,就是無論你給layout viewpor設(shè)置的寬度是多少,而又沒有指定初始的縮放值的話,那么iphone和ipad會自動計算initial-scale這個值,以保證當(dāng)前l(fā)ayout viewport的寬度在縮放后就是瀏覽器可視區(qū)域的寬度,也就是說不會出現(xiàn)橫向滾動條。比如說,在iphone上,我們不設(shè)置任何的viewport meta標(biāo)簽,此時layout viewport的寬度為980px,但我們可以看到瀏覽器并沒有出現(xiàn)橫向滾動條,瀏覽器默認的把頁面縮小了。根據(jù)上面的公式,當(dāng)前縮放值 = ideal viewport寬度 / visual viewport寬度,我們可以得出:

  1. 當(dāng)前縮放值 = 320 / 980 

也就是當(dāng)前的initial-scale默認值應(yīng)該是 0.33這樣子。當(dāng)你指定了initial-scale的值后,這個默認值就不起作用了。

總之記住這個結(jié)論就行了: 在iphone和ipad上,無論你給viewport設(shè)的寬的是多少,如果沒有指定默認的縮放值,則iphone和ipad會自動計算這個縮放值,以達到當(dāng)前頁面不會出現(xiàn)橫向滾動條(或者說viewport的寬度就是屏幕的寬度)的目的。

viewport

viewport

viewport

2、動態(tài)改變meta viewport標(biāo)簽

第一種方法

可以使用document.write來動態(tài)輸出meta viewport標(biāo)簽,例如:

  1. document.write('<meta name="viewport" content="width=device-width,initial-scale=1">'

第二種方法

通過setAttribute來改變

  1. <meta id="testViewport" name="viewport" content="width = 380"
  2. <script> 
  3. var mvp = document.getElementById('testViewport'); 
  4. mvp.setAttribute('content','width=480'); 
  5. </script> 

安卓2.3自帶瀏覽器上的一個bug

  1. <meta name="viewport" content="width=device-width"
  2.  
  3. <script type="text/javascript"
  4. alert(document.documentElement.clientWidth); //彈出600,正常情況應(yīng)該彈出320 
  5. </script> 
  6.  
  7. <meta name="viewport" content="width=600"
  8.  
  9. <script type="text/javascript"
  10. alert(document.documentElement.clientWidth); //彈出320,正常情況應(yīng)該彈出600 
  11. </script> 

測試的手機ideal viewport 寬度為320px,第一次彈出的值是600,但這個值應(yīng)該是第行meta標(biāo)簽的結(jié)果啊,然后第二次彈出的值是320,這才是第一行meta標(biāo)簽所達到的效果啊,所以在安卓2.3(或許是所有2.x版本中)的自帶瀏覽器中,對meta viewport標(biāo)簽進行覆蓋或更改,會出現(xiàn)讓人非常迷糊的結(jié)果。

七、結(jié)語

說了那么多廢話,最后還是有必要總結(jié)一點有用的出來。

首先如果不設(shè)置meta viewport標(biāo)簽,那么移動設(shè)備上瀏覽器默認的寬度值為800px,980px,1024px等這些,總之是大于屏幕寬度的。這里的寬度所用的單位px都是指css中的px,它跟代表實際屏幕物理像素的px不是一回事。

第二、每個移動設(shè)備瀏覽器中都有一個理想的寬度,這個理想的寬度是指css中的寬度,跟設(shè)備的物理寬度沒有關(guān)系,在css中,這個寬度就相當(dāng)于100%的所代表的那個寬度。我們可以用meta標(biāo)簽把viewport的寬度設(shè)為那個理想的寬度,如果不知道這個設(shè)備的理想寬度是多少,那么用device-width這個特殊值就行了,同時initial-scale=1也有把viewport的寬度設(shè)為理想寬度的作用。所以,我們可以使用

  1. <meta name="viewport" content="width=device-width, initial-scale=1"

來得到一個理想的viewport(也就是前面說的ideal viewport)。
為什么需要有理想的viewport呢?比如一個分辨率為320x480的手機理想viewport的寬度是320px,而另一個屏幕尺寸相同但分辨率為640x960的手機的理想viewport寬度也是為320px,那為什么分辨率大的這個手機的理想寬度要跟分辨率小的那個手機的理想寬度一樣呢?這是因為,只有這樣才能保證同樣的網(wǎng)站在不同分辨率的設(shè)備上看起來都是一樣或差不多的。實際上,現(xiàn)在市面上雖然有那么多不同種類不同品牌不同分辨率的手機,但它們的理想viewport寬度歸納起來無非也就 320、360、384、400等幾種,都是非常接近的,理想寬度的相近也就意味著我們針對某個設(shè)備的理想viewport而做出的網(wǎng)站,在其他設(shè)備上的表現(xiàn)也不會相差非常多甚至是表現(xiàn)一樣的。

責(zé)任編輯:倪明 來源: 博客園
相關(guān)推薦

2021-02-17 11:25:33

前端JavaScriptthis

2019-04-08 16:50:33

前端性能監(jiān)控

2012-11-22 13:02:24

jQuery插件Web

2014-06-23 10:42:56

iOS開發(fā)UIScrollVie

2019-03-18 09:50:44

Nginx架構(gòu)服務(wù)器

2018-12-27 12:34:42

HadoopHDFS分布式系統(tǒng)

2014-12-04 14:01:54

openstacknetworkneutron

2022-09-05 22:22:00

Stream操作對象

2016-12-08 15:36:59

HashMap數(shù)據(jù)結(jié)構(gòu)hash函數(shù)

2010-06-01 15:25:27

JavaCLASSPATH

2020-07-21 08:26:08

SpringSecurity過濾器

2014-12-01 15:38:33

openstacknetworkneutron

2014-12-03 13:10:10

openstacknetworkneutron

2012-11-22 10:11:16

LispLisp教程

2025-03-06 12:44:45

2025-03-07 11:26:52

2014-10-22 10:46:03

ViewportHTML

2009-09-25 09:14:35

Hibernate日志

2023-10-19 11:12:15

Netty代碼

2013-09-22 14:57:19

AtWood
點贊
收藏

51CTO技術(shù)棧公眾號

成人在线免费电影网站| 国产wwwwxxxx| 91破解版在线观看| 久久亚洲免费视频| 国产免费观看久久黄| 国产精品白嫩白嫩大学美女| 噜噜噜天天躁狠狠躁夜夜精品| 日本韩国一区二区三区视频| 四虎影院一区二区| 五月激情婷婷网| 久久99精品久久久久久国产越南| 国内精品美女av在线播放| 美国黑人一级大黄| 成人线上播放| 欧美日免费三级在线| 男女激情无遮挡| 黄色网页在线免费看| 99国产精品视频免费观看| 91香蕉亚洲精品| 亚洲欧美日韩激情| 黑丝一区二区三区| 久久久精品电影| 三级网站在线免费观看| 日韩在线精品强乱中文字幕| 在线亚洲免费视频| 日韩精品 欧美| www国产在线观看 | 无码人妻aⅴ一区二区三区玉蒲团| 成人私拍视频| 亚洲成人你懂的| 久久久久久久久久久久久国产| 国产一级网站视频在线| 99久久99久久综合| 国产精品久久久久久久小唯西川| 国产精品永久久久久久久久久| 久久精品五月| 456亚洲影院| 性色av一区二区三区| 亚洲欧美高清在线| 精品国产亚洲一区二区三区在线 | 91成人国产在线观看| 欧美日韩在线观看成人| 国产精品久久久久久| 影音先锋日韩有码| 亚洲最大成人综合网| 欧美精品一区二区久久| 亚洲免费一在线| 国产男女猛烈无遮挡a片漫画| 精品视频自拍| 亚洲第一av网站| 国产综合内射日韩久| 在线综合色站| 亚洲福利视频网站| 日韩www视频| 欧美国产不卡| 亚洲欧美日韩直播| 国产美女永久免费无遮挡| 国产欧美日韩在线观看视频| 亚洲天堂精品在线| 1024手机在线观看你懂的| 国产精品一线天粉嫩av| 亚洲天堂av在线免费观看| 国产毛片欧美毛片久久久| 欧美亚洲在线日韩| 久久精品久久久久久| 日本在线一级片| 欧美成人日韩| 97精品国产aⅴ7777| 国产尤物在线视频| 日韩vs国产vs欧美| 91亚洲人电影| 亚洲精品人妻无码| 99久久久国产精品免费蜜臀| 欧美成人蜜桃| 免费在线观看av| 亚洲一卡二卡三卡四卡| 久草资源站在线观看| 在线成人视屏| 日韩一区二区在线播放| 国产福利短视频| 色综合狠狠操| 久久理论片午夜琪琪电影网| 久久一区二区三区视频| 日本亚洲免费观看| 5g国产欧美日韩视频| 天天av综合网| 国产精品三级av| a级黄色片免费| 麻豆免费在线| 欧美精品精品一区| 污污内射在线观看一区二区少妇| 国产成人ay| 欧美精品性视频| 亚洲av中文无码乱人伦在线视色| 捆绑调教一区二区三区| 国产精品久久久久久久小唯西川 | 中文字幕乱码久久午夜不卡 | 欧美xxx黑人xxx水蜜桃| 日韩欧美在线第一页| 国产精品v日韩精品v在线观看| julia中文字幕一区二区99在线| 亚洲成人精品久久久| 奇米网一区二区| 在线免费高清一区二区三区| 国产日本欧美一区| 天天操天天干天天| 亚洲欧洲精品一区二区三区 | 国产高清自产拍av在线| 欧美性一区二区| 国模无码视频一区| 欧美第一精品| 欧美在线一级视频| 性生交大片免费看女人按摩| 国产女同互慰高潮91漫画| 黄色三级中文字幕| 亚洲综合资源| 亚洲偷欧美偷国内偷| 亚洲精品午夜久久久久久久| 激情综合色综合久久| 日韩国产欧美精品| 白浆视频在线观看| 日韩亚洲欧美一区二区三区| 成人无码av片在线观看| 日韩午夜免费视频| 99porn视频在线| 毛片av在线| 欧洲一区二区三区免费视频| 四虎影成人精品a片| 激情欧美日韩一区| 91午夜理伦私人影院| 日本三级视频在线观看| 91精品办公室少妇高潮对白| 五月婷婷综合在线观看| 国产精品第十页| 亚洲在线视频福利| 成人在线播放免费观看| 884aa四虎影成人精品一区| 中文字幕第24页| 全国精品久久少妇| 日韩av一级大片| 欧美精品高清| 一道本无吗dⅴd在线播放一区| 日本视频免费观看| 久久久国产精品午夜一区ai换脸| 国产精品免费观看久久| 嫩草国产精品入口| 91精品国产乱码久久久久久久久| 老牛影视av牛牛影视av| 亚洲成人久久影院| 国产免费一区二区三区最新6| 狠狠色丁香久久综合频道| 97免费资源站| sm捆绑调教国产免费网站在线观看 | 欧美精品性视频| 亚洲成人黄色片| 亚洲国产色一区| 久久性爱视频网站| 香蕉久久夜色精品国产| 日本婷婷久久久久久久久一区二区| 在线能看的av网址| 国产亚洲精品久久久优势| 男操女视频网站| 国产精品毛片无遮挡高清| 性生活免费在线观看| 亚洲成av人片乱码色午夜| 91超碰在线免费观看| 9999在线视频| 亚洲精品自拍第一页| 中国a一片一级一片| 国产精品久久精品日日| 波多野结衣电影免费观看| 精品91在线| 欧美大香线蕉线伊人久久国产精品| 日韩大尺度黄色| 日韩综合视频在线观看| 亚洲爆乳无码一区二区三区| 日韩欧美在线视频观看| 久久精品在线观看视频| 成人一区二区在线观看| 乱子伦视频在线看| 香蕉综合视频| 国产午夜精品一区| 成人性片免费| 欧美精品xxx| 蜜桃视频在线播放| 91精品国产综合久久精品性色| 国产主播在线播放| 国产欧美日韩麻豆91| 国产成人强伦免费视频网站| 日韩视频在线一区二区三区 | 99九九电视剧免费观看| 国产精品迅雷| 精品中文字幕乱| 九色国产在线观看| 日韩丝袜情趣美女图片| 久久久精品毛片| 最新高清无码专区| 丰满圆润老女人hd| 国产精品一级在线| 香蕉视频禁止18| 精品99视频| 一区二区精品国产| 亚洲资源网站| 91青青草免费在线看| 日韩网站中文字幕| 91国内产香蕉| av网站在线看| 中文字幕精品在线| 五月天久久久久久| 日韩一级片在线播放| 国产裸体美女永久免费无遮挡| 黄色精品一区二区| 久久久精品视频免费观看| 国产女主播视频一区二区| 亚洲最大免费视频| 国产一区二区精品久久91| 成人性做爰aaa片免费看不忠| 国产精品久久久乱弄| 欧美中日韩一区二区三区| 精品欧美午夜寂寞影院| 99re视频在线观看| 日韩精品第二页| 国产精品网站视频| 日韩电影免费观| 欧美与黑人午夜性猛交久久久| 国精产品一区一区三区mba下载| 亚洲av成人精品日韩在线播放| 日韩免费一区二区| 999av视频| 911国产精品| 国产精品久久久久精| 欧美在线观看一二区| 国产精品suv一区| 精品电影在线观看| 亚洲一区 视频| 亚洲一区二区欧美| 久久这里只有精品国产| 一区二区三区精密机械公司| 午夜精品福利在线视频| 亚洲欧洲综合另类在线| 黄色精品视频在线观看| 国产精品免费av| 性色国产成人久久久精品| 日本一区二区在线不卡| 国产三级在线观看完整版| 国产亚洲一区二区三区在线观看| 这里只有久久精品| 国产免费成人在线视频| 天堂av网手机版| 国产精品久久久久四虎| 啪啪一区二区三区| 亚洲日本一区二区三区| 国产精品久久久久久久精| 亚洲精品国产无天堂网2021| 久草国产在线视频| 亚洲观看高清完整版在线观看| 国产精彩视频在线观看| 午夜激情久久久| 亚洲成人第一网站| 在线精品亚洲一区二区不卡| 中文有码在线播放| 91麻豆精品国产91久久久资源速度| 97人妻一区二区精品免费视频 | 亚洲欧美一区二区三| 精品偷拍各种wc美女嘘嘘| 免费a级毛片在线观看| 日韩亚洲在线观看| caopo在线| 97视频在线观看免费| 男人最爱成人网| 91精品久久久久久久久久| 日韩最新av| 久久精品国产一区二区三区不卡| 国产精品密蕾丝视频下载| 亚洲永久一区二区三区在线| 欧美一级片免费在线观看| 黑人欧美xxxx| 在线观看视频二区| 日韩视频免费观看高清在线视频| 日韩一区二区三区不卡| 国产一区二区三区视频免费| 久操视频在线观看| 91精品国产色综合久久不卡98口| 精品无人乱码一区二区三区| 91精品视频在线看| 成人动态视频| 亚洲bbw性色大片| 国产精品激情电影| 少妇黄色一级片| 国产福利一区二区三区| 国产av自拍一区| 亚洲激情中文1区| www.欧美色| 欧美成人精品福利| 黄色小视频在线免费观看| 欧美成人自拍视频| 欧美天堂视频| 俄罗斯精品一区二区| 欧美日韩国产高清电影| 成年女人18级毛片毛片免费| 青青草97国产精品免费观看| 久久福利小视频| 亚洲久草在线视频| 欧美性受xxx黑人xyx性爽| 欧美精品一区二区久久婷婷| av电影在线观看| 欧美在线播放视频| caoporn成人| 亚洲一区二区三区免费看| 亚洲最黄网站| 女人扒开双腿让男人捅 | 日韩aⅴ视频一区二区三区| 伊人久久亚洲热| 深夜做爰性大片蜜桃| 99九九99九九九视频精品| 成人在线观看小视频| 欧美性大战久久| 日韩大片b站免费观看直播| 欧美激情2020午夜免费观看| 亚洲伦理久久| 亚洲国内在线| 丝袜美腿成人在线| 污片免费在线观看| 亚洲一区免费观看| 国产喷水福利在线视频| 最新的欧美黄色| 日本一区二区三区视频在线| 免费精品视频一区| 亚洲深夜av| 国产老熟女伦老熟妇露脸| 亚洲成人免费影院| 手机看片福利在线| 久久理论片午夜琪琪电影网| 99国产精品免费网站| 激情五月六月婷婷| 国产福利精品导航| 免费人成视频在线| 欧美成人免费网站| 91av久久| 久久久久久久久久久久久久一区| 一区二区久久| 人妻丰满熟妇av无码久久洗澡| 精品成人av一区| 九色视频在线观看免费播放 | 日韩在线视频一区二区三区| 蜜臀在线免费观看| 国产精品一区专区| 久久精品国产亚洲AV无码男同| 欧美大片一区二区| aa级大片免费在线观看| 久久伊人一区| 视频一区欧美日韩| 亚洲а∨天堂久久精品2021| 欧美亚洲综合久久| 免费观看成人高潮| 亚洲一区二区三区四区在线播放| 欧美国产激情| 国产麻豆剧传媒精品国产av| 黑人巨大精品欧美一区二区三区| 日本中文字幕电影在线观看| 日韩av电影国产| 久久福利综合| 日本女人性视频| 午夜精品福利视频网站| 欧美新色视频| 国产日韩欧美在线视频观看| 欧美激情第二页| 亚洲乱码国产乱码精品精大量| 在线视频国内自拍亚洲视频| 毛片av在线| 国产伦精品一区| 日韩和欧美的一区| 黄色片在线观看网站| 亚洲精品久久久久久久久久久久| free欧美| 国产免费内射又粗又爽密桃视频| 99视频在线精品| 中文字幕 欧美激情| 欧美黄色片在线观看| 国产午夜一区| 久久久久久久久久久影视| 欧美日韩中文字幕日韩欧美| 三级外国片在线观看视频| 国产精品一区二区欧美| 日韩一区精品视频| 久久在线视频精品| 在线亚洲男人天堂| 亚洲天堂av资源在线观看| 可以免费在线看黄的网站| 亚洲欧美日韩国产综合| 少妇激情av一区二区| 亚洲一区久久久| 久久精品网址| 国产一级片免费| 中文字幕亚洲欧美日韩高清| 都市激情亚洲| 国产高清av片| 欧洲精品一区二区三区在线观看| 日日夜夜天天综合入口| 亚洲午夜在线观看|