3

我想根据浮动方式更改图像的边距。我使用了 'contains' 属性选择器,除了 IE8 之外它工作得很好。请参阅下面的代码。

我不能真正改变 HTML(例如不能添加一个类来识别元素)(因为它是由 Drupal 中的所见即所得编辑器生成的)。

谁能建议我可以用来定位“float:left”的替代方案?

<!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/

4

1 回答 1

1

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

ie9.js

你应该确保你的样式在一个外部文件中并且显然没有通过链接@import来查看 polyfills 的效率。
干杯

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

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

img[style*=left] {
    /* css */
}
于 2013-06-13T21:46:48.073 回答