javascript - 如何在 svg 中设置确切的宽度

标签 javascript jquery html css svg

如果我将鼠标悬停在矩形上,边框大小会超过矩形大小。我知道因为父节点宽度是 100 这就是显示矩形边框的原因。

如果我将父节点宽度设置为 40,它工作正常但我需要相同的行为而不更改父节点的 widthstroke-width.

我怎样才能做到这一点?

// In mouse hover, I have set the style:
var links = $('#ch');
links.hover(function() {
  $('#ch').attr('class', 'st');
}, function() { //mouseout
  $('#ch').attr('class', '');
});
.st {
  stroke-width: 60px;
  stroke: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>

<svg id='par' width="100" height="40">
  <rect id='ch' width="40" height="40" style="fill:rgb(0,0,255)" />
</svg>

最佳答案

阻止 svg 溢出的是你的 UA 样式(在 chrome 上)中的 svg:not(:root){overflow:hidden}

因此,如果您将它设置为visible,它将起作用:

svg:not(:root) { overflow : visible; }

FIDDLE

关于javascript - 如何在 svg 中设置确切的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30393980/

相关文章:

javascript - 我可以使用 JS 一次使用 JSON 数组中的一个字符串吗?

java - 使用 Tapestry 5 加载 jQuery

javascript - 是否可以将方法附加到没有原型(prototype)属性的构造函数/函数?

javascript - 如何获取文本区域中的行数?

javascript - 将事件绑定(bind)到尚未创建的元素 jquery

javascript - 使用 AJAX 向 API 发出请求时遇到问题

用于更改 GET URL 参数的 Jquery 或 JS 代码

javascript - React.js 和丰富的数据网格组件或至少破解 [2015]

html - <a> 标 checkout 现在我的 DIV 中

javascript - 特定宽高比时的特定浏览器缩放