【问题标题】:The text and icon should change the color on hover at the same time文本和图标应在悬停时同时更改颜色
【发布时间】:2017-03-18 18:17:39
【问题描述】:

这是我想要达到的目标:

  1. 按钮应连接到链接;
  2. 文本和图标都应同时悬停在金色中(现在它们会分别更改颜色,即,如果将鼠标悬停在图标上,则不会应用于文本,反之亦然)。
  3. 图标的字体大小应大于文本。

这是我的 HTML 和 CSS 的链接:http://www.cssdesk.com/pkVpY

非常感谢!

<div>
<i class="fa fa-file-text-o events_icon" aria-hidden="true"></i>
<a class="events_btn" href="http://www.google.org/" 
target="_blank" 
style="color: white; text-decoration: none;">
VIEW ALL EVENTS
</a>
</div>

【问题讨论】:

  • 你应该说明你遇到的问题!
  • 我做到了!文本和图标都应该同时悬停在金色中(现在它们分别更改颜色,即,如果您将鼠标悬停在图标上,这不适用于文本,反之亦然)。

标签: html css hover href font-awesome


【解决方案1】:

假设您希望悬停在包含 两个直接元素(图标 + 文本)的 div 上,并且悬停具有为这些项目着色 在特定的颜色中: 选择器:

  • .text-iconed – 包含元素的 div
  • :hover – 具有悬停效果的伪类
  • > – 这个 V 形标志选择当前元素(== .text-iconed div)下的直接元素(同一级别)
  • * – all == 选择所有元素
    含义:

“在这个 .text-iconed div 上悬停,获取所有直接子元素并为它们着色”

<!-- HTML -->
<div class = "text-iconed">

    <i></i>
    <a>VIEW ALL EVENTS</a>

</div>



// CSS
.text-iconed:hover > * {
   color: gold   //color property is applied to svg too.
}

【讨论】:

    【解决方案2】:

    像这样改变Html,让图标和文字都可以点击。你现在拥有它的方式,文本是可点击的,但人们无法点击图标。

    布局应该是这样的:

    <a class="some-class">
        <i></i> <!-- the icon -->
        <span></span> <!-- the text -->
    </a>
    

    现在请记住,&lt;div&gt; 默认为 display:block&lt;a&gt; 默认为 display: inline。您需要在 &lt;a&gt; 上设置 CSS 规则以使其成为 display:block

    您可以使用直接子选择器来影响所有子选择器。

    而不是.events_icon:hover {}

    使用.some-class:hover&gt;i{}

    文本使用.some-class:hover&gt;span{}

    【讨论】:

    • 这不完全正确, 标签将用于文本的斜体样式,即它的内容将充当文本而不是图标或图像。所以这种情况下的跨度是不必要的。只要悬停样式在锚标签“some-class”上
    • 工作就像一个魅力!非常感谢,乔治!
    【解决方案3】:

    在锚标记内添加您的图标元素。

    【讨论】:

    • 8 个单词通常太短,无法提供一个好的 SO 答案。 codepen 有帮助,但最好在此处的帖子中包含相关代码。
    • 你说得对,我的回答应该更具体。在我的辩护中,我最近开始为 SO 带来解决方案,所以我还在学习 :)
    • 当悬停图标而不是工作但悬停在文本上而不是图标颜色不变
    猜你喜欢
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 2023-04-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多