CSS:将图像 Sprite 与 css 伪类 :before 和 :after 结合使用

标签 css sprite css-sprites pseudo-class

我以前从未尝试过。我创建了一个包含两个图标的图像 Sprite 。每个图标的宽度和高度均为 26 像素。所以 Sprite 是 26x52px。

我有一个元素在 div.something 或 div.anything 中。根据它所在的类别,我想在左侧或右侧添加一个 Angular 帽。

因此,我将 .element 相对定位,将 :before 伪类应用于 img 并将其绝对定位,高度和宽度均为 26px,因此只有一个 Sprite 图标适合.我还应用了“overflow:hidden”来隐藏 Sprite 上的第二个图标。

.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;
}

这对于我在 sprite 中使用第一个顶部图标的左 Angular 效果很好。 但是现在我想知道如何在 Sprite 中只显示“任何元素”的第二个图标。

所以实际上“ mask ”应该位于 -2px,-2px 但里面的 sprite img 应该从 -26px 开始所以显示第二个图标。

我现在正在做的 css 有可能吗?

最佳答案

不要使用content 来插入您的图片,因为您无法修改它的位置。相反,将内容设置为 "" 并将 Sprite 添加为背景图像。然后,您可以使用 background-position 属性将 Sprite 移动到正确的位置。否则,您的示例应该可以正常工作。

一个工作演示:

http://jsfiddle.net/RvRxY/1/

关于CSS:将图像 Sprite 与 css 伪类 :before 和 :after 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7065069/

相关文章:

python - 处理自上而下 View 游戏的旋转 Sprite 的最佳方法是什么

jquery - 在悬停时显示 div 并保持到鼠标离开?

java - 从透明 png Sprite 制作多边形的算法

css - CSS Sprite 按钮结束在表格内掉落

html - 无法让 CSS Sprite 工作..我做错了什么?

css - 试图让 Sprite 工作 - css

Safari 中 iframe 中的 CSS 圆 Angular

html - 使用 CSS 使两个链接在悬停在不同链接上时淡入

jQuery 事件没有持续触发

css - 自动调整居中嵌入式 Flash (HTML/CSS)