2009-06-17 7 views
6

Jeśli mam element z kodem stylu CSS jakJak zdobyć wyściółka lub wartość depozytu w wartości względnej przy użyciu jQuery

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

jaki sposób można użyć jQuery aby padding-left wartość jako 1em zamiast pikseli?

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

ta zwraca tylko piksele, ale chcę go do powrotu, co jest naprawdę w kodzie, w tym przypadku, wartość względną 1em zamiast. W jaki sposób ?

Dzięki za wskazówki.

  • Qu

Odpowiedz

8

Co można zrobić, to ustawić rozmiar czcionki bazowej (właściwość font-size na elemencie <body>) do około 62,8% (niektórzy twierdzą, że 62,5%):

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

Powoduje to, że podstawowa czcionka, lub 1.0em, jest w przybliżeniu równa 10 pikseli. Nie jest dokładny i zmienia się z czcionki na czcionkę, ale ogólnie rzecz biorąc jest wystarczająco dokładny. Uczyniwszy to, można użyć EMS i ich ekwiwalenty pikseli:

1.0em = 10px, 1.1em = 11px, 1.2em = 12px itp

Więc można łatwo przekonwertować z pikseli EMS, dzieląc przez 10:

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

Rozwiązałem mój problem. Dziękuję za twój przewodnik. –

+0

Uwaga: to nie zadziała, jeśli użytkownik zmienił domyślny rozmiar czcionki w przeglądarce lub jeśli domyślny rozmiar czcionki przeglądarki to coś innego niż 16 pikseli (Safari). –

Powiązane problemy