CSS'包含'属性选择器在IE8中不起作用

时间:2013-06-13 21:43:59

标签: css internet-explorer-8 css-selectors

我想根据它们的浮动方式更改边缘圆形图像。我使用了'contains'属性选择器,除IE8外,它工作正常。见下面的代码。

我无法真正改变HTML(例如,无法添加一个类来识别元素)(因为它是由Drupal中的WYSIWYG编辑器生成的)。

任何人都可以建议我可以用来定位“浮动:左”的替代方案吗?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<style type="text/css">
img[style*="float"][style*="left"]
{
    margin: 40px;
    background: red;
}
</style>
</head>
<body>
<img src="http://jsfiddle.net/img/logo.png" style="float:left" width="100" height="100">
</body>
</html>

(我也创建了一个jsfiddle,但它没有用,因为jsFiddle似乎与IE8有问题:http://jsfiddle.net/spiderplant0/FAxmp/

1 个答案:

答案 0 :(得分:1)

如果您已使用js框架,则需要一个polyfill,易于实现: http://selectivizr.com/
但还有其他人 编辑:正如您所说,您已经在使用一个。

  

ie9.js

您应确保您的样式位于外部文件中,并且显然未通过@import链接,以便有效查看polyfills。
干杯

重新编辑它似乎只解析样式的值,而不是规则。

因此,以下选择器将适用于IE8:

img[style*=left] {
    /* css */
}