動態設定viewport的寬高

2022-04-26 03:51:01 字數 793 閱讀 4821

先貼**

see the pen egpdo by 劉志剛 (@liuzhigang) on codepen.

demo中需要了解的模組:

html中id是stage的div是遊戲總容器,

js中的setviewport函式作用是設定視口寬高;

css樣式主要是為了讓stage元素在手機瀏覽器中豎直和水平居中;

需要了解的術語(術語引自

視口(即viewport)中的initial-scale,minimum-scale,maximum-scale三個比例係數均是指css畫素與裝置無關畫素的比例,當設定width=device-width時,initial-scale預設為1.0。

在當前網頁縮放係數為1.0的情況下下,當設定width=device-width時,也就是設定當前視口寬度為螢幕寬度(注:後面說到的螢幕寬度都是以裝置無關畫素為單位);

在當前網頁縮放係數為1.0的情況下下,假如設定width為具體的數值(此數值以css畫素為單位),則視口寬度或者小於螢幕寬度,或者大於等於螢幕寬度。這種情況下,如果要讓視口與螢幕等寬,可通過調節比例係數來達到。

為了讓stage元素在任何寬高比的螢幕中都能完全顯示,需要進行兩種情況下的寬高比的比較,並進行相應的設定,如下圖

對應**如下,詳細**請參見上部

if(scale1>scale2)

else

ps:1、在chrome移動版中,如果先不讀取document.documentelement,會存在讀取window.innerwidth的數值不正確的情況,加上了就不會,不止為何。。。

Android 動態設定控制項寬高

android中動態載入控制項是常有的事,下面來記錄一下動態載入控制項 imageview new imageview this windowmanager wm this.getwindowmanager int width wm.getdefaultdisplay getwidth 螢幕寬度 i...

css 寬高設定

1.em 在做手機端的時候經常會用到的做字型的尺寸單位 說白了 em就相當於 倍 比如設定當前的div的字型大小為1.5em,則當前的div的字型大小為 當前div繼承的字型大小 1.5 但是當div進行巢狀的時候,em始終是按照當前div繼承的字型大小來縮放,參照後面的例子。2.rem 這裡的r就...

動態獲取popupWindow的寬高

popupwindow的長寬按比例去取螢幕寬度 思路 思路是這樣的 比如 儲存的時候寬高是300和100 寬高比就是n 3 1 3 彈窗的時候是取得到螢幕寬高的 因為不知道是平板還是手機 比如都要取螢幕的0.8 n 1 那寬就是 螢幕寬度 0.8 高度就是 螢幕寬度 0.8 n n 1 那高就是 螢...