Commit 8aa81cac authored by catch's avatar catch
Browse files

Issue #1199774 by nod_, droplet, xjm: Fixed toolbar layout error in IE.

parent 9e43704a
(function ($) { (function ($) {
/** /**
...@@ -868,8 +867,13 @@ Drupal.overlay.getDisplacement = function (region) { ...@@ -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() { ...@@ -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;
}; };
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment