- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个页面淡入和淡出内联元素,但 jQuery 不起作用。然后当我将开发工具更改为使用 IE 7 的浏览器模式时,就会显示 fadeIn() 和 fadeOut() 效果。
最佳答案
IE 有一个称为“hasLayout”的实现细节,遗憾的是,它经常泄漏 API 抽象,必须正面处理...这就是您今天面临的战斗:内联元素通常不会有“布局”,因此不能与“过滤器”一起使用...这是 jQuery 用于模拟 IE 上的不透明度的方法。
这在 IE8 中并不是什么新鲜事,通常您根本不必担心它,因为 jQuery 旨在掩盖这种特定于浏览器的疯狂行为......事实上,这就是为什么我'我懒得详细说明“hasLayout”和“过滤器”的实际含义 - 您可能不关心,也不应该关心(但是,如果您有兴趣,请用谷歌搜索它...)
问题是,jQuery 在幕后使用的 hack 来强制布局(因此过滤器可以工作(因此它可以模拟不透明度(因为 IE 没有实现它)))...它在 IE8 上不起作用。 那不是很棒吗?他们修复了 display: inline
元素表现为 display: inline-block
元素的错误,但忽略了实现人们利用他们的错误来破解支持的功能。 ..
好吧,对此你无能为力。给 IE 团队写一封令人讨厌的电子邮件可能会让你感觉好一点,但他们正在努力开发 IE9,这应该(敲木头......)解决大部分问题。与此同时,您只需要手动执行 IE 曾经所做的事情(有点,有点,而且肯定是错误的):强制内联元素进入内联 block 模式:
$("myInlineElement").css({display: 'inline-block'}).faceOut();
...或者更好的是,put it in an IE8-only stylesheet ...
关于jquery - jQuery 的 fadeIn() 和 fadeOut() 不适用于 IE 8 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3114516/
我是一名优秀的程序员,十分优秀!