【问题标题】:Drupal Colorbox module and IEDrupal Colorbox 模块和 IE
【发布时间】:2010-08-13 02:55:31
【问题描述】:
我已经把头发拔掉了!我正在尝试让 Colorbox 在 IE7 中正确显示边框(IE6 也是如此,但我至少会使用 IE7!)。
你可以看到我看到的here。单击图库中的图片或登录链接。无论哪种方式,颜色框都应该正确显示。它在 FF 中运行良好,但在 IE 中边框消失了。有谁知道是什么原因造成的,更好的是,如何解决?
谢谢!
【问题讨论】:
标签:
css
internet-explorer
drupal
gallery
colorbox
【解决方案1】:
确实有效!我已经通过在我的主题文件中进行覆盖来尝试了一段时间,但我从未在 Colorbox 库的文件夹中尝试过它(我讨厌编辑核心,即使这真的不是“核心”。)
对于未来的读者:
- 导航到您的 sites/all/libraries/colorbox/[无论您使用什么颜色框预设名称 - 我的是“example1”]/colorbox.css 并复制它。
- 粘贴并保存粘贴的文件为colorbox.css.bak
- 现在打开 colorbox.css.
- 删除底部看起来像这样的行:
/*
The following fixes png-transparency for IE6.
It is also necessary for png-transparency in IE7 & IE8 to avoid 'black halos' with the fade transition
Since this method does not support CSS background-positioning, it is incompatible with CSS sprites.
Colorbox preloads navigation hover classes to account for this.
!! Important Note: AlphaImageLoader src paths are relative to the HTML document,
while regular CSS background images are relative to the CSS document.
*/
.cboxIE #cboxTopLeft{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/internet_explorer/borderTopLeft.png, sizingMethod='scale');}
.cboxIE #cboxTopCenter{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/internet_explorer/borderTopCenter.png, sizingMethod='scale');}
.cboxIE #cboxTopRight{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/internet_explorer/borderTopRight.png, sizingMethod='scale');}
.cboxIE #cboxBottomLeft{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/internet_explorer/borderBottomLeft.png, sizingMethod='scale');}
.cboxIE #cboxBottomCenter{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/internet_explorer/borderBottomCenter.png, sizingMethod='scale');}
.cboxIE #cboxBottomRight{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/internet_explorer/borderBottomRight.png, sizingMethod='scale');}
.cboxIE #cboxMiddleLeft{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/internet_explorer/borderMiddleLeft.png, sizingMethod='scale');}
.cboxIE #cboxMiddleRight{background:transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/internet_explorer/borderMiddleRight.png, sizingMethod='scale');}
- 保存 colorbox.css 并完成!
【解决方案2】:
看到 colorbox.css 文件底部所有以“.cboxIE”开头的行了吗?我敢打赌,“过滤器:progid:DXImageTransform.Microsoft.AlphaImageLoader ...;”财产是问题。我之前在 IE7 上遇到过一个非常相似的问题——它有这个属性来解决 IE 的透明 PNG 问题,但它仍然坏了。如果你想让它在 IE6 中看起来不错,你将不得不使用另一个 PNG 修复程序,但是在我取出 colorbox.css 底部的所有“.cboxIE”类之后,我没有遇到任何关于 colorbox 的问题。或者,至少是过滤器属性——“背景:透明;”可能会留下来。
希望有帮助!