html - 在悬停另一个元素时更改 SVG 填充颜色

标签 html css svg hover

我今天研究了一段时间如何在悬停时更改 svg 填充颜色。我已经能够通过使用对象标记并链接到我的 CSS 文件来使其工作,以便我可以在外部设置它的样式。但是,只有当我实际将鼠标悬停在 SVG 本身上时,我才能让它工作。我在一个标签中有我的对象和一个文本标签,我想在将鼠标悬停在 .当我尝试从对象进一步向上定位时,它不起作用。我相信我读到对象内的 SVG 无法识别任何父元素,所以我不确定这是否是问题所在。任何帮助,将不胜感激!下面是我的 html 的一个片段。我应该指出“icon-md”类仅定义我的 SVG 的高度和宽度。

<div class="icon-button">
            <a href="#">
                <object type="image/svg+xml" class="icon-md" data="img/load-board.svg"></object><h3 class="icon-label">Load Board</h3>
            </a>
        </div>

这也是我的 SVG 文件的 HTML。我为实际路径指定了“路径”ID,这就是我在外部 CSS 文件中特别针对的内容。

<?xml-stylesheet type="text/css" href="../stylesheets/main.css"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="64" height="64">
<path id="path" style="text-indent:0;text-align:start;line-height:normal;text-transform:none;block-progression:tb;-inkscape-font-specification:Bitstream Vera Sans" d="M 5 5 L 5 6 L 5 26 L 5 27 L 6 27 L 26 27 L 27 27 L 27 26 L 27 6 L 27 5 L 26 5 L 6 5 L 5 5 z M 7 7 L 25 7 L 25 25 L 7 25 L 7 7 z M 10 10 L 10 15 L 15 15 L 15 10 L 10 10 z M 17 10 L 17 15 L 22 15 L 22 10 L 17 10 z M 10 17 L 10 22 L 15 22 L 15 17 L 10 17 z M 17 17 L 17 22 L 22 22 L 22 17 L 17 17 z" overflow="visible" font-family="Bitstream Vera Sans"/>
</svg>

最佳答案

你有没有想过类似的事情?

div{
  padding:10px;
  border:1px solid black;
}
div:hover svg path,
div:hover{
  fill:red;
  color:red;
}
<div>
This is plain text
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="64" height="64">
<path id="path" style="text-indent:0;text-align:start;line-height:normal;text-transform:none;block-progression:tb;-inkscape-font-specification:Bitstream Vera Sans" d="M 5 5 L 5 6 L 5 26 L 5 27 L 6 27 L 26 27 L 27 27 L 27 26 L 27 6 L 27 5 L 26 5 L 6 5 L 5 5 z M 7 7 L 25 7 L 25 25 L 7 25 L 7 7 z M 10 10 L 10 15 L 15 15 L 15 10 L 10 10 z M 17 10 L 17 15 L 22 15 L 22 10 L 17 10 z M 10 17 L 10 22 L 15 22 L 15 17 L 10 17 z M 17 17 L 17 22 L 22 22 L 22 17 L 17 17 z" overflow="visible" font-family="Bitstream Vera Sans"/>
</svg>
</div>

关于html - 在悬停另一个元素时更改 SVG 填充颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38509083/

相关文章:

jquery - CSS/JQuery : Make div appear next to another (with absolute position)

HTML :first-child not giving desire result

html - 使用 HTML/CSS 创建悬停下拉菜单时遇到问题

html - 如何使用 angular renderer2 将 mat-icon 动态添加到 div?

javascript - 关于悬停问题的 div 隐藏和淡出

css - 将内联 SVG 与 CSS/Less 结合使用

javascript - 如何向 SVG 中的椭圆元素添加轮廓/边框?

javascript - Drupal 7 jquery block 显示为文本

javascript - 使用 bootstrap/jQuery 修复了视口(viewport)中的页脚

html - SVG 线条以不同的方式显示