当我将html和body身高设置为100%时,Smooth Scroll不起作用

时间:2015-07-08 21:07:18

标签: javascript jquery html css

html, body {
   height: 100%;
   min-height: 100%;
   position: relative;
}

#home {
   height: 100%;
   background: url("../img/test.jpg") center no-repeat;
   background-size: cover;
}

我使用CSS-Tricks的Smooth Scroll JavaScript

$(function() {
  $('a[href*=#]:not([href=#])').click(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
      var target = $(this.hash);
      target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
      if (target.length) {
        $('html,body').animate({
          scrollTop: target.offset().top
        }, 1000);
        return false;
      }
    }
  });
});

页面的第一部分是一个完整的页面图像,所以我需要html和body的高度为100%才能将#home高度设置为100%,但出于某种原因,当我这样做时平滑滚动效果不起作用,当我移除高度时:100%来自html和body它确实有效。

有同样问题的人吗?

2 个答案:

答案 0 :(得分:2)

使用 min-height:100%而不是身高:100%

答案 1 :(得分:0)