Css 在IE8上单击AlphaImageLoader背景中包含的元素

Css 在IE8上单击AlphaImageLoader背景中包含的元素,css,internet-explorer,internet-explorer-8,Css,Internet Explorer,Internet Explorer 8,我有一个非常奇怪的问题 我有一个带有一些背景的标题,其背景大小与封面大小相同。对于IE8,我有以下过滤器: filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myawesomefile.jpg', sizingMethod='scale'); 它负载良好,显示良好。但是,标题中的所有内容都不可单击悬停不起作用,它们不会触发任何事件 我准备了一些来展示这种行为。旧IE过滤器的一个问题是它们确实有一些严重的故障,这可能会

我有一个非常奇怪的问题

我有一个带有一些背景的标题,其背景大小与封面大小相同。对于IE8,我有以下过滤器:

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myawesomefile.jpg', sizingMethod='scale');
它负载良好,显示良好。但是,标题中的所有内容都不可单击<代码>悬停不起作用,它们不会触发任何事件


我准备了一些来展示这种行为。

旧IE
过滤器的一个问题是它们确实有一些严重的故障,这可能会导致类似这样的奇怪事情

这个特定的问题对我来说是一个新问题,但这正是我习惯于使用
filter
看到的事情

我只是花了一点时间摆弄你的代码,看看是否可以解决它,但我什么都没有。所以我的建议是放弃
过滤器

幸运的是,还有一个替代方案:的版本2包含一个用于
背景大小的polyfill,这意味着它可以在所有IE版本中得到支持

CSS3Pie也有一些注意事项;显然,它是一个Javascript库,因此如果用户没有启用JS,它将失败。它要求您使用速记
background
语法,而不是单独的
background size
属性。但关键是它确实有效,而您当前的解决方案显然无效,所以我认为值得一试


希望能有所帮助。

在主题之外,我注意到您的jsbin代码中有一件事:由于您使用的是Modernizer,您可以只指定Modernizer类
。对于IE特定的选择器,没有背景大小
,而不是
。IE-lt9
选择器。这就意味着你不需要所有那些难看的条件性评论。是的,我知道,但这些仍然需要一些其他IE调整足够;我知道这只是你代码的一小部分。但也就是说,如果您使用的是Modernizer,那么这很可能适用于大多数情况,即您正在执行特定于IE的代码。在某种程度上,使用Modernizer的全部目的是消除对特定于浏览器的检查的需要。