【发布时间】:2014-11-07 14:30:28
【问题描述】:
在过去的几个小时里,我一直在试图弄清楚子元素是如何定位在其父元素而不是屏幕端口上的,即使它被定位为“固定”。非常幸运的是,我偶然发现了提到 -webkit-transform: translate3d(0, 0, 0) 在父级上可能会使事情出错。我正在使用bootstrap 框架,因此他们确实将此属性放在了父元素之一所具有的.navbar-fixed-top 类上。一旦我删除它,孩子就开始重新定位视口。所以我有两个问题:
- 为什么
-webkit-transform: translate3d(0, 0, 0)会做这些讨厌的事情? - 为什么引导人员将此属性用于
.navbar-fixed-top类?
更新
嗯,看来我已经找到了第二个问题的答案。这是提交信息:
将 translate3d 应用到 modal、navbar-fixed 和 affix 浏览器 重绘
第二个问题的答案如下:
除了 none 之外的任何计算值都会导致转换 创建堆叠上下文和包含块。物体 充当固定定位后代的包含块。
【问题讨论】:
-
简短的回答是堆叠上下文 - 谷歌,你会得到一些好的(长)解释
标签: html css twitter-bootstrap css-transforms