mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
CSS: Correctly set support properties with non-default zoom
Fixes gh-3808 Closes gh-3872
This commit is contained in:
parent
0aa832afec
commit
f00a07590e
@ -30,16 +30,16 @@ define( [
|
|||||||
pixelPositionVal = divStyle.top !== "1%";
|
pixelPositionVal = divStyle.top !== "1%";
|
||||||
|
|
||||||
// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
|
// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
|
||||||
reliableMarginLeftVal = divStyle.marginLeft === "12px";
|
reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;
|
||||||
|
|
||||||
// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
|
// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
|
||||||
// Some styles come back with percentage values, even though they shouldn't
|
// Some styles come back with percentage values, even though they shouldn't
|
||||||
div.style.right = "60%";
|
div.style.right = "60%";
|
||||||
pixelBoxStylesVal = divStyle.right === "36px";
|
pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;
|
||||||
|
|
||||||
// Support: IE 9 - 11 only
|
// Support: IE 9 - 11 only
|
||||||
// Detect misreporting of content dimensions for box-sizing:border-box elements
|
// Detect misreporting of content dimensions for box-sizing:border-box elements
|
||||||
boxSizingReliableVal = divStyle.width === "36px";
|
boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;
|
||||||
|
|
||||||
// Support: IE 9 only
|
// Support: IE 9 only
|
||||||
// Detect overflow:scroll screwiness (gh-3699)
|
// Detect overflow:scroll screwiness (gh-3699)
|
||||||
@ -53,6 +53,10 @@ define( [
|
|||||||
div = null;
|
div = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function roundPixelMeasures( measure ) {
|
||||||
|
return Math.round( parseFloat( measure ) );
|
||||||
|
}
|
||||||
|
|
||||||
var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
|
var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
|
||||||
reliableMarginLeftVal,
|
reliableMarginLeftVal,
|
||||||
container = document.createElement( "div" ),
|
container = document.createElement( "div" ),
|
||||||
|
26
test/data/css/cssWidthBrowserZoom.html
Normal file
26
test/data/css/cssWidthBrowserZoom.html
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<style>
|
||||||
|
html {
|
||||||
|
zoom: 1.1;
|
||||||
|
}
|
||||||
|
#test {
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
padding: 10px;
|
||||||
|
border: 1px solid pink;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="test"></div>
|
||||||
|
<script src="../../jquery.js"></script>
|
||||||
|
<script src="../iframeTest.js"></script>
|
||||||
|
<script>
|
||||||
|
startIframeTest( jQuery( "#test" ).css( 'width' ) );
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -1164,6 +1164,15 @@ testIframe(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
testIframe(
|
||||||
|
"css('width') should work correctly with browser zooming",
|
||||||
|
"css/cssWidthBrowserZoom.html",
|
||||||
|
function( assert, jQuery, window, document, cssWidthBrowserZoom ) {
|
||||||
|
assert.expect( 1 );
|
||||||
|
assert.strictEqual( cssWidthBrowserZoom, "100px", "elem.css('width') works correctly with browser zoom" );
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
( function() {
|
( function() {
|
||||||
var supportsFractionalGBCR,
|
var supportsFractionalGBCR,
|
||||||
qunitFixture = document.getElementById( "qunit-fixture" ),
|
qunitFixture = document.getElementById( "qunit-fixture" ),
|
||||||
|
Loading…
Reference in New Issue
Block a user