You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导航栏导致页面右侧出现额外空白,调整配置破坏吸顶导航功能怎么办

页面右侧出现留白缝隙的根因

  • 未全局配置盒模型规则,元素的padding、border会额外增加总宽度,导致部分元素宽度超出视口,撑出横向滚动空间,产生右侧留白。
  • 代码中的.row类如果是来自Bootstrap等前端框架,默认带有左右-15px的负边距,没有放在带对应15px左右内边距的.container/.container-fluid容器内时,会横向撑出父容器,引发溢出留白。

设置overflow或max-width:100%后吸顶导航失效的原因

你当前的滚动事件绑定在document上,当给html/body标签设置overflow-x: hidden、且html/body同时配置了height: 100%时,滚动容器会从默认的document变为body,绑定在document上的滚动事件无法被触发,自然无法切换吸顶样式,导致功能失效。


解决代码

1. 全局样式重置,解决宽度溢出问题

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html, body {
  overflow-x: hidden;
  max-width: 100%;
}

2. 修改滚动监听对象,兼容滚动容器变更

$(function () {
  // 把监听对象换成window,不受滚动容器变更影响
  $(window).scroll(function () {
    var $nav = $(".nav");
    $nav.toggleClass('scrolled', $(this).scrollTop() > $nav.height());
  });
});

3. 若使用Bootstrap类,给.row补外层容器

<header>
  <div class="container-fluid">
    <div class="row">
      <!-- 保持原有导航代码不变 -->
      <div class="navigation">
        <nav>
          <ul class="nav">
            <li><a class="smoothscroll"  href="#home" title="">HOME</a></li>
            <li><a class="smoothscroll"  href="#beats" title="">BEATS</a></li>
            <li><a class="smoothscroll"  href="#licenses" title="">LICENSES</a></li>
            <li><a class="smoothscroll"  href="#videos" title="">VIDEOS</a></li>
            <li><a class="smoothscroll"  href="#services" title="">SERVICES</a></li>
            <li><a class="smoothscroll"  href="#contact" title="">CONTACT</a></li>
          </ul>
        </nav>
      </div>
    </div>
  </div>
</header>

内容的提问来源于stack exchange,提问作者mazz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 16:57:03