parent 的不透明度不适用于 child 元素
parent's opacity not working on child elements
我到处都找遍了,找不到问题所在。我在 parent 元素上设置了不透明度,但不透明度似乎不适用于 child 元素。
用谷歌搜索这个问题只会出现 "How to apply an opacity without affecting a child element " 这样的结果。但在我的例子中,当我需要 child 元素受到 parent 的不透明度值影响时,"not" 元素会受到影响。
示例代码如下:
<span style="opacity: 0.5">
<div>hello</div>
</span>
啊,看来我终于明白了...
父元素是一个 span 标签,将其更改为 div 标签并且不透明度开始按预期工作.这是在 chrome.
只是把它放在这里以防有人犯同样的错误。
问题是你把一个块元素(比如div
)放在行内元素(比如span
)里面,这从一开始就是错误的。
如果你把一个内联元素(比如button
)放在一个内联元素(比如span
)里面就可以了。
span {
opacity: 0;
}
<span>
<button>Inline Element, works!</button>
</span>
此外,您不必将 span
替换为 div
,只需将 span
设置为 display: inline-block
。
span {
opacity: 0;
display: inline-block;
}
<span>
<div>Block Element, But parent span too. works!</div>
</span>
我到处都找遍了,找不到问题所在。我在 parent 元素上设置了不透明度,但不透明度似乎不适用于 child 元素。
用谷歌搜索这个问题只会出现 "How to apply an opacity without affecting a child element " 这样的结果。但在我的例子中,当我需要 child 元素受到 parent 的不透明度值影响时,"not" 元素会受到影响。
示例代码如下:
<span style="opacity: 0.5">
<div>hello</div>
</span>
啊,看来我终于明白了...
父元素是一个 span 标签,将其更改为 div 标签并且不透明度开始按预期工作.这是在 chrome.
只是把它放在这里以防有人犯同样的错误。
问题是你把一个块元素(比如div
)放在行内元素(比如span
)里面,这从一开始就是错误的。
如果你把一个内联元素(比如button
)放在一个内联元素(比如span
)里面就可以了。
span {
opacity: 0;
}
<span>
<button>Inline Element, works!</button>
</span>
此外,您不必将 span
替换为 div
,只需将 span
设置为 display: inline-block
。
span {
opacity: 0;
display: inline-block;
}
<span>
<div>Block Element, But parent span too. works!</div>
</span>