Css 相对父级中的固定位置子级渲染与Chrome中的父级无关
假设我在我的网站上有一个相对位置的元素。在这个元素里面,我想要一个位置固定的元素 问题: 在所有浏览器(FF、IE、Opera)和早期的Chrome浏览器(在Chrome版本26.0.1410上测试)中,固定元素的位置与父元素的相对位置相关。在当前的Chrome浏览器(在Chrome版本32.0.1700上测试)中,此固定子对象将呈现给父对象,而不考虑其父对象的相对位置 父元素{ 边框:1px纯红; 高度:100px; 位置:相对位置; 顶部:50px; 宽度:90%; } #子元素{ 背景颜色:黄色; 高度:100px; 宽度:100px; 位置:固定; }Css 相对父级中的固定位置子级渲染与Chrome中的父级无关,css,css-position,Css,Css Position,假设我在我的网站上有一个相对位置的元素。在这个元素里面,我想要一个位置固定的元素 问题: 在所有浏览器(FF、IE、Opera)和早期的Chrome浏览器(在Chrome版本26.0.1410上测试)中,固定元素的位置与父元素的相对位置相关。在当前的Chrome浏览器(在Chrome版本32.0.1700上测试)中,此固定子对象将呈现给父对象,而不考虑其父对象的相对位置 父元素{ 边框:1px纯红; 高度:100px; 位置:相对位置; 顶部:50px; 宽度:90%; } #子元素{ 背景颜
在我看来,您想要的是“绝对”位置值,而不是“固定”值,不确定为什么/何时会发生更改,但根据w3c-固定:元素相对于浏览器窗口定位
“在所有浏览器(FF、IE、Opera)和早期的chrome浏览器(在chrome版本26.0.1410上测试)中,固定元素的位置与父浏览器的相对位置相关。”——这意味着所有这些浏览器都会出错,因为根据规范,固定位置元素的包含块始终是视口。显然,固定元素从其父元素继承其起始位置。从那里,它确实是相对于浏览器窗口定位的。通常是这样的,我经常用它来定位固定元素。谢谢你的提示。为了正确定位固定元素,我应该直接把它放在body元素中。
#parent-element{
border: 1px solid red;
height: 100px;
position: relative;
top: 50px;
width: 90%;
}
#child-element{
background-color: yellow;
height: 100px;
width: 100px;
position: absolute;
}