我可以在整个 svg 上添加悬停吗,而不仅仅是在路径上

-1 html css svg

svg :hover{
    fill: #fff;
    transition: 0.2s;
}
Run Code Online (Sandbox Code Playgroud)

当我在 svg 上添加悬停时,此效果仅在我悬停该 svg 的路径时才起作用。因此,当我有一些 svg 边界上有路径且中间有空白时,可能会出现问题。当我悬停在空白区域时,我可以以某种方式添加这种效果吗?

j08*_*691 5

问题出在你的选择器上。中的空格svg :hover表示仅当您将鼠标悬停在 svg 的任何后代元素上时才会执行该规则。相反,将其更改为svg:hover path将鼠标悬停在 svg 的任何部分上时都有效,但仅适用于路径。

svg:hover path{
    fill: #ffff;
    transition: 0.2s;
}
Run Code Online (Sandbox Code Playgroud)
<svg width="22" height="20" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M20.925 3.641H3.863L3.61.816A.896.896 0 0 0 2.717 0H.897a.896.896 0 1 0 0 1.792h1l1.031 11.483c.073.828.52 1.726 1.291 2.336C2.83 17.385 4.099 20 6.359 20c1.875 0 3.197-1.87 2.554-3.642h4.905c-.642 1.77.677 3.642 2.555 3.642a2.72 2.72 0 0 0 2.717-2.717 2.72 2.72 0 0 0-2.717-2.717H6.365c-.681 0-1.274-.41-1.53-1.009l14.321-.842a.896.896 0 0 0 .817-.677l1.821-7.283a.897.897 0 0 0-.87-1.114ZM6.358 18.208a.926.926 0 0 1 0-1.85.926.926 0 0 1 0 1.85Zm10.015 0a.926.926 0 0 1 0-1.85.926.926 0 0 1 0 1.85Zm2.021-7.243-13.8.81-.57-6.341h15.753l-1.383 5.53Z"
              fill="#69707D"
              fill-rule="nonzero"
            />
          </svg>
Run Code Online (Sandbox Code Playgroud)