IE中的BlockUI jquery-ui主题支持

时间:2011-05-19 18:09:37

标签: jquery jquery-ui themes blockui

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

出于某种原因,叠加始终显示为实体,没有不透明度。普通的blockUI叠加工作正常,但是当我启用主题时,叠加显示为实心。这在IE中真的很难看(我的用户需要使用它)。

我正在使用IE 7.我想这个插件可以正常使用IE 9,不确定IE 8。

还有其他人经历过这个吗?它甚至可以在blockUI演示页面上运行(至少对我而言。)任何人都知道一个解决方法吗?

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

提前致谢。

2 个答案:

答案 0 :(得分:8)

这是blockUI中的一个错误,生成的叠加div看起来像这个

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

空内联“filter”属性会覆盖.ui-widget-overlay中的css属性,但您可以通过编辑jquery-ui.x.x.x.xxxx.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样式而不是错误的内联样式。

答案 1 :(得分:1)

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

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