4

这可能是我不得不忍受的东西,但是 blockUI 插件 jQuery-ui 主题支持应该与 IE 一起使用吗?

出于某种原因,叠加层总是显示为实心,没有不透明度。正常的 blockUI 叠加效果很好,但是当我启用主题时,叠加显示为实心。这在 IE 中真的很难看(我的用户必须使用它)。

我正在使用 IE 7。我想该插件可以在 IE 9 上正常工作,但不确定 IE 8。

有没有其他人经历过这个?它甚至可以在 blockUI 演示页面上以这种方式工作(至少对我而言)。有人知道解决方法吗?

http://jquery.malsup.com/block/#demos

提前致谢。

4

2 回答 2

8

这是blockUI中的一个错误,生成的覆盖div看起来像这样

<div class="blockUI blockOverlay ui-widget-overlay" 
style="z-index: 1001;
position: fixed; 
filter: ; 
zoom: 1;" 
jQuery1306503573140="70"/>

空的内联“过滤器”属性会覆盖 .ui-widget-overlay 中的 css 属性,但您可以通过编辑 jquery-ui.xxxxxxx.css 文件自行修复此问题。

只是搜索

/* Overlays */
.ui-widget-overlay { 
background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; 
opacity: .30;
filter:Alpha(Opacity=30); 
}

并像这样在过滤器属性后面添加 !important

/* Overlays */
.ui-widget-overlay { 
background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; 
opacity: .30;
filter:Alpha(Opacity=30) !important; 
}

这将强制浏览器使用 css 样式而不是错误的内联样式。

于 2011-05-27T13:51:41.640 回答
1

BlockUI 使用 CSS Border-Radius,IE 6/7/8 不支持

这是浏览器的限制,而不是不使用外部 polyfill 就可以解决的问题。在这些浏览器中,即使是常规的 jQueryUI 主题通常也是方形的。

于 2011-05-27T13:34:13.073 回答