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

滚动时将sticky粘性导航栏border-radius修改为0的实现方案

实现方案

1. 先补充CSS样式

你只需要在现有CSS的基础上新增一个滚动状态的类,还可以加过渡效果让切换更顺滑:

.top {
  /* 你原来的.top样式保留不动 */
  /* 新增过渡属性,让圆角变化更自然,不需要可以删掉 */
  transition: border-radius 0.2s linear;
}

/* 新增滚动后的样式类 */
.top.scrolled {
  border-radius: 0 0 0 0;
}

2. 添加极简JS代码

把下面这段原生JS代码放在你HTML文件的</body>标签之前即可,不需要额外配置、也不需要引入第三方库:

// 监听页面滚动事件
window.addEventListener('scroll', () => {
  const navBar = document.querySelector('.top');
  // 页面滚动距离大于1px时切换样式,回到顶部自动恢复
  window.scrollY > 1 ? navBar.classList.add('scrolled') : navBar.classList.remove('scrolled');
});

效果说明

修改完成后刷新页面,滚动页面时导航栏的圆角会自动从35px 35px 0 0切换为0,滚动回页面顶部时会自动恢复初始圆角,过渡动画可以根据自己的喜好调整CSS里transition的参数。如果你后续把滚动容器改成了board内部滚动,只需要把代码里的window替换成你绑定滚动的容器元素即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:54:03