5 html javascript firefox svg getboundingclientrect
getBoundingClientRect()当涉及具有给定笔画宽度的 SVG 路径时,不同浏览器的实现有所不同,像Firefox 这样的浏览器包括笔画宽度(例如,与 Chrome 不同)。
通过“包括笔划宽度”,我希望边界框包含带有笔划的路径,但没有其他内容。然而,正如您在这个基本示例中所看到的,在 Firefox 中,笔划宽度似乎在整个元素周围创建了一个额外的边框,其值是笔画宽度本身的两倍:
console.log(document.querySelector("path").getBoundingClientRect())Run Code Online (Sandbox Code Playgroud)
path {
stroke: black;
stroke-width: 30px;
}Run Code Online (Sandbox Code Playgroud)
<svg>
<path d="M0,20 L300,20"></path>
</svg>Run Code Online (Sandbox Code Playgroud)
这是上面代码片段的屏幕截图,检查元素:
正如您所看到的,不仅getBoundingClientRect()开发工具检查器得到的边界矩形错误(420x120而不是300x30。值得一提的是,Chrome 和 Safari 将返回300x0,如第一段所述)。
这是预期的行为吗?
| 归档时间: |
|
| 查看次数: |
432 次 |
| 最近记录: |