按钮由本地导入SVG的图标和文字组成,如何实现当鼠标悬停在按钮时 svg图标与文字同时改变颜色?
时间: 2023-08-23 21:08:08 浏览: 43
可以使用CSS实现这个效果。首先,给按钮的SVG图标和文字分别添加一个class,如“icon”和“text”。然后,在CSS中使用:hover伪类选择器,为按钮的:hover状态下的“icon”和“text”添加颜色样式,如下所示:
```
.button:hover .icon {
fill: #ff0000; // 改变SVG图标颜色
}
.button:hover .text {
color: #ff0000; // 改变文字颜色
}
```
这样,在鼠标悬停时,按钮上的SVG图标和文字颜色就会同时改变。
相关问题
bootstrap5中给按钮添加svg图标并设置颜色
可以使用Bootstrap提供的SVG图标库,将SVG图标作为按钮的背景图像,然后使用CSS设置颜色。以下是一个示例代码:
```html
<button class="btn btn-primary">
<svg class="bi bi-person" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M8 8a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1.5c-2.5 0-7 1.25-7 3v1h14v-1c0-1.75-4.5-3-7-3z"/>
<path fill-rule="evenodd" d="M8 9a2 2 0 1 1 0-4 2 2 0 0 1 0 4z"/>
</svg>
Profile
</button>
```
在这个例子中,我们使用Bootstrap提供的`btn`和`btn-primary`类来创建一个蓝色的按钮。我们将SVG图标作为按钮的背景图像,并使用`fill`属性设置图标的颜色为当前文本颜色。我们还在按钮文本后面添加了一个空格,以便在图标和文本之间留出一些空间。
如果您想使用不同的SVG图标,可以在Bootstrap的SVG图标库中查找并复制相应的代码。如果您想使用自己的SVG图标,可以将SVG代码直接嵌入到按钮中,并使用CSS设置其样式。
ue5 c++为 Builder.AddMenuEntry 的slate插件按钮添加svg图标
要为Slate插件按钮添加SVG图标,可以遵循以下步骤:
1. 将SVG文件添加到项目中,例如将SVG文件保存到Content/Icons文件夹中。
2. 在Slate插件的构建方法中,使用FSlateImageBrush类创建一个图像刷对象,该对象将SVG文件作为其图像资源。例如:
```cpp
FSlateImageBrush IconBrush = FSlateImageBrush(TEXT("/Icons/MyIcon.svg"), FVector2D(16.0f, 16.0f));
```
这将创建一个16x16像素的图像刷对象,其中“MyIcon.svg”是Content/Icons文件夹中的SVG文件。
3. 在Builder.AddMenuEntry方法中,使用图像刷对象作为按钮的图标。例如:
```cpp
Builder.AddMenuEntry(
FText::FromString(TEXT("My Button")),
FText::FromString(TEXT("Click me!")),
IconBrush,
FUIAction(FExecuteAction::CreateLambda([]{}))
);
```
这将创建一个带有“MyIcon.svg”图标的按钮。
注意:如果要使用SVG图标,必须在项目中启用Slate SVG支持。要启用它,请在项目的DefaultEngine.ini文件中添加以下行:
```ini
[Core.Slate]
bEnableSlateVectorArtRendering=true
```