沃梦达 / IT编程 / 前端开发 / 正文

CSS实现鼠标悬停svg图标描边效果

下面是“CSS实现鼠标悬停svg图标描边效果”的完整攻略。

下面是“CSS实现鼠标悬停svg图标描边效果”的完整攻略。

1. 确定使用的SVG图标

首先,在网站中选择一个SVG图标,并将其添加到HTML页面中。需要注意的是,为了能够实现鼠标悬停描边效果,SVG图标必须是矢量图形。

2. 编写CSS样式

接下来,需要为SVG图标编写CSS样式。这里需要用到CSS中的stroke属性。

具体来说,需要将SVG图标的描边颜色设置为透明,然后在鼠标悬停的时候将描边颜色改变为期望的颜色。下面是一个示例代码:

svg {
  stroke: none; /* 设置描边颜色为透明 */
  transition: stroke 0.3s ease-in-out; /* 添加过渡效果 */
}
svg:hover {
  stroke: #ff0000; /* 鼠标悬停时改变描边颜色 */
}

在上面的示例代码中,stroke属性用来设置描边颜色,transition属性则用来添加过渡效果,让描边颜色的变化更加平滑。

3. 示例说明

下面给出两个示例说明。

示例一

一个带有“小箭头”SVG图标的按钮,在鼠标悬停的时候会出现红色的描边效果。HTML代码如下:

<button>
  <svg viewBox="0 0 16 16">
    <path d="M0,6 l6,-6 l10,10 l-10,10 l-6,-6 l4,-4 l-4,-4 z"></path>
  </svg>
  Click me
</button>

对应的CSS代码如下:

button {
  padding: 10px;
  font-size: 18px;
  background-color: #fff;
  border: 2px solid #ccc;
  border-radius: 5px;
  cursor: pointer;
}
button svg {
  width: 24px;
  height: 24px;
  stroke: none;
  transition: stroke 0.3s ease-in-out;
  margin-right: 10px;
  vertical-align: middle;
}
button:hover svg {
  stroke: #ff0000;
}

示例二

一个带有“邮件发送”SVG图标的链接,在鼠标悬停的时候会出现蓝色的描边效果。HTML代码如下:

<a href="#">
  <svg viewBox="0 0 16 16">
    <path d="M14,1H2c-1.1,0-2,0.9-2,2v10c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V3C16,1.9,15.1,1,14,1z M14.8,3L8,8.4L1.2,3H14.8z M14,13H2V5.8l6.5,5.9c0.4,0.4,1,0.4,1.4,0L14,5.8V13z"></path>
  </svg>
  Send email
</a>

对应的CSS代码如下:

a {
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #ccc;
}
a svg {
  width: 16px;
  height: 16px;
  stroke: none;
  transition: stroke 0.3s ease-in-out;
  margin-right: 5px;
  vertical-align: middle;
}
a:hover {
  border-bottom-color: #007fff;
}
a:hover svg {
  stroke: #007fff;
}

以上就是“CSS实现鼠标悬停svg图标描边效果”的完整攻略。

本文标题为:CSS实现鼠标悬停svg图标描边效果