javascript - 缩放覆盖 SVG 宽度和高度属性

标签 javascript html css svg scale

我有一个定义了宽度和高度的 SVG 元素,比如 <svg width="100px" height="100px"></svg> , 充满了各种元素。

我想要一种“缩放”功能,其中 SVG 的特定区域被放大以填充整个 SVG 元素。

我计划用 scale 来做到这一点和 translate属性,即通过应用 scale(x)到 SVG 元素,然后计算我需要翻译的内容,以使所需区域保持可见。

我预计这将使 SVG 保持在 100x100 像素并简单地隐藏该区域之外的任何元素。但是,这不会发生;整个 SVG 元素反而变大了,即使尺寸被明确定义为属性。

显然我误解了缩放和 SVG 尺寸的工作方式,有谁知道我如何才能实现我在这里尝试做的事情?

最佳答案

您可以使用 div 元素扭曲 svg 并使用 overflow: hidden。

<div style="width: 300px; height: 300px; overflow: hidden">
  <svg width="100" height="100" style="transform: scale(4);">
     <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
  </svg> 
</div>

关于javascript - 缩放覆盖 SVG 宽度和高度属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45549110/

相关文章:

javascript - 当 `label` 元素包含子元素 `span` 时,单击标签会触发子元素而不是父元素

css - 将 CSS 样式添加到除焦点文本区域之外的所有内容

css - 如何制作 "Trickless"、基于 CSS 的跨平台相同列高?

javascript - Click() 和 Toggle() - 错误

javascript - 为什么有过渡文档类型会导致我的 javascript 在 WebKit 和 Opera 浏览器中失败

php - 如何使用 MySQL 制作手动 'like' 函数(如 facebook)

javascript - 当我将 HTML 放入 "include"时,为什么我的 javascript 不起作用?

html - 如何在 Bootstrap 导航栏中添加多个 Logo ?

javascript - 是否可以在 AG-Grid 中过滤多个字符串?

javascript - JavaScript 中的双点语法 - 这个表达式的作用是什么?它的语法如何有效?