根据具体情况,您没有详细解释,伪元素的解决方法可能有效吗? 只需添加指定大小的伪元素,并将精灵作为背景?
通过位置绝对/相对和z-index的正确组合,这可以起作用。
如果您提供有关您要实现的目标的更多信息,我将能够提供更好的帮助。
的 编辑: 强>
好的,所以我现在得到了一个解决方案。如预期的那样:看起来很脏。 但是当你想在IE8中做一些奇特的东西时,你就会得到这样的东西:-P
a { overflow: hidden; text-indent: -9999px; display: block; width: 58px; height: 58px; position: relative; } a:before { content: ""; background: url(https://cdn.tutsplus.com/webdesign/uploads/legacy/tuts/373_sprites/angry_birds.png); zoom: .5; text-indent: 0; overflow: hidden; width: 600px; height: 400px; position: absolute; left: 0; top: 0; } a.one:before { background-position: 0 0; } a.two:before { background-position: 0 -112px; }
这样做的缺点是,您必须计算缩放系数而不是仅记下您想要的尺寸。然后,背景位置将与全尺寸背景相关。
我在上面的代码中做了什么,有什么不清楚的吗?
你唯一能做的就是:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader( src='image.gif', sizingMethod='scale'); -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader( src='image.gif', sizingMethod='scale')";
但是,如果您使用精灵图像,这可能会导致问题。
根据 caniuse.com , 这种polyfill 可能有帮助。
希望这可以帮助...
- 兰斯