Я пытаюсь получить ширину границы определенного элемента.Получить настройку стиля ширины границы довольно просто, просто прочитав, если из текущего вычисленного стиля элемента:
var styles = (
document.defaultView && document.defaultView.getComputedStyle ?
document.defaultView.getComputedStyle(de, null) :
de.currentStyle
);
Считывание определенного значения границы тогда довольно просто:
var top = styles.borderTopWidth;
var value = parseFloat(top);
Этовсе хорошо и прекрасно (если вы не используете IE ), и я могу получить ширину верхней границы в переменной value
.Но это число относится к пикселям только тогда, когда ширина границы была установлена в пикселях .Если это не так (например, em
), то value
имеет номер этого конкретного измерения.
Я должен получить ответ на любой из этих двух вопросов:
- Как мне всегда получать ширину границы в пикселях?
- Как рассчитать различные единицы измерения в пикселях?
Пример
Я подготовил пример jsFiddle , где вы можете увидеть различные измерения, сообщаемые DOM и jQuery.Запустите его в разных браузерах, и вы увидите разницу в IE.Все измерения в Crome представлены в целочисленных значениях, в то время как Firefox вычисляет поля и отступы в числах с плавающей точкой, а границы в целых числах.
Кстати: поля, границы и отступы установлены на 2mm .