em в px или px в em | JavaScript

1em = font-size (в px)

20em = 20 * font-size
<input type="button" value="нажать (20em в px)" onclick="alert(parseFloat(getComputedStyle(this, '').fontSize) * 20 + 'px')"/>

getComputedStyle(this, '').fontSize — это font-size элемента в px, вместо this можно употребить document.getElementById() и т.п.

parseFloat() преобразует строку в число
20px = 20 / font-size
<input type="button" value="нажать (20px в em)" onclick="alert(20 / parseFloat(getComputedStyle(this, '').fontSize) + 'em')"/>
в f t
наверх ↑

2 комментария:

Dim Ник
Наталья, а была уже статья про History API?) Или я ничего не пропустил?
NMitra
Нет, не было. Редактирую про всплывающую подсказку http://shpargalkablog.ru/2011/02/vsplyvayushchiye-podskazki.html (давно хотела этим заняться), там этот код понадобился, так как на моём примере getComputedStyle().left по разному рассчитывается в Mozilla Firefox и Хроме. Пришлось обращаться к em.