校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 淺談移動端中的視口(viewport)的具體使用

淺談移動端中的視口(viewport)的具體使用

熱門標簽:電銷專用外呼線路 電話機器人鑰匙扣 威力最大的電銷機器人 廣西房產智能外呼系統推薦 地圖標注位置怎么弄圖 漯河外呼調研線路 旅游地圖標注線路 400電話唐山辦理 電銷外呼系統是違法的嗎

在 PC 端,視口指的是瀏覽器的可視區域,其寬度和瀏覽器窗口的寬度保持一致。在 CSS 標準文檔中,視口也被稱為初始包含塊,它是所有 CSS 百分比寬度推算的根源,給 CSS 布局限制了一個最大寬度。

而移動端則較為復雜,它涉及到三個視口:布局視口(Layout Viewport)、視覺視口(Visual Viewport)和理想視口(Ideal Viewport)。

本文主要討論移動端中的視口。

1. 基本概念

1.1 兩種像素

像素是計算機屏幕中顯示特定顏色的最小區域。屏幕中的像素越多,同一范圍內能看到的內容就越多。或者說,當設備尺寸相同時,像素越密集,畫面就越精細。

那么,當我們在 CSS 中為一個元素設置屬性 width: 250px; 時,會發生什么?這個元素的寬度究竟是多少像素呢?

事實上,這里已經涉及了兩種不同的像素:物理像素和 CSS 像素。

物理像素(設備像素,device pixels)

指的是設備屏幕的物理像素,任何設備的物理像素數量都是固定的。

CSS 像素(CSS pixels)

是 CSS 和 JS 中使用的一個抽象概念。它和物理像素之間的比例取決于屏幕的特性(是否為高密度)以及用戶進行的縮放,由瀏覽器自行換算。

在 Apple 的視網膜屏(Retina)中,每 4 個像素為一組,渲染出普通屏幕中一個像素顯示區域內的圖像,從而實現更為精細的顯示效果。此時, 250px 的元素跨越了 500 個物理像素的寬度。

如果用戶進行了放大,那么一個 CSS 像素還將跨越更多的物理像素。

1.2 三種視口

移動端瀏覽器通常寬度是 240px~640px,而大多數為 PC 端設計的網站寬度至少為 800px,如果仍以瀏覽器窗口作為視口的話,網站內容在手機上看起來會非常窄。

因此,引入了布局視口、視覺視口和理想視口三個概念,使得移動端中的視口與瀏覽器寬度不再相關聯。

布局視口(layout viewport)

一般移動設備的瀏覽器都默認設置了一個 viewport 元標簽,定義一個虛擬的布局視口(layout viewport),用于解決早期的頁面在手機上顯示的問題。iOS, Android 基本都將這個視口分辨率設置為 980px,所以 PC 上的網頁基本能在手機上呈現,只不過元素看上去很小,一般默認可以通過手動縮放網頁。

布局視口的寬度/高度可以通過 document.documentElement.clientWidth / Height 獲取。

可以看到,默認的布局視口寬度為 980px。如果要顯式設置布局視口,可以使用 HTML 中的 meta 標簽:

<meta name="viewport" content="width=400">

布局視口使視口與移動端瀏覽器屏幕寬度完全獨立開。CSS 布局將會根據它來進行計算,并被它約束。

視覺視口(visual viewport)

視覺視口是用戶當前看到的區域,用戶可以通過縮放操作視覺視口,同時不會影響布局視口。

視覺視口和縮放比例的關系為:當前縮放值 = 理想視口寬度 / 視覺視口寬度

所以,當用戶放大時,視覺視口將會變小,CSS 像素將跨越更多的物理像素。

理想視口(ideal viewport)

布局視口的默認寬度并不是一個理想的寬度,于是 Apple 和其他瀏覽器廠商引入了理想視口的概念,它對設備而言是最理想的布局視口尺寸。顯示在理想視口中的網站具有最理想的寬度,用戶無需進行縮放。

理想視口的值其實就是屏幕分辨率的值,它對應的像素叫做設備邏輯像素(device independent pixel, dip)。dip 和設備的物理像素無關,一個 dip 在任意像素密度的設備屏幕上都占據相同的空間。如果用戶沒有進行縮放,那么一個 CSS 像素就等于一個 dip。

用下面的方法可以使布局視口與理想視口的寬度一致:

<meta name="viewport" content="width=device-width">

實際上,這就是響應式布局的基礎。

2. 視口的設置

我們可以使用視口元標簽(viewport meta 標簽)來進行布局視口的設置。

<meta name="viewport"
    content="width=device-width,initial-scale=1.0,maximum-scale=1">

下面是每個屬性的詳細說明:

