Css 有相同尺寸的图像来创建精灵很重要吗?
我一直在做一个巨大的项目,有大约1000张图片,甚至可能还会增加。因此,为了减少HTTP请求的数量,我创建了几个精灵,每个精灵大约有100个图像。但是,当我在项目中使用这些精灵时,生成的scss类属性无法正常工作 假设我为精灵生成了以下css:Css 有相同尺寸的图像来创建精灵很重要吗?,css,svg,sprite,Css,Svg,Sprite,我一直在做一个巨大的项目,有大约1000张图片,甚至可能还会增加。因此,为了减少HTTP请求的数量,我创建了几个精灵,每个精灵大约有100个图像。但是,当我在项目中使用这些精灵时,生成的scss类属性无法正常工作 假设我为精灵生成了以下css: .svg-main{ background: url("sprites/main.sprite.svg") no-repeat; } .svg-icon{ background-position: 0 0; } .svg-icon-d
.svg-main{
background: url("sprites/main.sprite.svg") no-repeat;
}
.svg-icon{
background-position: 0 0;
}
.svg-icon-dims {
width: 30px;
height: 33px;
}
.svg-home {
background-position: 0 7.741935483870968%;
}
.svg-home-dims {
width: 33px;
height: 33px;
}
.svg-info-gray {
background-position: 0 15.483870967741936%;
}
.svg-info-gray-dims {
width: 36px;
height: 36px;
}
当我参考图像时,房屋顶部被切掉,信息灰色图标的顶部显示出来。因此,显而易见的解决方案是显式地更正填充以及宽度和高度属性。我知道这是因为精灵中使用的图像尺寸不均匀造成的。即使在一个精灵中有相同维度的所有图标,也会出现此问题
那么,如何解决这一问题呢?那么,当我们创建一个精灵时,有相同尺寸的图像是重要的吗?还有其他方法可以简化这一过程吗
任何建议都将不胜感激
注意:我用于svg图像和png/jpeg图像。任务跑者-吞咽
谢谢。如果图像在服务器上,您应该已经知道图像的大小。如果没有,那么您可以使用JavaScript AJAX将文件名发送到PHP到
getimagesize()
,然后在客户端上更改图像大小,使用JavaScriptElement.height='33'
和Element.width='33'
。我建议将图像保持在原始大小,或将其重新保存为新大小,以避免矢量缩放。是的,正确。我知道我的图像的尺寸。但我的问题是,如果我有3个维度的图像,20 x 20,24 x 24和54 x 54。当我用这3幅图像创建一个精灵并在我的项目中使用它们时,它们会错位,尺寸也会自动改变。所以,如果我需要精灵在我的项目中正确对齐,我是否需要让精灵中使用的所有图像具有相同的尺寸?或者有没有其他方法来修复它们。正如您所说,我同意将图像保留在其原始大小:)@phpglue如果图像位于服务器上,您应该已经知道图像的大小。如果没有,那么您可以使用JavaScript AJAX将文件名发送到PHP到getimagesize()
,然后在客户端上更改图像大小,使用JavaScriptElement.height='33'
和Element.width='33'
。我建议将图像保持在原始大小,或将其重新保存为新大小,以避免矢量缩放。是的,正确。我知道我的图像的尺寸。但我的问题是,如果我有3个维度的图像,20 x 20,24 x 24和54 x 54。当我用这3幅图像创建一个精灵并在我的项目中使用它们时,它们会错位,尺寸也会自动改变。所以,如果我需要精灵在我的项目中正确对齐,我是否需要让精灵中使用的所有图像具有相同的尺寸?或者有没有其他方法来修复它们。正如您所说,我同意将图像保持在原始大小:)@PHPglue