![](/img/trans.png)
[英]How to make a div with a fixed width push another div with a relative width when resizing the browser window?
[英]Setting the width of a <div> when resizing the window
所以我在 Vuejs 中得到了这个应用程序,它被css grid
划分为 3 个 div 基本上:一个sidebar
、一个configpanel
和一个preview
。 我想根据当前屏幕大小和屏幕大小调整时以px
为单位设置preview
div 的宽度
为了澄清起见,我制作了一个网站的 gif 图像,它几乎完全符合我的要求: https://gyazo.com/d667756474e7f4fa18e2d5d64a0dee5a
正如您在 gif 中看到的,每次调整屏幕大小时,特定的<div>
都会由于某种原因(不知道为什么或如何)被分配一个新的 class 并且 div 的width
会自动更新为新的px
值。
起初我以为我可以在created()
钩子中做这样的事情:
window.addEventListener("resize", () => {
let preview = window.document.querySelector(".preview");
preview.style.width = `${preview.offsetWidth}px`;
});
但这不起作用。
我在这里的codesandbox
中设置了一个非常简单的示例项目。
理想情况下,我想知道如何像网站在 gif 中那样动态设置像素width
。
此外,出于好奇,我想知道每次调整屏幕大小时该特定网站为何以及如何生成新的 class (我已经看过几次了,我想知道它是什么)。
如果我知道您的意思正确,您的解决方案可以是下面的代码(将下面的代码添加到您的 CSS 文件并添加您想要的每个 class ):
@media screen and (max-width: 750px) {
.selector {
some code here...
}
}
上面的代码会将定义的 styles 应用到设备屏幕宽度为 750 像素或更少时选择的元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.