我有一页内容丰富的网页。当我打开它时,我有一个垂直滚动条。
我有一个小的div,应该坚持在右边和中心(垂直)。
当用户滚动时,它应该处于相同的位置,千万不要一直移动到中心位置。
这个工作在铬,f,但我有问题的ie8。
Chrome:div坚持,因为它应该在浏览器的视口垂直中心。
IE8:div保持在右边,但它使用全文内容的垂直中心,而只是一个视口。因此,如果内容是height=4000px中的ie8,它的中心是2000像素,所以用户必须滚动才能看到它。
我在这里做错了什么?
position:fixed;
_position:absolute;
top: 50%;
right: 0;
发布于 2014-01-21 13:03:21
您可以使用javascript来完成这个任务。下面是一个使用jQuery的示例,我将尝试:
var calculatedTop = $(window).innerHeight() / 2;
$('#YourDiv').css('top', calculatedTop);
编辑:,我对此做了一些扩展,以便在用户滚动时重新计算最高位置。希望这有助于解决您的IE8问题。
$(document).ready(function(){
var reposition = function() {
var calculatedTop = $(window).innerHeight() / 2;
calculatedTop += $(document).scrollTop();
$('#YourDiv').css('top', calculatedTop);
}
// call reposition immediately on initial load
reposition();
// attach to scroll event
$(window).on('scroll', function(){
reposition();
});
});
https://stackoverflow.com/questions/21258578
复制相似问题