gpt4 book ai didi

html - 如何在将鼠标悬停在按钮上时更改按钮内文本和图标的颜色?

转载 作者:行者123 更新时间:2023-12-01 22:56:34 25 4
gpt4 key购买 nike

到目前为止,下面的代码在鼠标悬停时更改了文本和背景的颜色。但是,图标只会在光标悬停在 img 上时发生变化。当我将鼠标悬停在框中的任何位置时,我希望 img 和文本都发生变化。

如果可能的话,我们将不胜感激您的帮助!

我使用的代码:

HTML
<body>
<a href="#" class='menu-button'>
<img class="menu-icon" src='https://svgshare.com/i/jLR.svg'> Button</a>
</body>

CSS
.menu-button {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 2em;
height: 21px;
color: #72767A;
text-decoration: none;
}

.menu-button {
transition: 0.2s linear;
}

.menu-button:hover {
background-color: #ffc047;
border-radius: 8px;
cursor: pointer;
}

a.menu-button:hover {
color: #fff;
}

img.menu-icon:hover {
filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}

https://codepen.io/harrync92/pen/dymWqoB?editors=1100 [Codepen链接给你玩]

最佳答案

像这样使内部元素受父元素的 :hover 影响:

(我也给滤镜添加了过渡效果,总体上改善了颜色)

body {
background: #111;
}

.menu-button {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
margin: 20%;
padding: 2em;
height: 21px;
gap: 20px;
color: white;
text-decoration: none;
border: 2px solid white;
font-size: 20px;
}

img {
width: 40px;
height: 40px;
}

.menu-button {
transition: 0.2s linear;
}

.menu-button:hover {
background-color: #ffc047;
border-radius: 8px;
cursor: pointer;
color: black;
}

img.menu-icon {
transition: 0.2s linear;
filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}

.menu-button:hover img.menu-icon {
filter: none;
}
<body>
<a href="#" class='menu-button'>
<img class="menu-icon" src='https://svgshare.com/i/jLR.svg'> Button</a>
</body>

关于html - 如何在将鼠标悬停在按钮上时更改按钮内文本和图标的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73064709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com