2017-05-31 123 views
0

所以我有一個奇怪的邊緣情況,其中一個遺留文檔有一些元素絕對定位在相對定位的div內。這些元素對於left css屬性具有負值。滾動到相對定位的div內的絕對定位的元素

.container { 
    position: relative; 
    width: 100%; 
    height: 100%; 
} 

.element { 
    width: 100px; 
    height: 100px; 
    background: red; 
} 

現在兩個問題:

  1. 是否有可能建立container滾動並顯示負定位元素?

  2. 如果不是,我應該如何解決消極的因素,以便所有其餘的元素相應地轉移?

下面是一個例子JSBin:http://jsbin.com/xolifotiku/edit?html,css,output

+0

你能解釋一下你想達到什麼嗎?可能是一些虛擬的佈局圖片。 – maximelian1986

+0

@ maximelian1986我已經添加了jsbin示例...希望這會有所幫助。 – Obaid

回答

0

你的意思是這樣嗎?

$(document).ready(function() { 
 
    $('html, body').animate({ 
 
    scrollTop: $('.element').offset().top 
 
    }, 2000); 
 
});
body { 
 
    margin: 0px; 
 
    padding: 0px; 
 
    height: 500px; 
 
} 
 
.container { 
 
    position: relative; 
 
    width: 100%; 
 
    height: 100%; 
 
    margin: 50px 20px 20px 20px; 
 
} 
 
.element { 
 
    position: absolute; 
 
    width: 100px; 
 
    height: 100px; 
 
    top: -20px; 
 
    left: 0px; 
 
    background: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="container"> 
 
    <div class="element"></div> 
 
</div>

0

這更接近我處理的場景...

$(document).ready(function() { 
 
    $('html, body').animate({ 
 
    scrollLeft: $('.element').offset().left 
 
    }, 2000); 
 
});
body { 
 
    margin: 0px; 
 
    padding: 0px; 
 
    height: 500px; 
 
} 
 
.container { 
 
    position: relative; 
 
    width: 100%; 
 
    height: 100%; 
 
    margin: 50px 20px 20px 20px; 
 
} 
 
.element { 
 
    position: absolute; 
 
    width: 100px; 
 
    height: 100px; 
 
    top: -20px; 
 
    left: -100px; 
 
    background: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="container"> 
 
    <div class="element"></div> 
 
</div>

$(document).ready(function() { 
 
    $('html, body').animate({ 
 
    scrollTop: $('.element').offset().top 
 
    }, 2000); 
 
});
body { 
 
    margin: 0px; 
 
    padding: 0px; 
 
    height: 500px; 
 
} 
 
.container { 
 
    position: relative; 
 
    width: 100%; 
 
    height: 100%; 
 
    margin: 50px 20px 20px 20px; 
 
} 
 
.element { 
 
    position: absolute; 
 
    width: 100px; 
 
    height: 100px; 
 
    top: -20px; 
 
    left: 0px; 
 
    background: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="container"> 
 
    <div class="element"></div> 
 
</div>