Como posso converter px Para vw em JavaScript?

quero converter {[[0]} para vw em JavaScript, como posso fazê-lo?

Tenho andado à procura, mas não encontrei nada.

Então,

1px → ? vw

Obrigado.

Author: fcalderan, 2015-02-03

2 answers

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

Por exemplo - se a sua janela de visualização fosse 500px larga (é igual, por definição, a 100vw) então

1px = (100vw / 500px) = 0, 2 vw

Usei .clientWidth para excluir qualquer barra de posicionamento do cálculo

 31
Author: fcalderan, 2017-12-14 09:02:39

Como 1vw / 1vh representa 1 / 100th da largura / altura da janela , poderá conseguir isto usando algo como:

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

pensei em usar matemática.redondo() para obter o número limpo, mas você certamente obterá dimensões erradas se você excluir casas decimais.

Não pode alterar estes valores directamente em CSS (por exemplo, com outra folha de estilo) ? Parece muito sujo convertê-lo através de Javascript.

Além disso, de acordo com o comentário de Errand, se você simplesmente converta o seu px para vw/vh, não fará com que o seu HTML / CSS actual se encaixe magicamente no ecrã.
 2
Author: enguerranws, 2015-02-03 09:33:45