为什么精灵不适用于一般背景?
why do sprites not work with a general background?
所以对于我的网站 hostup 我尝试添加精灵,因为我有超过 25 张图像并且 google pagespeed 抱怨。我解决了我的 sprire 不显示问题,但我不确定为什么。为什么你必须在每个精灵中加载图像,浪费带宽并降低页面速度?
.sprite {
background-image: url(../img/spritesheet.png);
background-repeat: no-repeat;
display: block;
}
.sprite-backup_icon {
width: 60px;
height: 60px;
background-position: -5px -5px;
}
.sprite-cpanel_icon {
width: 60px;
height: 60px;
background-position: -75px -5px;
}
.sprite {
background-image: url(../img/spritesheet.png);
background-repeat: no-repeat;
display: block;
}
.sprite-backup_icon {
width: 60px;
height: 60px;
background: url(../img/spritesheet.png);
background-position: -5px -5px;
}
.sprite-cpanel_icon {
width: 60px;
height: 60px;
background: url(../img/spritesheet.png);
background-position: -75px -5px;
}
html代码
<div class="sprite-backup_icon"></div>
所以第二个。工作得很好,但是第一个。不显示任何图像,只是一个具有定义的宽度和高度的空白图像,这是为什么?
回答你的第一个问题:
如果浏览器在样式 Sheet 中找到图像,它将下载它,然后将其存储在您的浏览器缓存中。下一次同一图像 found/requested 在样式 Sheet 中来自相同 URL (即使在相同的初始页面加载期间),它将从缓存中提供。没有重新下载。因此,虽然您的样式 Sheet 中可能有 spritesheet.png
3 次,但它只下载了一次,不会浪费带宽或页面加载速度。
正是由于这种缓存功能,精灵在提供图标和其他较小图像等内容时受到青睐。
关于为什么你的第一个 CSS 示例不起作用的第二个问题,它可能是任何数量的问题,从一个简单的拼写错误,或者你想要使用没有 [=11= 的精灵的所有元素] class。
为了正确地帮助您解决这个问题,我们需要查看您的 HTML 以及发布的 CSS。请编辑您的问题并将您的 HTML 添加为代码段。
所以对于我的网站 hostup 我尝试添加精灵,因为我有超过 25 张图像并且 google pagespeed 抱怨。我解决了我的 sprire 不显示问题,但我不确定为什么。为什么你必须在每个精灵中加载图像,浪费带宽并降低页面速度?
.sprite {
background-image: url(../img/spritesheet.png);
background-repeat: no-repeat;
display: block;
}
.sprite-backup_icon {
width: 60px;
height: 60px;
background-position: -5px -5px;
}
.sprite-cpanel_icon {
width: 60px;
height: 60px;
background-position: -75px -5px;
}
.sprite {
background-image: url(../img/spritesheet.png);
background-repeat: no-repeat;
display: block;
}
.sprite-backup_icon {
width: 60px;
height: 60px;
background: url(../img/spritesheet.png);
background-position: -5px -5px;
}
.sprite-cpanel_icon {
width: 60px;
height: 60px;
background: url(../img/spritesheet.png);
background-position: -75px -5px;
}
<div class="sprite-backup_icon"></div>
所以第二个。工作得很好,但是第一个。不显示任何图像,只是一个具有定义的宽度和高度的空白图像,这是为什么?
回答你的第一个问题:
如果浏览器在样式 Sheet 中找到图像,它将下载它,然后将其存储在您的浏览器缓存中。下一次同一图像 found/requested 在样式 Sheet 中来自相同 URL (即使在相同的初始页面加载期间),它将从缓存中提供。没有重新下载。因此,虽然您的样式 Sheet 中可能有 spritesheet.png
3 次,但它只下载了一次,不会浪费带宽或页面加载速度。
正是由于这种缓存功能,精灵在提供图标和其他较小图像等内容时受到青睐。
关于为什么你的第一个 CSS 示例不起作用的第二个问题,它可能是任何数量的问题,从一个简单的拼写错误,或者你想要使用没有 [=11= 的精灵的所有元素] class。
为了正确地帮助您解决这个问题,我们需要查看您的 HTML 以及发布的 CSS。请编辑您的问题并将您的 HTML 添加为代码段。