css - 具有 CSS 背景大小的 SVG Sprite : 100% auto;

标签 css svg css-sprites

美好的一天。

我目前正在构建一个网站,我想从图标字体过渡到纯 svg 图标。

问题是当我尝试使用 SVG Sprite (1:3 宽高比)作为背景时

.icon {
  width: 1em;
  height: 1em;
  background-image: url('path/to.svg');
  background-position: 0 0;
  background-size: 100% auto;
}

它被缩小了,我的悬停效果(如下)的位置变得很尴尬。

.icon:hover,
.icon:focus {
  background-position: 0 -1em;
}

当我的 Sprite 大小为 1:2 宽高比时,它可以正常工作。

有什么建议吗?

此致,塞巴斯蒂安。

最佳答案

preserveAspectRatio="xMinYMin slice"

这段代码解决了这个问题。谢谢阿米莉亚BR。

编辑:

如果您使用 Adob​​e Illustrator 导出 SVG 文件,请记住取消选中“响应式”。否则 Sprite 将无法在 Internet Explorer 中按预期工作。

关于css - 具有 CSS 背景大小的 SVG Sprite : 100% auto;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22385165/

相关文章:

html - 如何在没有包装元素的情况下设置大于元素本身的背景大小

html - wordpress 中的 CSS Sprite

html - CSS:导航 Sprite 图像对齐问题

html - 具有不同背景位置的 Sprite 菜单

css - Bootstrap - 内联列表堆栈而不是水平排列

php - 显示具有正确属性的图像

html - 滚动条拒绝在 IE/Firefox 上隐藏

svg - 使用 d3js 绘制简单的线条

svg:当外部容器旋转时停止内部组旋转

html - 如果选择器不再匹配,如何将 CSS3 动画运行到最后?