internet-explorer-9 - css 不透明度导致 IE9 中的布局问题

标签 internet-explorer-9 opacity css

我在 IE9 中遇到了一个非常有趣的问题。在包装 div 上使用 filter: alpha(opacity=) 或 -ms-filter css 属性时,内部 block 元素的盒模型会损坏。换句话说,vertical-margin 的折叠被禁用,而 vertical-margin 被添加。我只在 IE9 中遇到这个问题。 IE7/8 不受影响。

这是一个 jsFiddle与孤立的问题。使用触发器 anchor 激活包含过滤器的类:包装 div 上的 alpha。 (仅限 IE9)

知道为什么会这样吗?

提前致谢

最佳答案

任何过滤器似乎都可以做到这一点(jsfiddle.net/7BFd7)。

我只能假设它为什么这样做。似乎使用过滤器将元素设置为使用一些不进行边距折叠的未知显示或位置模式(如绝对位置、内联 block 和 float 或清除元素)。

无论如何.. 如果您只是想隐藏该元素,您可以使用visibility: hidden,它与opacity: 0 具有相同的效果并且在任何地方都受支持。

如果你想为不透明度设置动画,你必须通过条件注释或 Normalizr 进行浏览器嗅探,并在 IE9 中为 opacity 设置动画,并在较旧的 IE 版本中应用过滤器。

关于internet-explorer-9 - css 不透明度导致 IE9 中的布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12462272/

相关文章:

html - 带有可选 </p> 关闭的 IE9 错误

html - 如何更改 Canvas 元素中元素的不透明度(alpha、透明度)?

html - 悬停效果不会在图像上触发

jQuery 在使用 Firefox 时忽略非 mozilla CSS3 转换

HTML div 忽略 margin-bottom 的 div

javascript - 外部接口(interface)和 Internet Explorer 9 问题

javascript - IE 9 和 IE 10 时常无法在输入文本框中输入文字

css - 这个文档类型有什么问题

javascript - 如何从不透明度暂停和恢复 fadeIn()?

html - 如何在输入字段的中间对齐图像?