簡體   English   中英

調整窗口大小時,無法在特定的div上調整大小

[英]Disable resizing on a specific div when window is resized

我有一個包含主屏幕和版本彈出窗口的應用程序。 兩者都是div ,彈出divz-index更大,並且覆蓋了整個屏幕:

<div id="my-main-screen">
  <!-- ... -->
</div>
<div id="my-popup" style="z-index: 1; width: 100%; height:100%; top:0px; left:0px">
  <!-- ... -->
</div>

我的問題如下:

  • 在移動設備上,在彈出窗口中集中顯示和隱藏文本字段會顯示和隱藏虛擬鍵盤,從而觸發windowresize事件。
  • 調整大小還可以調整主屏幕div大小 ,這是無用且緩慢的,因為我的主屏幕相當復雜
  • 結果是,我的彈出div中集中在文本字段上和外的內容感到緩慢且無響應。

我嘗試隱藏主屏幕div。 它在彈出窗口中時起作用...但是當我關閉彈出窗口時,我必須使主屏幕再次可見,這和調整大小一樣慢。

有沒有一種方法可以只在主屏幕div上禁用大小調整而不隱藏它?

在黑暗中拍攝,但是您可以嘗試在視口標簽中將最大比例設置為1,以使文檔在移動設備上無法縮放...

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

設置寬度<div>調整 window 的大小時</div><div id="text_translate"><p>所以我在 Vuejs 中得到了這個應用程序,它被css grid划分為 3 個 div 基本上:一個sidebar 、一個configpanel和一個preview 。 我想根據當前屏幕大小和屏幕大小調整時以px為單位設置preview div 的寬度</p><p>為了澄清起見,我制作了一個網站的 gif 圖像,它幾乎完全符合我的要求: <a href="https://gyazo.com/d667756474e7f4fa18e2d5d64a0dee5a" rel="nofollow noreferrer">https://gyazo.com/d667756474e7f4fa18e2d5d64a0dee5a</a></p><p> 正如您在 gif 中看到的,每次調整屏幕大小時,特定的&lt;div&gt;都會由於某種原因(不知道為什么或如何)被分配一個新的 class 並且 div 的width會自動更新為新的px值。</p><p> 起初我以為我可以在created()鈎子中做這樣的事情:</p><pre> window.addEventListener("resize", () =&gt; { let preview = window.document.querySelector(".preview"); preview.style.width = `${preview.offsetWidth}px`; });</pre><p> 但這不起作用。</p><p> 我在<a href="https://codesandbox.io/s/hopeful-feather-ywh6z?file=/src/components/Preview.vue:125-430" rel="nofollow noreferrer">這里</a>的codesandbox中設置了一個非常簡單的示例項目。</p><p> 理想情況下,我想知道如何像網站在 gif 中那樣動態設置像素width 。</p><p> 此外,出於好奇,我想知道每次調整屏幕大小時該特定網站為何以及如何生成新的 class (我已經看過幾次了,我想知道它是什么)。</p></div>

[英]Setting the width of a <div> when resizing the window

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 窗口調整大小后調整圖像大小? 調整瀏覽器窗口大小時禁用jquery插件 使用.resizable()調整父div的大小時,停止調整子div的大小 調整窗口大小時重置div高度 調整大小后,div移出窗口 調整窗口大小時重新驗證DIV的尺寸 調整窗口大小時刪除特定的類 調整窗口大小時無法禁用滾動功能 設置寬度<div>調整 window 的大小時</div><div id="text_translate"><p>所以我在 Vuejs 中得到了這個應用程序,它被css grid划分為 3 個 div 基本上:一個sidebar 、一個configpanel和一個preview 。 我想根據當前屏幕大小和屏幕大小調整時以px為單位設置preview div 的寬度</p><p>為了澄清起見,我制作了一個網站的 gif 圖像,它幾乎完全符合我的要求: <a href="https://gyazo.com/d667756474e7f4fa18e2d5d64a0dee5a" rel="nofollow noreferrer">https://gyazo.com/d667756474e7f4fa18e2d5d64a0dee5a</a></p><p> 正如您在 gif 中看到的,每次調整屏幕大小時,特定的&lt;div&gt;都會由於某種原因(不知道為什么或如何)被分配一個新的 class 並且 div 的width會自動更新為新的px值。</p><p> 起初我以為我可以在created()鈎子中做這樣的事情:</p><pre> window.addEventListener("resize", () =&gt; { let preview = window.document.querySelector(".preview"); preview.style.width = `${preview.offsetWidth}px`; });</pre><p> 但這不起作用。</p><p> 我在<a href="https://codesandbox.io/s/hopeful-feather-ywh6z?file=/src/components/Preview.vue:125-430" rel="nofollow noreferrer">這里</a>的codesandbox中設置了一個非常簡單的示例項目。</p><p> 理想情況下,我想知道如何像網站在 gif 中那樣動態設置像素width 。</p><p> 此外,出於好奇,我想知道每次調整屏幕大小時該特定網站為何以及如何生成新的 class (我已經看過幾次了,我想知道它是什么)。</p></div> 調整窗口大小時保持div的長寬比
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM