老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

移動web開發之視口viewport-創新互聯

在CSS標準文檔中,視口viewport被稱為初始包含塊。這個初始包含塊是所有CSS百分比寬度推算的根源,它給CSS布局限制了一個大寬度。在桌面上,視口的寬度和瀏覽器窗口的寬度一致。而在移動端,視口分為布局視口(layout viewport)、視覺視口(visual viewport)和理想視口(ideal viewport)

成都創新互聯云計算的互聯網服務提供商,擁有超過13年的服務器租用、成都二樞機房、云服務器、網頁空間、網站系統開發經驗,已先后獲得國家工業和信息化部頒發的互聯網數據中心業務許可證。專業提供云主機、網頁空間、域名申請、VPS主機、云服務器、香港云服務器、免備案服務器等。

布局視口

移動端設備的問題是,如果使視口的寬度和瀏覽器窗口寬度一樣會導致很丑陋的結果。移動端瀏覽器通常的寬度是240到640像素,且大多數設計給桌面的網站的寬度至少是800px。因此網站內容在手機上看起來會非常窄

//下圖是新浪網在手機端的顯示狀態,如果不進行縮放操作的話,文字幾乎是無法看清的

移動web開發之視口viewport

在手機上,視口與移動端瀏覽器屏幕寬度不再相關聯,而是完全獨立的。我們稱它為布局視口——CSS布局會根據它來計算,并被它約束

移動web開發之視口viewport

為了容納為桌面瀏覽器設計的網站,移動設備默認的布局視口寬度遠大于屏幕的寬度,設置為980px或1024px(也可能是其它值,這個是由設備自己決定的),但帶來的后果就是瀏覽器會出現橫向滾動條,因為瀏覽器可視區域的寬度是比這個默認的viewport的寬度要小的。下圖列出了一些設備上瀏覽器的默認viewport的寬度

移動web開發之視口viewport

document.documentElement.clientWidth/Height返回的是布局視口的尺寸

移動web開發之視口viewport

視覺視口

雖然獨立布局視口的創造很大程度地幫助了桌面網站到手機上的轉移,但我們不能完全無視移動端設備的屏幕尺寸。一些CSS聲明與用戶見到的東西有關,而與CSS的初始包含塊無關。并且,有時候知道用戶看到了網站的哪些部分對web開發者會有幫助

視覺視口是用戶正在看到的網站的區域,對于的javascript屬性是window.innerWidth/Height

[注意]安卓webkit2和代理瀏覽器存在兼容問題

移動web開發之視口viewport

縮放會影響視覺視口的大小。當縮放程度是100%時,視覺視口與設備屏幕一樣寬。放大使視覺視口變得更小,因為屏幕上顯示的CSS像素更小了,而縮小會讓視覺視口更大,因為屏幕上的CSS像素更多了。因此縮放程度和視覺視口的大小是逆相關的:放得越大,視覺視口越小 

以iphone5為例,瀏覽器布局視口的寬度默認是1024px,屏幕寬度只有640個設備像素,DPR為2,所以CSS像素是320px。現在用戶從100%放大到200%,CSS像素被放大,直到屏幕上只有160個CSS像素。但是,布局視口仍然保持在1024px,所以頁面中的元素并沒有改變大小。

[注意]當用戶縮放時,只有視覺視口的尺寸會發生改變,布局視口不會改變。移動端的縮放不會導致CSS布局被重新計算。由于在手機上會經常發生縮放,并且手機的處理器工作得很慢,電池消耗地很快,因此不重新進行布局對性能來說有很大的好處

//以下代碼表示3秒后,頁面縮放從100%到200%

移動web開發之視口viewport

移動web開發之視口viewport

移動web開發之視口viewport

理想視口

默認情況下,一個手機或平板瀏覽器的布局寬度是980或1024像素。雖然這能讓桌面網站不被壓扁,但是這并不理想,尤其對于手機用戶,因為在狹窄的屏幕上更適合一個狹窄的網站

