比方說,我的網站上有一個元素與位置相關。並且在這個元素中,我想要一個固定位置的其他元素。相對父項內的固定位置子項與鉻中父項無關
問題:
在所有的瀏覽器(FF,IE,歌劇)和較早鉻瀏覽器的固定元件(在Chrome版本26.0.1410測試)位於相關於母體的相對位置。在當前的chrome瀏覽器(在Chrome版本32.0.1700上測試過),這個固定的孩子被呈現給父母,但沒有考慮父母的相對位置。
的CSS
#parent-element{
border: 1px solid red;
height: 100px;
position: relative;
top: 50px;
width: 90%;
}
#child-element{
background-color: yellow;
height: 100px;
width: 100px;
position: fixed;
}
的HTML:
<div id="parent-element">
<div id="child-element"></div>
</div>
我目前的解決方案:
目前最好的解決辦法,我發現是定位父不與相對而是w絕對。在這種情況下,父級需要一個容器元素來引用其絕對位置。
的CSS:
#parent-container{
position: relative;
height: 100px;
}
#parent-element{
border: 1px solid red;
height: 100px;
position: absolute;
top: 50px;
width: 90%;
}
#child-element{
background-color: yellow;
height: 100px;
width: 100px;
position: fixed;
}
的HTML:
<div id="parent-container">
<div id="parent-element">
<div id="child-element"></div>
</div>
</div>
JS Fiddle, my current solution
我不知道,如果這個解決方案是在所有情況下最好的,如果沒有額外的HTML的解決方案能夠。所以,如果你有其他解決方案或建議我感興趣。
出於好奇,有沒有人知道爲什麼鉻做出這種改變?
- 這是我的第一個問題,所以如果有任何關於這個問題/評論,請讓我知道。
_「在所有的瀏覽器(FF,IE,歌劇)和較早鉻瀏覽器的固定元件(在Chrome版本26.0.1410測試)定位相關的相對位置父 - 「。這意味着_all_這些瀏覽器會這樣做_wrong_,因爲根據規範,固定定位元素的包含塊是_always_視口。 – CBroe