2009-06-17 9 views
6

Si j'ai un élément de style CSS comme le codeComment obtenir Rembourrage ou de la valeur de la marge en valeur relative en utilisant jQuery

td class="bogus" style="padding-left: 1em;" 

comment puis-je utiliser jQuery pour obtenir padding-left valeur 1em au lieu de pixels?

$(".bogus").css("padding-left"); 

Ce retourne uniquement les pixels, mais je veux qu'il revienne ce qui est vraiment dans le code, dans ce cas, la valeur relative 1em à la place. Comment ?

Merci pour tout guide.

  • Qu

Répondre

8

Ce que vous pouvez faire est de définir la taille de police de base (la propriété de taille de la police sur l'élément <body>) à environ 62,8% (certains disent 62,5%):

<body style="font-size:62.5%;"> 

Cela rend la police de base, ou 1.0em, à peu près égale à 10px. Ce n'est pas exact, et change de police en police, mais en général c'est assez précis. Après avoir fait cela, vous pouvez utiliser et leurs équivalents métaboliseurs de pixels:

1.0em = 10px, 11px = 1.1em, 1.2em = 12px etc.

Ainsi, vous pouvez facilement convertir de pixels à sme, en divisant par 10:

var ems = parseInt($(".bogus").css("padding-left"))/10; 
+0

Résolu mon problème. Merci pour votre guide. –

+0

Note: ceci ne fonctionnera pas si l'utilisateur a changé la taille de police par défaut dans son navigateur, ou si la taille de police par défaut du navigateur est quelque chose d'autre que 16px (Safari). –

Questions connexes