【问题标题】:Sizing an existing svg调整现有 svg 的大小
【发布时间】:2018-08-23 03:54:02
【问题描述】:

我正在尝试学习如何正确处理现有的 svg,以便将其与文本对齐。

这就是我目前(可能是天真地)理解事物的方式:

viewport - 我可以在屏幕上看到的画布区域,由 svg 标签或 css 中的宽度/高度属性设置。

viewBox - 定义该视口内的平移和缩放。

通常,您的 svg 高度/宽度似乎应该与您的 viewBox 匹配,但以下 example 让我认为矢量本身的大小(或我猜的路径)很重要。因为我设置了它的大小,所以我操纵圆圈没有问题。

我是否只需要微调图标的 viewBox 直到它居中且大小正确?或者有没有更好的方法我不知道?

谢谢!

【问题讨论】:

    标签: html css svg


    【解决方案1】:

    我不太确定我是否理解您的问题。也许这有帮助:在 JavaScript 中有一个方法getBBox(),它返回包围当前元素的矩形的大小和位置。 在你的例子中,如果我把它放在 JavaScript 中:

    let thepath = document.querySelector("path");
    console.log(thepath.getBBox());
    

    我收到SVGRect {x: 0, y: 1, width: 15, height: 15}。这是图标的大小和位置。 您可以通过更改 viewBox="-42.5 -42 100 100" 或使用 CSS 翻译图标来使图标居中:path{transform:translate(42.5px,42px)

    【讨论】:

    • 我会使用document.querySelector('svg.icon') 来获取整个图标的内容。
    • 有趣 - 是的,谢谢,你有。 JS 已经提供了答案:尽管我使用您的查询结果将其居中 viewBox="0 1 15 15" :)
    • @enxaneta 对我很有帮助!
    猜你喜欢
    • 2021-12-19
    • 2012-10-24
    • 1970-01-01
    • 2019-01-19
    • 2018-12-23
    • 1970-01-01
    • 2018-09-13
    • 2013-04-22
    • 2014-01-08
    相关资源
    最近更新 更多