【问题标题】:BlockUI jquery-ui theme support in IEIE 中的 BlockUI jquery-ui 主题支持
【发布时间】:2011-08-29 02:41:12
【问题描述】:

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

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

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

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

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

提前致谢。

【问题讨论】:

  • 我曾经使用过blockUI,也遇到过不一致的情况。我用 jQuery 对话框替换了所有 blockUI,一切正常。
  • 谢谢。我可能也应该这样做。

标签: jquery jquery-ui themes blockui


【解决方案1】:

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

这是浏览器的限制,如果不使用外部 polyfill 则无法解决。在这些浏览器中,即使是常规的 jQueryUI 主题通常也是方形的。

【讨论】:

    【解决方案2】:

    这是 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.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 样式而不是错误的内联样式。

    【讨论】:

    • 我继续并将您的答案标记为正确的答案,对于长时间的延迟感到抱歉。这个从我身边溜走了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 2021-07-02
    相关资源
    最近更新 更多