mirror of
https://github.com/gnh1201/welsonjs.git
synced 2025-05-17 15:11:04 +00:00
32 lines
1.3 KiB
JavaScript
32 lines
1.3 KiB
JavaScript
/*!
|
|
{
|
|
"name": "CSS vmax unit",
|
|
"property": "cssvmaxunit",
|
|
"caniuse": "viewport-units",
|
|
"tags": ["css"],
|
|
"builderAliases": ["css_vmaxunit"],
|
|
"notes": [{
|
|
"name": "Related Modernizr Issue",
|
|
"href": "https://github.com/Modernizr/Modernizr/issues/572"
|
|
}, {
|
|
"name": "JSFiddle Example",
|
|
"href": "https://jsfiddle.net/glsee/JDsWQ/4/"
|
|
}]
|
|
}
|
|
!*/
|
|
define(['Modernizr', 'docElement', 'testStyles', 'roundedEquals', 'computedStyle'], function(Modernizr, docElement, testStyles, roundedEquals, computedStyle) {
|
|
testStyles('#modernizr1{width: 50vmax}#modernizr2{width:50px;height:50px;overflow:scroll}#modernizr3{position:fixed;top:0;left:0;bottom:0;right:0}', function(node) {
|
|
var elem = node.childNodes[2];
|
|
var scroller = node.childNodes[1];
|
|
var fullSizeElem = node.childNodes[0];
|
|
var scrollbarWidth = parseInt((scroller.offsetWidth - scroller.clientWidth) / 2, 10);
|
|
|
|
var one_vw = fullSizeElem.clientWidth / 100;
|
|
var one_vh = fullSizeElem.clientHeight / 100;
|
|
var expectedWidth = parseInt(Math.max(one_vw, one_vh) * 50, 10);
|
|
var compWidth = parseInt(computedStyle(elem, null, 'width'), 10);
|
|
|
|
Modernizr.addTest('cssvmaxunit', roundedEquals(expectedWidth, compWidth) || roundedEquals(expectedWidth, compWidth - scrollbarWidth));
|
|
}, 3);
|
|
});
|