換句話說,布局視口的默認寬度并不是一個理想的寬度。這就是為什么蘋果和其他效仿蘋果的瀏覽器廠商,會引進理想視口。它是對設備來說,最理想的布局視口尺寸。顯示在理想視口中的網站擁有最理想的瀏覽和閱讀的寬度,用戶剛進入頁面時也不再需要縮放

移動web開發之視口viewport移動web開發之視口viewport

只有當網站是為手機準備的時候才應該使用理想視口。只有主動地往頁面里添加meta視口標簽時理想視口才會生效。如果沒有meta視口標簽聲明,那么布局視口將會維持它的默認寬度,理想視口只有當顯式地使用它的時候才會產生影響

//這一行代碼告訴瀏覽器,布局視口的寬度應該與理想視口的寬度一致

定義理想視口是瀏覽器的工作,而不是設備或操作系統的工作。因此,同一設備上的不同瀏覽器擁有不同的理想視口。例如,三星galaxy pocket上的安卓webkit的理想視口是320*427px,而opera mobile12的則是240*320px。但是,瀏覽器的理想視口的大小也取決于它所處的設備。三星galaxy s4上的chrome的理想視口是360*640px,但是在nexus7上,則是601*962px。原因很明顯:Nexus7是一個平板,它擁有更寬的屏幕,因此理想視口也應該更寬

screen.width/height返回是理想視口的尺寸

[注意]當設備方向改變時,iphone中理想視口screen.width/height的值并不會改變,但安卓設備會改變。而布局視口document.documentElement.clientWidth和視覺視口window.innerWidth的值,蘋果和安卓都會改變

移動web開發之視口viewport

meta視口

meta視口標簽存在的主要目的是讓布局視口的尺寸和理想視口的尺寸匹配。它由apple發明,其他手機和平板復制了它的大部分內容。桌面瀏覽器不支持,也不需要它,因為它們沒有理想視口的概念。IE是一個例外:在手機上它支持meta視口標簽,但最好使用@-ms-viewport

meta視口標簽應該被放在HTML文檔的中,并且按以下格式書寫:

每一個名/值對都是一個給瀏覽器發號命令的指令。它們被逗號分隔,共有6個

1、width:設置布局視口的寬度為特定的值
2、init-scale:設置頁面的初始縮放程度和布局視口的寬度
3、minimum-scale:設置了最小縮放程度(用戶可縮小的程度)
4、maxmum-scale:設置了大縮放程度(用戶可放大的程度)
5、user-scalabel:是否阻止用戶進行縮放
6、height:設置布局視口的高度(未被實現)

width

【0】不設置寬度

例如,iPhone4S如果不設置viewport,他就會默認是980px,就像把屏幕分成980份。如果設置一個元素為100px*100px,看起來就是屏幕的100/980

移動web開發之視口viewport

【1】把布局視口的尺寸設為一個理想的值

假如,iPhone4S如果設置viewport width=device-width,他就會是320px,就像把屏幕分成320份。如果設置一個元素為100px*100px,看起來就是屏幕的100/320

移動web開發之視口viewport

【2】把布局視口的尺寸設為固定寬度

瀏覽器支持的大值是10000個像素,最小值約為理想視口的20%,安卓webkit不允許任何小于布局視口的寬度。如果你指定了一個這樣的值,它會自動轉換為默認布局視口,通常是980px。IE10不允許任何超出480px的值,超出的話會自動轉換為布局視口的默認寬度1024px

initial-scale

initial-scale指令設置了頁面的初始縮放程度。1代表100%,2代表200%。縮放程度是根據理想視口來計算的

當前縮放值 = 理想視口寬度  / 視覺視口寬度

[注意]安卓自帶的webkit瀏覽器只有在 initial-scale = 1 以及沒有設置width屬性時才表現正常

縮放程度與視覺視口的寬度是逆相關的,越高的縮放程度意味著視覺視口越小。所以initial-scale=1時視覺視口尺寸和理想視口尺寸是一樣的。initial-scale=2會放大到200%,因此視覺視口的高寬是理想視口的一半

【默認值】

