【问题标题】:setting opacity with css :hover doesn't work for child element使用 css 设置不透明度:hover 不适用于子元素
【发布时间】:2013-05-31 12:22:34
【问题描述】:

我试图在鼠标悬停在 div 上方时显示链接,但我无法让它工作。

HTML:

<div class="rendezvous" style="position: relative">
    <img src="http://placehold.it/50x50" />
    <div class="remover" style="width: 32px; position: absolute; top: 0px; left: 15px; opacity: 0;">
        <a href="#">Link</a>
    </div> 
</div>

CSS:

.rendezvous:hover .remover {
    opacity: 0.5;
}

JSFiddle:http://jsfiddle.net/6uLTr/

奇怪的是css选择器可以工作,例如我可以通过设置边框来测试它。但是当我设置不透明度时,同样的方法不起作用。我在这里做错了什么?

【问题讨论】:

    标签: html css opacity


    【解决方案1】:

    style 属性中的规则比作者样式表中定义的规则具有更高的优先级。您可以使用opacity: 0.5 !important(不是最好的主意),也可以在样式表中定义其他规则。

    http://jsfiddle.net/6uLTr/1/

    【讨论】:

    • +1 但你能解释一下为什么 !important 不是一个好主意吗?
    • !important 对于不太理想的代码来说确实是一个创可贴解决方案。它很好用,但更好的选择是通过删除导致问题的内联样式直接解决问题。如果您开始在您的网站上乱扔 !importants,它很快就会变得一团糟。
    • @EdmundJoseph 基本上就像 ralph.m 所说的那样,它变得一团糟。当您需要覆盖 !important 规则时会发生什么?那么当您需要覆盖该规则时会发生什么?
    猜你喜欢
    • 2017-05-05
    • 2012-01-26
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    • 2018-10-12
    • 2014-04-25
    • 2020-06-25
    • 1970-01-01
    相关资源
    最近更新 更多