css – SVG文本周围的矩形边框

前端之家收集整理的这篇文章主要介绍了css – SVG文本周围的矩形边框前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
试图在一些SVG文本周围加上边框,我的结果会有所不同.

HTML :(使用静音类)

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <text x="37.5" y="37.5" class="ablate-x mute">X</text>
</svg>

CSS:

.ablate-x {
   font-size: 24px;
   color: gray;
   opacity: 0.5;
   font-weight: 900;
   cursor: hand;
   cursor: pointer;
}

.mute {
   opacity: 1;
   fill: red;
   stroke: red;
   stroke-width: 2px;
   /* we tried border: 2px solid red;   but it didn't work */
}

D3.js:

.on("click",function(d) {
    var selection = d3.select(this);
    selection.classed("mute",(selection.classed("mute") ? false : true));
 })

这里我们有没有静音类的X.

这里我们有X与静音类但没有边框

这就是我们试图让边框看起来像

注意:其父级是一个组,而不是HTML元素.

JS小提琴:
http://jsfiddle.net/chrisfrisina/yuRyr/5/

解决方法

您发现SVG元素不支持CSS border属性.你的选择是

>画一个红色< rect>围绕文本作为边界>在外部< svg>上放置边框如果父元素是一个html元素.外部< svg> element是一个替换元素,将支持CSS border属性.

猜你在找的CSS相关文章