2013-05-20 3 views
1

이 예제에서는 div 빨강을 움직이면 오른쪽으로 이상한 움직임을 만듭니다. 나는 파이어 폭스에서만 문제가 발생한다고 생각한다. div가 맞다. 스크롤 막대와 위치가 고정되어있다.Firefox, 위치 고정, 스크롤 막대

(나는 절대 위치를 사용하는 경우 나는 움직임을 해결한다. 그러나 사용자가 스크롤하는 경우, 사업부의 이동, 그리고 오른쪽 하단에 "고정"한다)

  • 오른쪽
    • 파이어 폭스
    • 스크롤 바
    • 고정 된 위치

    여기를 확인하시기 바랍니다 : http://jsfiddle.net/LhAEh/1/

    HTML :

    <div id="blue"></div> 
    <div id="red"></div> 
    

    CSS :

    #red { 
        position: fixed; /* fixed genera el problema */ 
        bottom: 20px; right:25px; 
        width:80px; height:50px; 
        cursor:pointer; 
        background:red; 
    } 
    
    #blue { 
        margin:0 auto; 
        width:80px; height:500px; 
        background:blue; 
    } 
    

    JQUERY :

    $(function(){ 
        $("#red").click(function() { 
         $("#red").animate({bottom:'-80px'},1000); 
        }); 
    }) 
    

    Original position After click

    • 이미지 1 : 원본 위치
    • 이미지 2 : 누군가가 클릭하면 오른쪽으로 이동 한 다음 아래로 이동합니다. 그것은 단지
    +0

    문제의 스크린 샷을 제공 할 수 있습니까? 또한 어떻게 동작하도록 할 수 있습니까? FireFox, IE10 및 크롬을 검사했지만 세 가지 버전 모두 Div 빨강과 동일한 동작을하고있어 클릭시 떨어졌습니다. – Nitesh

    +0

    빨간색을 클릭하면 오른쪽으로 이동 한 다음 아래로 이동합니다. (나는 그것이 스크롤 바를 보상한다고 생각한다.) 오른쪽으로 이동하지 않고 내려야한다. Firefox 20.0에서 확인합니다. (나는 마지막 하나라고 생각한다). 이제는 구식의 Firefox 3.6에서 그런 일은 일어나지 않는다는 것을 알았습니다. – Nrc

    답변

    2

    , 절대에 고정 상자의 위치를 ​​변경하고 다른 고정 위치 DIV 안에 넣어 : 또한 CSS fixed position movement under scrollbar in Firefox

    에 열려있는 버그가 있습니다 이 문제는 CSS position fixed no longer factors in scrollbar after hover

    업데이트 : 더 나은 해결 방법이 발견되었습니다. widt 대신 min-width를 사용하십시오. h 고정 된 상자 : https://stackoverflow.com/a/15705522/980692

    +1

    두 가지 해결책 모두 매우 좋습니다. 왜 최소 너비인지 이해할 수 없지만 작동합니다!. 고맙습니다. – Nrc

    +0

    @Nrc 감사합니다. http://memedad.com/meme/31211 – benkol

    1

    http://jsfiddle.net/CGkEU/2/

    이 jsfiddle

    .background{ 
        position:static; 
    } 
    
    +0

    이것은 작동하는 것 같습니다 @ Nrc – shammelburg

    +0

    그것은 작동합니다! 그러나 나는 왜 그런지 이해하지 못한다. 설명해 주시겠습니까? – Nrc

    +0

    div가 HTML 페이지에 있으므로 컨테이너 자체가 아니라 배경 "컨테이너"입니다. 페이지가 크기를 변경하면 div를 푸시하는 세로 스크롤 막대가 나타납니다. 정적 컨테이너에서 스크롤 막대는 div에 영향을주지 않습니다. 상대 컨테이너가 스크롤 막대 – shammelburg

    0

    이 당신이 찾고있는 무엇인가를하려고 아래로 이동해야합니까?

    Demo 해결 방법이 발견 된 것 같습니다

    .background{ 
        position:relative; 
    } 
    
    $(function(){  
        $("#red").click(function() { 
         $("#red").animate({bottom:'15px'},1000); 
         $("#red").css({"position":"absolute","right":"15px"}); 
        });  
    }) 
    
    +0

    데모에서 빨간색 점프. 나는 위치 절대 값이 고정 된 것보다 다른 위치에 빨간색을 넣었다고 생각한다. 그들은 이에 해당하지 않습니다 – Nrc

    +0

    이것을 확인하십시오 .. http://jsfiddle.net/CGkEU/3/ –

    +0

    화면을 #blue보다 작게 만들면 점프하는 것을 볼 수 있습니다 – Nrc