簡體   English   中英

應用位置固定時,元素會發生變化

[英]Element changes place when position fixed applied

當我應用position: fixed用Javascript position: fixed我的元素向下移動幾個像素並固定在另一個位置,一些像素向下,而不是只停留在原處。

為什么是這樣?

// html
<div id="container">
    <div id="myDiv"></div>
</div>

// CSS
#container {
    height: 2000px;
}
#myDiv {
    margin-top: 50px;
    width: 100px;
    height: 50px;
    background-color: #88a;
}

// Javascript
myDiv.style.position = 'fixed';

我至少在Chrome和FF中發現了這種行為。

http://jsfiddle.net/bSM8h/

當你申請position:fixed ,也可以:

pin.addEventListener('click', function () {
    myDiv.style.position = 'fixed';
    myDiv.style.top = '50px';
    myDiv.style.marginTop = '0';
});

http://jsfiddle.net/bSM8h/2/

*編輯*

默認情況下瀏覽器執行body{padding:5px;}這就是為什么一個好主意是html5boilerplate你的css的

*結束編輯*

出於某種原因(見此處的解釋) ,margin-top也用它推了容器。 一旦應用position:fixed ,容器彈回到頁面頂部(丟失邊距)並且位於距頁面頂部5px處。

position:fixed之前position:fixed

在此輸入圖像描述

position:fixedposition:fixed

在此輸入圖像描述

只需將其添加到您的CSS:

body {
    margin:0;
    padding:0;
}

這將阻止瀏覽器默認添加的額外填充。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM