如何在JavaScript中将px转换为vw?

我想在JavaScript中将px转换为vw ,我该怎么办?

我一直在寻找它,但我没有找到任何东西。

所以,

1px→? VW

谢谢。

1px =(100vw / [document.documentElement.clientWidth] px)

例如 – 如果你的视口是500px宽(等于定义为100vw )那么

1px =(100vw / 500px)= 0.2vw

我使用.clientWidth从计算中排除任何滚动条

由于1vw / 1vh代表视口宽度/高度的1/100 ,您可以使用以下内容实现此目的:

 var newWidth = yourElement.outerwidth / document.documentElement.clientWidth *100; yourElement.style.width = newWidth +'vw'; 

我想过使用Math.round()来获得干净的数字,但如果排除小数,你肯定会得到错误的尺寸。

你不能直接在CSS中改变这个值(例如用另一个样式表)吗? 通过Javascript转换它似乎很脏。

另外,根据Errand的评论,如果你只是将你的px转换为vw / vh,它将不会使你当前的HTML / CSS神奇地适合屏幕。