屬性名 取值 描述
width 正整數或device-width 定義視口的寬度,單位為像素
height 正整數或device-height 定義視口的高度,單位為像素,一般不用
initial-scale [0.0-10.0] 定義初始縮放值
minimum-scale [0.0-10.0] 定義放大最大比例,它必須小于或等于maximum-scale設置
maximum-scale [0.0-10.0] 定義縮小最小比例,它必須大于或等于minimum-scale設置
user-scalable yes / no 定義是否允許用戶手動縮放頁面,默認值 yes

有幾點值得注意:

  • viewport 標簽只對移動端瀏覽器有效,對 PC 端瀏覽器是無效的
  • 當縮放比例為 100% 時,dip 寬度 = CSS 像素寬度 = 理想視口的寬度 = 布局視口的寬度
  • 單獨設置 initial-scale 或 width 都會有兼容性問題,所以設置布局視口為理想視口的最佳方法是同時設置這兩個屬性
  • 即使設置了 user-scalable = no,在 Android Chrome 瀏覽器中也可以強制啟用手動縮放

3. 一倍圖、二倍圖、三倍圖

MacBook Pro 視網膜屏(Retina)顯示器硬件像素是 2880px * 1800px。當設置屏幕分辨率為 1920px * 1200px 的時候,理想視口的寬度值是 1920px, 那么 dip 的寬度值就是 1920px。其與理想視口寬度的比值為1.5(2880/1920),這個比值叫做設備像素比:邏輯像素寬度 * 設備像素比 = 物理像素寬度

設備像素比可以通過 window.devicePixelRatio 來獲取,或者使用 CSS 中的 device-pixel-ratio。

下面是常見的設備像素比:

  • 普通密度桌面顯示屏:devicePixelRatio = 1
  • 高密度桌面顯示屏(Mac Retina):devicePixelRatio = 2
  • 主流手機顯示屏:devicePixelRatio = 2 or 3

對于一張 100px * 100px 的圖片,通過 CSS 設置其寬高:

{
    width:100px;
    height:100px;
}

在普通顯示屏的電腦中打開是正常的,但假設在手機或 Retina 屏中打開,按照邏輯分辨率來渲染,他們的 devicePixelRatio = 2,那么就相當于拿 4 個物理像素來描繪 1 個電子像素。這等于拿一個2倍的放大鏡去看圖片,圖片就會變得模糊。

這時,就需要使用 @2x 甚至 @3x 圖來避免圖片的失真。

到此這篇關于淺談移動端中的視口(viewport)的具體使用的文章就介紹到這了,更多相關移動端視口內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

標簽:湘西 綏化 無錫 銅陵 欽州 湖北 焦作 試駕邀約

