最新消息:前端博客、web前端博客、Angularjs、javascript、jQuery、HTML5、CSS3

点击SVG元素显示CSS风格

CSS&HTML AZ 2108浏览 0评论

一位读者写道:

有什么东西在您的网站上显示我如何做一个SVG点击使用CSS?因为,我有一个SVG和我点击它的一部分,它应该显示的元素部分的轮廓?我有一次电话采访星期二一份作为远程SVG的插画家和我不想看起来像一个土耳其。

说我有一个美国是这样的:

<svg class="us" viewBox="0 0 500 400">

  <path d="..." class="wisconsin" />

  <polygon points="..." class="colorado" />

  <g class="michigan">
    <path d="..." class="michigan--up">
    <path d="..." class="michigan--main">
  </g>

  <!-- etc -->

</svg>

然后是每个国家的一种直接的后代,选择将svg.us > *。

通常,当我想“点击”,我认为JavaScript。在这里,我们可以看到在每个状态下。我们也会将一类状态点击:

var allStates = $("svg.us > *");

allStates.on("click", function() {
  
  allStates.removeClass("on");
  $(this).addClass("on");
  
});

这类将为我们做造型。你提到的概述,让我们做,填充颜色为好:

.on {
  fill: pink;
  stroke: red;
  stroke-width: 2;
}

但是你说的“可点击使用CSS”具体。这是一个小技巧。通常我们有焦点在CSS中,但我不认为有任何试图使一个SVG元素本身可真路。有人说(很久以前)一个可调焦属性,但我认为那是了。HTML的方式是我认为作品中的作用,一些浏览器,但我们不能指望它。我认为最好的办法是在SVG使用锚(是的,我们可以使用SVG也!)这是可在所有的浏览器。然后应用焦点风格定位级联成的形状。

Amelia贝拉米罗伊兹就这在StackOverflow螺纹。这是我略微简化版:

<svg viewBox="0 0 95 50">
  <a xlink:href="#0">
    <circle cx="20" cy="25" r="5" data-Name="shape 1" data-tabindex="0" />
  </a>
  <a xlink:href="#0">
    <circle cx="40" cy="25" r="5" data-Name="shape 2" data-tabindex="0" />
  </a>
  <a xlink:href="#0">
    <circle cx="60" cy="25" r="5" data-Name="shape 3" data-tabindex="0" />
  </a>
  <a xlink:href="#0">
    <circle cx="80" cy="25" r="5" data-Name="shape 4" data-tabindex="0" />
  </a>
</svg>
a:focus {
  fill: pink;
  stroke: red;
  stroke-width: 1;
}

原文:https://css-tricks.com/click-svg-to-focus/

转载请注明:TUTERM.COM » 点击SVG元素显示CSS风格

如果您觉得本文的内容对您的学习有所帮助,您可以支付宝(左)或微信(右):
alipay weichat

您必须 登录 才能发表评论!