是否有 JavaScript 事件来捕获 Flex 方向更改。 screen onchange 做不到

问题描述 投票:0回答:1

我想为用户提供水平或垂直滚动弹性项目的选项。

我遇到的问题是,如果它们从 Flex-Direction Column 更改为 Row,那么现在屏幕右侧就有了所有可用空间。

如果屏幕高度/宽度/方向发生变化,可以监听它,但似乎不是弯曲方向。

有什么想法如何在弯曲方向改变后调整元素大小吗?

javascript css flexbox responsive-design dom-events
1个回答
0
投票

您肯定必须手动编写代码,因为没有该事件的事件侦听器(我不确定)。

你必须以某种方式获取 css flex-direction 值:

<div id="my-div" style="display:flex;flex-direction:row;flex-align:center"></div>

var elem = document.getElementById("my-div");

var styling = elem.getAttribute("style"); 

//prop1:val;prop2:val;prop3:val;

var flex_prop = styling.split(";")[1];

var direction = flex_prop.split(":")[1]; //row or column

if(direction == "row" || direction == "column"){

//设置内容 }

或者你能想到的其他方法来解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.