巨人網絡通訊聲明:本文標題《淺談移動端中的視口(viewport)的具體使用》,本文關鍵詞  淺談,移動,端,中的,視口,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺談移動端中的視口(viewport)的具體使用》相關的同類信息!
  • 本頁收集關于淺談移動端中的視口(viewport)的具體使用的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产精品美女久久久久aⅴ国产馆| 欧美色视频在线| 爽爽淫人综合网网站| 亚洲乱码国产乱码精品精的特点| 久久精品一区二区三区av | 国产色91在线| 欧美精品一区二区三区蜜桃| 日韩欧美成人一区二区| 欧美大片一区二区三区| 欧美成人aa大片| 国产亚洲精久久久久久| 国产精品色眯眯| 亚洲免费观看高清完整版在线观看熊| 亚洲三级免费电影| 亚洲h在线观看| 免费观看在线色综合| 国产精品亚洲视频| caoporn国产一区二区| 91精品办公室少妇高潮对白| 欧美精品久久99| 欧美xxxxxxxx| 国产精品美女一区二区三区 | 欧美日韩精品欧美日韩精品| 欧美一区二区三区婷婷月色| 久久新电视剧免费观看| 最新热久久免费视频| 图片区小说区国产精品视频| 国产一区二区三区观看| 91网站最新地址| 欧美一级久久久| 国产精品久久国产精麻豆99网站| 性做久久久久久久久| 国产精品影视在线| 欧美日韩一区国产| 久久精品男人天堂av| 亚洲一区二区三区视频在线| 国产一区二三区| 在线观看日韩电影| 久久久高清一区二区三区| 亚洲一区二区欧美激情| 国内精品久久久久影院一蜜桃| 色综合天天综合在线视频| 欧美成人video| 亚洲成人动漫在线免费观看| 国产精品91一区二区| 欧美久久高跟鞋激| 亚洲欧洲日韩在线| 久久99精品一区二区三区三区| 91视频国产资源| 国产色91在线| 久久机这里只有精品| 色美美综合视频| 欧美国产日本视频| 老司机精品视频线观看86| 欧美在线观看视频一区二区三区| 国产视频一区在线播放| 日韩电影免费在线看| 日本韩国精品一区二区在线观看| 国产精品女主播av| 国产乱码一区二区三区| 日韩三区在线观看| 手机精品视频在线观看| 欧美性大战xxxxx久久久| 综合欧美亚洲日本| 成人动漫精品一区二区| 国产日韩欧美在线一区| 韩国欧美国产1区| 精品粉嫩aⅴ一区二区三区四区| 亚洲高清久久久| 欧美日韩中文一区| 亚洲一线二线三线视频| 91激情五月电影| 亚洲精品视频一区二区| 色婷婷综合久久久中文一区二区| 国产精品久久久久久久午夜片| 国产乱码一区二区三区| 国产日本欧洲亚洲| 成人福利视频网站| 亚洲欧洲中文日韩久久av乱码| 丰满亚洲少妇av| 国产精品久久久久久妇女6080| 国产suv精品一区二区883| 亚洲欧洲日本在线| 97久久人人超碰| 一区二区三区在线免费播放| 91国内精品野花午夜精品| 亚洲一区二区三区四区在线 | 久久精品国产久精国产| 日韩一级高清毛片| 国产酒店精品激情| 国产精品毛片高清在线完整版| 成人综合婷婷国产精品久久免费| 国产精品久久久久久亚洲毛片| 91色婷婷久久久久合中文| 亚洲图片欧美色图| 欧美va天堂va视频va在线| 国产成人免费在线观看不卡| 1000精品久久久久久久久| 欧美三级乱人伦电影| 老司机午夜精品| 成人免费小视频| 91精品国产福利在线观看| 国产精品77777竹菊影视小说| 亚洲男同性恋视频| 欧美一级久久久久久久大片| 懂色av一区二区三区免费观看| 亚洲综合色网站| 久久久久88色偷偷免费| 99精品一区二区三区| 热久久免费视频| 国产精品你懂的在线欣赏| 欧美性感一类影片在线播放| 国产精品亚洲午夜一区二区三区 | 国产欧美日韩卡一| 欧美三片在线视频观看| 国内偷窥港台综合视频在线播放| 日韩美女视频一区| 久久只精品国产| 欧美偷拍一区二区| 国产91综合一区在线观看| 日韩—二三区免费观看av| 久久一夜天堂av一区二区三区| 91国产成人在线| 成人综合婷婷国产精品久久免费| 日韩国产欧美三级| **网站欧美大片在线观看| www激情久久| 欧美福利视频导航| 91一区二区三区在线观看| 久久99久久99| 日本一区中文字幕| 亚洲午夜激情网站| 中文字幕免费观看一区| 日韩视频一区二区三区| 欧美日本一道本在线视频| 97精品久久久午夜一区二区三区| 九九国产精品视频| 日韩高清不卡在线| 亚洲6080在线| 亚洲国产成人91porn| 亚洲欧美综合色| 国产精品乱码久久久久久| 国产亚洲欧美日韩俺去了| 日韩精品中午字幕| 欧美一区二区在线播放| 欧美日韩成人综合| 欧美日韩日日摸| 欧美日韩一区二区三区四区五区| 91视频com| 欧美网站大全在线观看| 欧美猛男gaygay网站| 欧美性受xxxx| 欧美精品vⅰdeose4hd| 欧美日韩国产乱码电影| 欧美肥妇free| 日韩欧美中文字幕制服| 欧美大片拔萝卜| 久久久久久久久久久久电影| 久久久久久久综合| 国产精品污污网站在线观看| 亚洲国产精品黑人久久久 | 色女孩综合影院| 欧美日韩亚洲国产综合| 欧美色视频在线观看| 91精品福利在线一区二区三区| 欧美一激情一区二区三区| 精品国产乱码久久久久久浪潮| 精品噜噜噜噜久久久久久久久试看| 日韩精品一区国产麻豆| 久久久久久久久久看片| 中文字幕一区在线观看| 一区二区三区不卡视频在线观看| 一卡二卡欧美日韩| 蜜臀av性久久久久蜜臀aⅴ流畅 | 91麻豆免费看| 欧美日韩精品系列| 久久综合久色欧美综合狠狠| 中文子幕无线码一区tr| 五月天中文字幕一区二区| 久久成人精品无人区| 成人sese在线| 欧美精品aⅴ在线视频| 久久午夜国产精品| 一卡二卡欧美日韩| 国产精品中文欧美| 欧美日韩一区二区三区视频| 久久影院视频免费| 亚洲午夜久久久久久久久电影网 | 欧美经典一区二区三区| 亚洲视频在线观看一区| 免费在线观看视频一区| 国产精品一区三区| 欧美三级韩国三级日本三斤 | 99re这里只有精品首页| 欧美肥妇毛茸茸| 亚洲女子a中天字幕| 精品一区二区在线免费观看| 91看片淫黄大片一级| 欧美mv和日韩mv的网站| 亚洲一区二区三区不卡国产欧美|