html - 在更大的 div 中显示来自 CSS Sprite 的一个图标

标签 html css css-sprites

我有一个包含各种 40x40 像素图标的 Sprite 图像:

Sprite

然后我有一个比这个 sprite 大得多的 div。我想在该 div 的中间显示播放图标 (left, top = 120, 0)。我不想显示整个 Sprite 。

如何在不编辑 HTML 标记或图像的情况下使用 CSS 执行此操作?

.play {
  position: absolute;
  left: 10%;
  right: 10%;
  top: 10%;
  bottom: 10%;
  background-color: rgba(255, 255, 0, .5);
  background-image: url(http://i.stack.imgur.com/pxuWK.png);
  background-position: -120px 0;
}
<div class="play" title="Play Button Hitbox"></div>

最佳答案

你可以使用伪元素来应用你想要的特定部分,这里是代码:

   .play {
        position: absolute;
        left: 10%;
        right: 10%;
        top: 10%;
        bottom: 10%;
        background-color: rgba(255, 255, 0, .5);
        background-position: -120px 0;
    }
    .play:before {
        display:inline-block;
        content:'';
        width: 35px; /*width of icon*/
        height: 44px; /*height of icon*/
        background-position-x: -43px; /*x position of icon relative to sprite image*/
        background-position-y: 4px; /*y position of icon relative to sprite image*/
        background-image: url(http://i.stack.imgur.com/pxuWK.png);
    }

关于html - 在更大的 div 中显示来自 CSS Sprite 的一个图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31818222/

相关文章:

javascript - 动态添加样式表

jquery - 使用 jQuery 计算元素的宽度

css - 媒体 css3 不适用于 safari 浏览器

css - 总是以全屏尺寸读取 Sprite CSS?

html - 边距占用空间但没有背景

javascript - Angular ng-repeat性能问题,不断更新

javascript - 如何通过 Javascript 播放具有 If 条件的音频

javascript - 淡入淡出div

html - 带有 Sprite 的可点击图像

css - 从 compass Sprite 获取图像宽度和高度