Issue #1199774 by nod_, droplet, xjm: Fixed toolbar layout error in IE.
parent
9e43704ae6
commit
8aa81cac8c
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
(function ($) {
|
(function ($) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -868,8 +867,13 @@ Drupal.overlay.getDisplacement = function (region) {
|
||||||
if (lastDisplaced.length) {
|
if (lastDisplaced.length) {
|
||||||
displacement = lastDisplaced.offset().top + lastDisplaced.outerHeight();
|
displacement = lastDisplaced.offset().top + lastDisplaced.outerHeight();
|
||||||
|
|
||||||
// Remove height added by IE Shadow filter.
|
// In modern browsers (including IE9), when box-shadow is defined, use the
|
||||||
if (lastDisplaced[0].filters && lastDisplaced[0].filters.length && lastDisplaced[0].filters.item('DXImageTransform.Microsoft.Shadow')) {
|
// normal height.
|
||||||
|
var cssBoxShadowValue = lastDisplaced.css('box-shadow');
|
||||||
|
var boxShadow = (typeof cssBoxShadowValue !== 'undefined' && cssBoxShadowValue !== 'none');
|
||||||
|
// In IE8 and below, we use the shadow filter to apply box-shadow styles to
|
||||||
|
// the toolbar. It adds some extra height that we need to remove.
|
||||||
|
if (!boxShadow && /DXImageTransform\.Microsoft\.Shadow/.test(lastDisplaced.css('filter'))) {
|
||||||
displacement -= lastDisplaced[0].filters.item('DXImageTransform.Microsoft.Shadow').strength;
|
displacement -= lastDisplaced[0].filters.item('DXImageTransform.Microsoft.Shadow').strength;
|
||||||
displacement = Math.max(0, displacement);
|
displacement = Math.max(0, displacement);
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,11 +94,16 @@ Drupal.toolbar.toggle = function() {
|
||||||
};
|
};
|
||||||
|
|
||||||
Drupal.toolbar.height = function() {
|
Drupal.toolbar.height = function() {
|
||||||
var height = $('#toolbar').outerHeight();
|
var $toolbar = $('#toolbar');
|
||||||
// In IE, Shadow filter adds some extra height, so we need to remove it from
|
var height = $toolbar.outerHeight();
|
||||||
// the returned height.
|
// In modern browsers (including IE9), when box-shadow is defined, use the
|
||||||
if ($('#toolbar').css('filter').match(/DXImageTransform\.Microsoft\.Shadow/)) {
|
// normal height.
|
||||||
height -= $('#toolbar').get(0).filters.item("DXImageTransform.Microsoft.Shadow").strength;
|
var cssBoxShadowValue = $toolbar.css('box-shadow');
|
||||||
|
var boxShadow = (typeof cssBoxShadowValue !== 'undefined' && cssBoxShadowValue !== 'none');
|
||||||
|
// In IE8 and below, we use the shadow filter to apply box-shadow styles to
|
||||||
|
// the toolbar. It adds some extra height that we need to remove.
|
||||||
|
if (!boxShadow && /DXImageTransform\.Microsoft\.Shadow/.test($toolbar.css('filter'))) {
|
||||||
|
height -= $toolbar[0].filters.item("DXImageTransform.Microsoft.Shadow").strength;
|
||||||
}
|
}
|
||||||
return height;
|
return height;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue