4 votes

Comment obtenir la propriété css width d'un élément

Je voudrais obtenir, dans mon code JS, la largeur CSS "originale" appliquée à un élément, et non la largeur calculée au moment de l'exécution.
eg.

.foo {
  width: 50% /* or 123px, or 5em, ...*/
}

dans ce cas, je veux obtenir "50%" et non la valeur px calculée au moment de l'exécution. Si la valeur est donnée en em, je veux obtenir em comme résultat. window.getComputedStyle(foo, null).getPropertyValue('width') retourne une valeur en pixel (au moins sur google chrome).
En fait, j'ai besoin de la valeur textuelle de la règle CSS appliquée à l'élément.

0voto

Grey Points 684

foo.width in pixels / parentElement.width * 100 = foo.width in % donc en JS par exemple :

var width = document.getElementById('foo').offsetWidth;
var parentWidth = document.getElementById('parentOfFoo').offsetWidth;

var fooWidthPercentage = width / parentWidth * 100;
console.log(fooWidthPercentage);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X