mirror of
https://github.com/jquery/jquery.git
synced 2024-10-05 11:34:18 +00:00
parent
a7ea12a9a7
commit
954966e08d
@ -5,9 +5,6 @@ define([
|
|||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
var pixelPositionVal, boxSizingReliableVal,
|
var pixelPositionVal, boxSizingReliableVal,
|
||||||
// Support: Firefox<29, Android 2.3 (Prefixed box-sizing versions).
|
|
||||||
divReset = "padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;" +
|
|
||||||
"-moz-box-sizing:content-box;box-sizing:content-box",
|
|
||||||
docElem = document.documentElement,
|
docElem = document.documentElement,
|
||||||
container = document.createElement( "div" ),
|
container = document.createElement( "div" ),
|
||||||
div = document.createElement( "div" );
|
div = document.createElement( "div" );
|
||||||
@ -20,17 +17,20 @@ define([
|
|||||||
div.cloneNode( true ).style.backgroundClip = "";
|
div.cloneNode( true ).style.backgroundClip = "";
|
||||||
support.clearCloneStyle = div.style.backgroundClip === "content-box";
|
support.clearCloneStyle = div.style.backgroundClip === "content-box";
|
||||||
|
|
||||||
container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;" +
|
container.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;" +
|
||||||
"margin-top:1px";
|
"position:absolute";
|
||||||
container.appendChild( div );
|
container.appendChild( div );
|
||||||
|
|
||||||
// Executing both pixelPosition & boxSizingReliable tests require only one layout
|
// Executing both pixelPosition & boxSizingReliable tests require only one layout
|
||||||
// so they're executed at the same time to save the second computation.
|
// so they're executed at the same time to save the second computation.
|
||||||
function computePixelPositionAndBoxSizingReliable() {
|
function computePixelPositionAndBoxSizingReliable() {
|
||||||
// Support: Firefox<29, Android 2.3 (Prefixed box-sizing versions).
|
div.style.cssText =
|
||||||
div.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
|
// Support: Firefox<29, Android 2.3
|
||||||
"box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;" +
|
// Vendor-prefix box-sizing
|
||||||
"position:absolute;top:1%";
|
"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
|
||||||
|
"box-sizing:border-box;display:block;margin-top:1%;top:1%;" +
|
||||||
|
"border:1px;padding:1px;width:4px;position:absolute";
|
||||||
|
div.innerHTML = "";
|
||||||
docElem.appendChild( container );
|
docElem.appendChild( container );
|
||||||
|
|
||||||
var divStyle = window.getComputedStyle( div, null );
|
var divStyle = window.getComputedStyle( div, null );
|
||||||
@ -40,9 +40,10 @@ define([
|
|||||||
docElem.removeChild( container );
|
docElem.removeChild( container );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use window.getComputedStyle because jsdom on node.js will break without it.
|
// Support: node.js jsdom
|
||||||
|
// Don't assume that getComputedStyle is a property of the global object
|
||||||
if ( window.getComputedStyle ) {
|
if ( window.getComputedStyle ) {
|
||||||
jQuery.extend(support, {
|
jQuery.extend( support, {
|
||||||
pixelPosition: function() {
|
pixelPosition: function() {
|
||||||
// This test is executed only once but we still do memoizing
|
// This test is executed only once but we still do memoizing
|
||||||
// since we can use the boxSizingReliable pre-computing.
|
// since we can use the boxSizingReliable pre-computing.
|
||||||
@ -64,7 +65,13 @@ define([
|
|||||||
// This support function is only executed once so no memoizing is needed.
|
// This support function is only executed once so no memoizing is needed.
|
||||||
var ret,
|
var ret,
|
||||||
marginDiv = div.appendChild( document.createElement( "div" ) );
|
marginDiv = div.appendChild( document.createElement( "div" ) );
|
||||||
marginDiv.style.cssText = div.style.cssText = divReset;
|
|
||||||
|
// Reset CSS: box-sizing; display; margin; border; padding
|
||||||
|
marginDiv.style.cssText = div.style.cssText =
|
||||||
|
// Support: Firefox<29, Android 2.3
|
||||||
|
// Vendor-prefix box-sizing
|
||||||
|
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
|
||||||
|
"box-sizing:content-box;display:block;margin:0;border:0;padding:0";
|
||||||
marginDiv.style.marginRight = marginDiv.style.width = "0";
|
marginDiv.style.marginRight = marginDiv.style.width = "0";
|
||||||
div.style.width = "1px";
|
div.style.width = "1px";
|
||||||
docElem.appendChild( container );
|
docElem.appendChild( container );
|
||||||
@ -73,9 +80,6 @@ define([
|
|||||||
|
|
||||||
docElem.removeChild( container );
|
docElem.removeChild( container );
|
||||||
|
|
||||||
// Clean up the div for other support tests.
|
|
||||||
div.innerHTML = "";
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user