Css 相对父级中的固定位置子级渲染与Chrome中的父级无关

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%; } #子元素{ 背景颜

假设我在我的网站上有一个相对位置的元素。在这个元素里面,我想要一个位置固定的元素

问题:

在所有浏览器(FF、IE、Opera)和早期的Chrome浏览器(在Chrome版本26.0.1410上测试)中,固定元素的位置与父元素的相对位置相关。在当前的Chrome浏览器(在Chrome版本32.0.1700上测试)中,此固定子对象将呈现给父对象,而不考虑其父对象的相对位置

父元素{ 边框:1px纯红; 高度:100px; 位置:相对位置; 顶部:50px; 宽度:90%; } #子元素{ 背景颜色:黄色; 高度:100px; 宽度:100px; 位置:固定; }
在我看来,您想要的是“绝对”位置值,而不是“固定”值,不确定为什么/何时会发生更改,但根据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;
 }