溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

html5開發(fā)中如何使用viewport進(jìn)行屏幕適配

發(fā)布時(shí)間:2021-09-13 16:26:11 來(lái)源:億速云 閱讀:113 作者:小新 欄目:web開發(fā)

小編給大家分享一下html5開發(fā)中如何使用viewport進(jìn)行屏幕適配 ,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

viewport 語(yǔ)法介紹:
<!-- html document -->
   <meta name="viewport"
       content="
           height = [pixel_value | device-height] ,
           width = [pixel_value | device-width ] ,
           initial-scale = float_value ,
           minimum-scale = float_value ,
           maximum-scale = float_value ,
           user-scalable = [yes | no] ,
           target-densitydpi = [dpi_value | device-dpi | high-dpi | medium-dpi | low-dpi]
       "
   />

width

控制 viewport 的大小,可以指定的一個(gè)值或者特殊的值,如 device-width 為設(shè)備的寬度(單位為縮放為 100% 時(shí)的 CSS 的像素)。

height

和 width 相對(duì)應(yīng),指定高度。

target-densitydpi

一個(gè)屏幕像素密度是由屏幕分辨率決定的,通常定義為每英寸點(diǎn)的數(shù)量(dpi)。Android支持三種屏幕像素密度:低像素密度,中像素密度,高像素密度。一個(gè)低像素密度的屏幕每英寸上的像素點(diǎn)更少,而一個(gè)高像素密度的屏幕每英寸上的像素點(diǎn)更多。Android Browser和WebView默認(rèn)屏幕為中像素密度。

下面是 target-densitydpi 屬性的 取值范圍

  • device-dpi –使用設(shè)備原本的 dpi 作為目標(biāo) dp。 不會(huì)發(fā)生默認(rèn)縮放。

  • high-dpi – 使用hdpi 作為目標(biāo) dpi。 中等像素密度和低像素密度設(shè)備相應(yīng)縮小。

  • medium-dpi – 使用mdpi作為目標(biāo) dpi。 高像素密度設(shè)備相應(yīng)放大, 像素密度設(shè)備相應(yīng)縮小。 這是默認(rèn)的target density.

  • low-dpi -使用mdpi作為目標(biāo) dpi。中等像素密度和高像素密度設(shè)備相應(yīng)放大。

  • <value> – 指定一個(gè)具體的dpi 值作為target dpi. 這個(gè)值的范圍必須在70–400之間。

1	<!-- html document -->
2	<meta name="viewport" content="target-densitydpi=device-dpi" />
3	<meta name="viewport" content="target-densitydpi=high-dpi" />
4	<meta name="viewport" content="target-densitydpi=medium-dpi" />
5	<meta name="viewport" content="target-densitydpi=low-dpi" />
6	<meta name="viewport" content="target-densitydpi=200" />

為了防止Android Browser和WebView 根據(jù)不同屏幕的像素密度對(duì)你的頁(yè)面進(jìn)行縮放,你可以將viewport的target-densitydpi 設(shè)置為 device-dpi。當(dāng)你這么做了,頁(yè)面將不會(huì)縮放。相反,頁(yè)面會(huì)根據(jù)當(dāng)前屏幕的像素密度進(jìn)行展示。在這種情形下,你還需要將viewport的width定義為與設(shè)備的width匹配,這樣你的頁(yè)面就可以和屏幕相適應(yīng)。

initial-scale

初始縮放。即頁(yè)面初始縮放程度。這是一個(gè)浮點(diǎn)值,是頁(yè)面大小的一個(gè)乘數(shù)。例如,如果你設(shè)置初始縮放為“1.0”,那么,web頁(yè)面在展現(xiàn)的時(shí)候就會(huì)以target density分辨率的1:1來(lái)展現(xiàn)。如果你設(shè)置為“2.0”,那么這個(gè)頁(yè)面就會(huì)放大為2倍。

maximum-scale

最大縮放。即允許的最大縮放程度。這也是一個(gè)浮點(diǎn)值,用以指出頁(yè)面大小與屏幕大小相比的最大乘數(shù)。例如,如果你將這個(gè)值設(shè)置為“2.0”,那么這個(gè)頁(yè)面與target size相比,最多能放大2倍。

user-scalable

用戶調(diào)整縮放。即用戶是否能改變頁(yè)面縮放程度。如果設(shè)置為yes則是允許用戶對(duì)其進(jìn)行改變,反之為no。默認(rèn)值是yes。如果你將其設(shè)置為no,那么minimum-scale 和 maximum-scale都將被忽略,因?yàn)楦静豢赡芸s放。

所有的縮放值都必須在0.01–10的范圍之內(nèi)。

例:

(設(shè)置屏幕寬度為設(shè)備寬度,禁止用戶手動(dòng)調(diào)整縮放)

<meta name="viewport" content="width=device-width,user-scalable=no" />

(設(shè)置屏幕密度為高頻,中頻,低頻自動(dòng)縮放,禁止用戶手動(dòng)調(diào)整縮放)

<meta name="viewport" content="width=device-width,target-densitydpi=high-dpi,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>

以上是“html5開發(fā)中如何使用viewport進(jìn)行屏幕適配 ”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI