如何在 :before 伪类中设置 SVG 图像的大小?

新手上路,请多包涵

我想在 CSS :before 元素中显示图像。

 .withimage:before {
  content: url(path/to/image.svg);
  display: block;
  height: 20px;
  width: 20px;
}

问题是, heightwidth 应用于元素,但 SVG 没有按比例缩小。如何将尺寸应用于之前创建的实际元素?

Plnkr 示例: https ://plnkr.co/edit/UgryaObojs6PCU579oGY

原文由 Jorn 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

您可以使用 svg 作为背景图像:

 .withimage:before {
  content: "";
  display:block;
  height:125px;
  width:125px;
  background-size: 125px 125px;
  background-image: url(test.svg);
  background-repeat: no-repeat;
}

这是 示例

您也可以尝试使用这个:

 .withimage:before {
  content: url("data:image/svg+xml; utf8, <svg.. code here</svg>");
    display:block;
    height:20px;
    width:20px;
}

原文由 oboshto 发布,翻译遵循 CC BY-SA 3.0 许可协议

比例变换对我有用:

 ::before {
    content: url(path/to/image.svg); // source image is 24px wide
    transform: scale(0.5);           // will be rendered 12px wide
  }

原文由 Martin 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题