Здравствуйте, извиняюсь за поздний ответ.
Мы можем отследить момент, когда пользователь меняет
размер шрифта в настройках своего браузера с помощью
события transitionend повешеного на document и проверки
на то что мы следим только за свойством font-size и то
что событие сработало только на теге html.
document.addEventListener('transitionend', function (event) {
if (event.propertyName === "font-size" && event.target === document.documentElement ) {
console.log(convertRemToPixels(1));
console.log(event.propertyName);
console.log(event.target);
}
});
function convertRemToPixels(rem) {
return rem * parseInt(getComputedStyle(document.documentElement).fontSize);
}
При изменении настроек браузера сработает событие transitionend
на теге html, но только при условии, что у тега html есть css
свойство transition на font-size:
html {
transition: font-size 0.001s ease 0s;
}
И естественно не должно быть фиксированного значения свойства font-size у тега html!