我以前从未尝试过这个。我创建了一个图像精灵,其中包含两个图标。每个图标的宽度和高度均为26px。因此,精灵的大小为26x52px。
我有一个元素,它可能在div.something或div.anything中。根据它属于哪个类,我想在左侧或右侧添加一个角标。
因此,我将 .element 定位为相对定位,然后应用 :before 伪类到 img 上,并将其绝对定位,并设置高度和宽度为 26px,以便只能适合精灵中的一个图标。我还应用了 "overflow:hidden" 来隐藏精灵中的第二个图标。
.element {
position:relative;
}
.element:before{
content: url("../images/sprite.png");
position: absolute;
height:26px;
width:26px;
overflow:hidden;
}
.something .element:before {
top: -2px;
left: -2px;
}
anything .element:before {
top: -28px;
right: -2px;
}
这对于在精灵图中使用第一个顶部图标的左上角非常有效。现在我想知道如何仅为“任何内容.element”显示精灵图中的第二个图标。因此,实际上,“蒙版”应该定位为-2px,-2px,但是内部的精灵图应该从-26px开始,这样就可以显示第二个图标。
按照我现在的方式,是否可能使用CSS实现这一点?
:before
不能与img
元素一起使用:http://jsfiddle.net/thirtydot/CWXS3/。因此,您的问题有些令人困惑。 - thirtydot