哪些CSS属性创建堆叠上下文?
我正在研究和测试创建堆叠上下文的属性 我做了几次测试,发现除了哪些CSS属性创建堆叠上下文?,css,z-index,Css,Z Index,我正在研究和测试创建堆叠上下文的属性 我做了几次测试,发现除了z-index,当然,以下属性还创建了堆叠上下文: 转换而非无 不透明度而非1 和透视图 是否有其他属性应用堆叠上下文?以下一个或多个场景将导致元素为其子体建立自己的堆叠上下文1: 根元素始终保存根堆栈上下文。这就是为什么您可以开始排列元素而不必首先定位根元素。任何尚未参与本地堆栈上下文(由以下任何其他场景生成)的元素都将参与根堆栈上下文 在定位的元件上设置为除自动以外的任何设置(即,具有位置的元件不是静态) 注意,对于具有
z-index
,当然,以下属性还创建了堆叠上下文:
而非转换
李>无
而非不透明度
李>1
- 和透视图
是否有其他属性应用堆叠上下文?以下一个或多个场景将导致元素为其子体建立自己的堆叠上下文1:
- 根元素始终保存根堆栈上下文。这就是为什么您可以开始排列元素而不必首先定位根元素。任何尚未参与本地堆栈上下文(由以下任何其他场景生成)的元素都将参与根堆栈上下文
- 在定位的元件上设置为除
以外的任何设置(即,具有自动
的元件不是位置
)静态
- 注意,对于具有
的元素,此行为将被更改,这样它们将始终建立堆叠上下文,而不管其position:fixed
值如何。一些浏览器已经开始采用这种行为,但是这种变化在CSS2.1或新版本中都没有反映出来,因此现在依赖这种行为可能并不明智 中探讨了行为的这种变化,这反过来又链接到和z-index
- 另一个例外是a和a。设置
将始终导致它建立堆叠上下文,即使它未定位z-index
- 注意,对于具有
- 设置为小于
的任何值1
- 要素:
- 设置为除
之外的任何其他设置none
- 设置为
preserve-3d
- 设置为除
之外的任何其他设置none
- 设置为除
- 在
不是内容
的元素上创建:设置为除正常
以外的任何内容无
- 在中,每个都建立自己的堆栈上下文
- 在中,设置为除
之外的任何其他值none
- 在中,设置为
并设置为不同于隔离
正常
- 在中,设置为其任何非初始值都将创建堆叠上下文的属性
- 在中,使用非
的值设置none
/剪辑路径
掩码
1这不包括伪堆叠上下文,这是一个非正式术语,仅指定位,但实际参与其父堆叠上下文。
位置:固定的
可以在色度(e | ium)上创建堆叠上下文!在chrome://flags
@minitech Yes,z-index
需要一个非静态的位置来创建堆叠上下文。我相信OP知道这一点。或者是否意味着position:fixed
在不使用z-index
的情况下自行创建堆叠上下文?@fabriciomatté:是的,该标志表示所有固定位置元素都创建堆叠上下文。我不知道这是否是一个错误修复。@minitech哦,有趣<代码>=]将进行检查。@minitech我不知道固定位置的chrome标志,谢谢,它不是chrome 22中的标志?我想这就是它被移动的原因。@minitech从我所读到的内容来看,它看起来像是引入了标志,以便您可以禁用Chrome 22中引入的新的位置:固定的行为,用于背部兼容。@minitech也来自链接文章:要测试页面是否要更改,请转到Chrome的关于:flags
并打开/关闭“固定位置元素创建堆叠上下文”。如果两种情况下的布局行为相同,则设置为。如果没有,请确保启用该标志后,您看起来可以接受,因为这将是Chrome 22的默认设置。“@minitech:我修改了答案,并根据您删除的答案在伪堆叠上下文上添加了一个小脚注,尽管我的答案实际上没有包括它们,因为它们可能会让人困惑。-webkit overflow scrolling:touch
。