4

我有一个 div 位于页面的右上角,如下所示:

position: fixed; top: 10px; right: 25px;

这适用于除 IE10 Mobile 之外的所有浏览器和设备,在这里它的行为就像在任何其他浏览器上的绝对位置一样。

在下面的屏幕截图中,您可以看到它在大多数浏览器上的显示方式: 所需的功能

以下屏幕截图显示了 position: absolute 行为。(与 IE10 Mobile 相同)

IE 移动行为

4

2 回答 2

1

所以显然这是微软仍未解决的错误。虽然有一个解决这个问题的方法(不是一个漂亮的)

首先检测IE10 Mobile浏览器(有几种方法可以做到这一点,所以我不会发布这个位)。然后对于这个浏览器,应用这部分 javascript:

$(window).scroll(function() {
  var scrollTop = $(window).scrollTop();
  var allFixed = $('*').filter(function() {
     return $(this).css('position') == 'fixed';
  });
  allFixed.each(function() {
     $(this).detach();
     $('body').append($(this));
     var top = parseInt($(this).css('top'), 10) + scrollTop;
     $(this).css({ 'top': top+'px' });
    });
});
于 2014-05-02T09:01:52.913 回答
0

可能您缺少“高度”声明。请看这个How to make a fixed div in IE10 Mobile? . 希望这有帮助。

于 2014-04-10T10:04:47.230 回答