You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Vestride_Shuffle/src/get-number-style.js

35 lines
1.2 KiB
JavaScript

import getNumber from './get-number';
import testComputedSize from './computed-size';
/**
* Retrieve the computed style for an element, parsed as a float.
* @param {Element} element Element to get style for.
* @param {string} style Style property.
* @param {CSSStyleDeclaration} [styles] Optionally include clean styles to
* use instead of asking for them again.
* @return {number} The parsed computed value or zero if that fails because IE
* will return 'auto' when the element doesn't have margins instead of
* the computed style.
*/
export default function getNumberStyle(
element, style,
styles = window.getComputedStyle(element, null),
) {
let value = getNumber(styles[style]);
// Support IE<=11 and W3C spec.
if (!testComputedSize() && style === 'width') {
value += getNumber(styles.paddingLeft)
+ getNumber(styles.paddingRight)
+ getNumber(styles.borderLeftWidth)
+ getNumber(styles.borderRightWidth);
} else if (!testComputedSize() && style === 'height') {
value += getNumber(styles.paddingTop)
+ getNumber(styles.paddingBottom)
+ getNumber(styles.borderTopWidth)
+ getNumber(styles.borderBottomWidth);
}
return value;
}