Chr*_*Noe 246
以下是各种答案中经过验证的信息汇编.
这些CSS属性中的每一个实际上都是唯一的.除了渲染元素不可见外,它们还具有以下附加效果:
collapse events taborder
opacity: 0 No Yes Yes
visibility: hidden No No No
visibility: collapse * No No
display: none Yes No No
* Yes inside a table element, otherwise No.
Nis*_*ant 11
不,不是的.有一个很大的不同.它们是相似的,因为如果隐藏可见性或不透明度为0,您可以透视该元素
不透明度:0 :您无法单击其后面的元素.
visibility:hidden:你可以点击它背后的元素.
visibility和之间有很多区别opacity。大多数答案都提到了一些差异,但这里有一个完整的列表。
不透明度不会继承,而可见性会
opacity 是可动画的,而visibility 不是。
(好吧,从技术上讲是这样,但根本没有为“37% 折叠和 63% 隐藏”定义的行为,因此您可以将其视为不可动画。)
使用不透明度,您不能使子元素比其父元素更不透明。EG 如果你有 color:black 和 opacity:0.5 的 ap,你不能让它的任何一个孩子全黑。不透明度的有效值介于 0 和 1 之间,本示例需要 2!
因此,根据Martin 的评论,您可以在不可见的父级(可见性:隐藏)中有一个可见的子级(可见性:可见)。这在不透明的情况下是不可能的;如果父级具有不透明度:0;它的孩子总是隐形的。
Kornel 的回答提到小于 1 的不透明度值会创建自己的堆叠上下文;可见性没有价值。
(我希望我能想出一种方法来证明这一点,但我想不出任何方法来显示可见性:隐藏元素的堆叠上下文。)
根据philnash 的回答,屏幕阅读器仍会读取 opacity:0 的元素,而 visible:hidden 元素则不会。
根据Chris Noe 的回答,可见性有更多选项(例如折叠),并且不可见的元素不再响应点击并且不能被标签化。
(使其成为社区维基,因为从现有答案中借用否则将不公平。)
| 归档时间: |
|
| 查看次数: |
55104 次 |
| 最近记录: |