安卓設備上的initial-scale并沒有默認值,而在iphone和ipad上,無論viewport設置的寬度是多少,如果沒有指定默認的縮放值,則iphone和ipad會自動計算這個縮放值,以達到當前頁面不會出現橫向滾動條(或者說viewport的寬度就是屏幕的寬度)的目的 

【1】width=device-width,initial-scale=1

IE10中當initial-scale為1時,它在橫屏模式下寬度保持著320px,但width=device-width時它會從320px變為480px

所以為了在所有瀏覽器上解決這個問題,需要使用

移動web開發之視口viewport

【2】width=400,initial-scale=1

把布局視口的寬度設為400px,然后再把它設為理想視口的寬度。結果瀏覽器選擇了每個方向大的尺寸。因此早期的iphone手機在豎屏模式下的布局視口寬度是400px(320px和400px中較大的值),在橫屏模式下是480px(480px和400px較大的值)

移動web開發之視口viewport

因此,可以給布局視口設置一個最小寬度,并在設備和方向上有需求時允許瀏覽器將布局視口設得更寬

minimum-scale和maximum-scale

沒有這些指令的時候,瀏覽器允許用戶的縮放級別達到5(20%-500%);有這些指令的時候,范圍可擴大到10(10%到1000%)。更高的縮放程度不被支持,因此設置maxmum-scale=20和設置maxmum-scale=10的效果是一樣的。安卓webkit不支持minimum-scale。同樣,它的縮放范圍是4(25%-400%),并且不支持改變這個范圍

user-scalable

user-scalable=no表示禁止縮放

【改變meta視口標簽】

在大多數瀏覽器中,可以改變meta視口標簽,假設meta視口是文檔中的第一個meta標簽

var meta = document.getElementsByTagName('meta')[0];
meta.setAttribute('content','width=400');

我們無法通過移除meta標簽來使布局視口變回它默認的寬度。但可以把它設為一個固定的值。例如,如果想提供"切換到桌面布局"的功能,可以把寬度設為980px或1024px

【常用meta視口標簽】

該meta標簽的作用是讓當前viewport的寬度等于設備的寬度,同時不允許用戶手動縮放

創新互聯www.cdcxhl.cn,專業提供香港、美國云服務器,動態BGP最優骨干路由自動選擇,持續穩定高效的網絡助力業務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節活動現已開啟,新人活動云服務器買多久送多久。


當前題目:移動web開發之視口viewport-創新互聯
路徑分享:http://www.xueling.net.cn/article/gigji.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 正在播放国产真实露脸高清 | 一本大道精品视频在线 | 亚洲国产精品无码久久久高潮 | 免费观看a级毛片在线播放 国产精品人人爱 | 99久久婷婷国产综合精品青草免费 | 包青天1一236集在线高清天寒 | 日韩国产精品久久 | 中文字幕日本在线 | 99热这里只有精品99 | 欧美性性 | 又硬又粗进去爽a片免费 | 和人妻隔着帘子按摩中字 | 国产精品va无码免费麻豆 | 免费人成激情视频在线观看 | 日本网站免费在线观看 | 国产露脸饥渴孕妇在线播放 | 全免费A级毛片免费看无码 四虎国产精品成人免费久久 | 欧美最猛黑人XXXXX猛交 | 国产无线卡一卡二 | 伊人春色成人 | 国产九九免费 | 欧美一区二区网站 | 大地资源中文在线观看免费 | 特级生活片 | 亚洲国产精品ⅴa在线观看 免费日韩网站 | 国产成人久久精品77777 | 狠狠干精品视频 | 国产精品一区二区在线免费观看 | 香蕉久久久久久AV成人 | 色偷偷在线观看 | 国产精品乱码一区二三区 | 最新日韩在线 | 国产女性无套免费网站 | 91激情视频在线 | 99爱在线| 西欧FREE性满足HD老熟妇 | 伊人中文 | 美女粉嫩极品国产在线2020 | 99精品国产在热久久无毒不卡 | 亚洲中国女厕嘘嘘40 | 成人午夜一区 |