css样式 z index 会在啥情况下无效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css样式 z index 会在啥情况下无效相关的知识,希望对你有一定的参考价值。

  这位网友你好,如果元素不设置position属性,那么z-index属性就会无效的。 参考技术A z-index需要在同时设置position的时候
相反 没有设置定位属性即position的时候会无效
希望能帮到你
参考技术B 您好,1.对于同级元素, 默认 (或 position:static) 情况下文档流后面的元素会覆盖前面的.
2.对于同级元素, position 不为 static 且 z-index 存在的情况下 z-index 大的元素会覆盖 z-index 小的元素, 即 z-index 越大优先级越高.
3.IE6/7 下 position 不为 static, 且 z-index 不存在时 z-index 为 0, 除此之外的浏览器 z-index 为 auto.
4.z-index 为 auto 的元素不参与层级关系的比较, 由向上遍历至此且 z-index 不为 auto 的元素来参与比较.
在上面 2 点结论的基础上, 我们引入定位树(非 W3C 官方词汇) 的概念来做层级的比较. 在定位树这个概念下, 浏览器在渲染 DOM 节点时, 除了生成 DOM 树之外, 还会根据 DOM 树中的定位元素 (position 不为 static) 生成定位树.
DOM 树 (左上), 定位树 (右下) 对比如下图 (其中边上有红色圆圈的表示该元素 position 不为 static).本回答被提问者采纳

ARC 会在啥条件下保留该对象?

【中文标题】ARC 会在啥条件下保留该对象?【英文标题】:Under what conditions will this object be retained by ARC?ARC 会在什么条件下保留该对象? 【发布时间】:2013-12-25 13:46:13 【问题描述】:

例如,如果我有几个这样连接的 IBOutlets:

@property (nonatomic, strong) IBOutlet NSTextField * textField; 
@property (nonatomic, strong) IBOutlet NSTextField * anotherOne;  
@property (nonatomic, strong) IBOutlet NSButton * button; 
/* And so on...*/

然后我将在 IB 中创建一个父视图并将其与父视图连接(也声明为强实例变量):

@property (nonatomic, strong) IBOutlet NSView * customView; 

我的问题是:如果我要这样做,ARC 是否会保留此自定义视图及其所有子视图:

NSArray * subviews = [customView subviews];
for (NSView * view in [subviews copy]) 
     [view removeFromSuperview]; /* Is view being retained? */

我相信将其设置为强属性会导致它被保留。 Apple 的文档说,如果您以后可能需要它们,您应该保留您调用 removeFromSuperview 的任何视图。如果在调用 removeFromSuperview 的过程中视图没有被保留,有人可以告诉我如何保留它吗?

谢谢。

更新:我最近了解到调用 addObject:someObj 会增加 someObj 的保留计数。因此,将其添加到数组将导致它被保留。将其添加到可变数组以增加保留计数是否存在任何泄漏,或者 ARC 会为我处理这些问题吗?

【问题讨论】:

请详细说明这与osx 有什么关系。这与osx 无关,因此请不要再次使用该标签重新标记。 【参考方案1】:

我不会在您的示例中看到泄漏。 您不需要为在 IB 中创建的对象定义强属性,因为 IB 会自动保留它们。但是,在使用 ARC 时,这应该不会产生影响,因为无论如何运行时都会为您清理。

如果我想保留视图元素,我也会将它们保存在数组中。 所以 NSMutableArray 会是你的朋友。

【讨论】:

所以我可以遍历子视图并将每个子视图添加到可变数组中?这会留住他们吗? 是的。这将起作用。正如您自己编写的那样,将对象添加到数组、集合、列表......会增加保留计数。

以上是关于css样式 z index 会在啥情况下无效的主要内容,如果未能解决你的问题,请参考以下文章

CSS的基本选择器有哪几种?分别适合在啥情况下使用?

设置z-index属性无效的css定位属性设置是

在css中为啥将z-index设置为-1后,超链接无效了,请问该怎么办?

CSS样式中如何将下面的元素覆盖上面的元素?

css_浮层禁止击穿(防止可点击浮层下面的元素)

css菜鸟:为啥当Position为absolute时,z-index就无效了呢?