平滑滚动到锚点的问题

我目前正在开发网站,但遇到问题。
有几个div(项目)。当我滚动一点时,页面直接聚焦于整个div(高度为100vh)。这很完美。另一方面,当您单击指向锚点的按钮时,我尝试了几种方法(js,css,jquery)进行平滑滚动,但是它不起作用。经过几个小时的研究,我发现这两条线 overflow: scroll;scroll-behavior: smooth;彼此不兼容。当我删除第一个时,自动聚焦在div的整个高度上将不再起作用,但按钮的平滑滚动将正确起作用,反之亦然。
您知道如何“合并”这两种效果吗?
(希望您能理解我的问题,如果有任何问题要问我^^)

<body>
<div class="container">
  <div class="item" id="accueil">
    <nav> 
      <div class="logo" data-aos="fade-up">
        <img src="elements/illustrations/head.svg" height="100px" width="100px" alt="">
      </div>
      <ul class="nav-links" data-aos="fade-up">
        <li><a class="smoothScroll current" href="#accueil">Accueil</a></li>
        <li><a class="smoothScroll" href="#covid19">Covid-19</a></li>
        <li><a class="smoothScroll" href="#cyberharcelement">Cyberharcèlement</a></li>
        <li><a class="smoothScroll" href="#anticovid">Anti-Covid</a></li>
        <li><a class="smoothScroll" href="#galerie">Galerie Saint Germain</a></li>
      </ul>
    </nav>

    <div class="header">
      <section class="left">
        <div data-aos="fade-up" class="heading">
          <h1>Bonjour &#x1F44B; <br> je m'appelle <span id='jules'>Jules</span>, <br> </h1>
          <div class="typewriter">
            <h1>ravi de vous rencontrer</h1>
          </div>
        </div>
        <a class="button" class="smoothScroll" data-aos="zoom-in-right" href="#covid19">Découvrir</a>
      </section>

      <section class="right" data-aos="fade-left">
        <div class="illustration">
          <img src="elements/illustrations/illustration.svg" alt="">
        </div>
      </section>
    </div>

    

  </div>
  <div class="item" id="covid19">Covid-19</div>
  <div class="item" id="cyberharcelement">Cyberharcèlement</div>
  <div class="item" id="anticovid">Anti-Covid</div>
  <div class="item" id="galerie">Galerie Saint Germain</div>
</div>
html {
  scroll-behavior: smooth !important;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  font-family: var(--inter);
}

.container {
  max-height: 100vh;
  overflow: scroll;
  scroll-snap-type: y mandatory;
}

.item {
  color:black;
  /* background: #f5f5f5; */
  height: 100vh;
  scroll-snap-align: start;
}
Yudiz_Webdesign

您能检查下面的代码吗?希望它对您有用。您必须从中删除scroll-behaviorHTML并将溢出滚动行为赋予container

请参考此链接:https : //jsfiddle.net/yudizsolutions/wk3scpyr/2/

body {
  font-family: var(--inter);
}

.container {
  max-height: 100vh;
  overflow-y: scroll;
  scroll-behavior: smooth;
}

.item {
  color: black;
  /* background: #f5f5f5; */
  height: 100vh;
  scroll-snap-align: start;
}
<body>
  <div class="container">
    <div class="item" id="accueil">
      <nav>
        <div class="logo" data-aos="fade-up">
          <img src="elements/illustrations/head.svg" height="100px" width="100px" alt="">
        </div>
        <ul class="nav-links" data-aos="fade-up">
          <li><a class="smoothScroll current" href="#accueil">Accueil</a></li>
          <li><a class="smoothScroll" href="#covid19">Covid-19</a></li>
          <li><a class="smoothScroll" href="#cyberharcelement">Cyberharcèlement</a></li>
          <li><a class="smoothScroll" href="#anticovid">Anti-Covid</a></li>
          <li><a class="smoothScroll" href="#galerie">Galerie Saint Germain</a></li>
        </ul>
      </nav>

      <div class="header">
        <section class="left">
          <div data-aos="fade-up" class="heading">
            <h1>Bonjour &#x1F44B; <br> je m'appelle <span id='jules'>Jules</span>, <br> </h1>
            <div class="typewriter">
              <h1>ravi de vous rencontrer</h1>
            </div>
          </div>
          <a class="button" class="smoothScroll" data-aos="zoom-in-right" href="#covid19">Découvrir</a>
        </section>

        <section class="right" data-aos="fade-left">
          <div class="illustration">
            <img src="elements/illustrations/illustration.svg" alt="">
          </div>
        </section>
      </div>



    </div>
    <div class="item" id="covid19">Covid-19</div>
    <div class="item" id="cyberharcelement">Cyberharcèlement</div>
    <div class="item" id="anticovid">Anti-Covid</div>
    <div class="item" id="galerie">Galerie Saint Germain</div>
  </div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果用户5秒钟内没有滚动,如何平滑滚动到锚点?

来自分类Dev

滚动到锚点的开头

来自分类Dev

滚动到多个锚点

来自分类Dev

滚动到锚点的开头

来自分类Dev

锚点跳而不是平滑滚动

来自分类Dev

jQuery平滑滚动锚点导航

来自分类Dev

QTextedit设置锚点并滚动到它

来自分类Dev

使用js滚动到锚点

来自分类Dev

使用Vue Router滚动到锚点

来自分类Dev

提交后自动滚动到锚点

来自分类Dev

平滑滚动到div时遇到的问题

来自分类Dev

JS平滑滚动不适用于附加锚点

来自分类Dev

具有偏移量的平滑滚动锚点(jquery)

来自分类Dev

滚动到固定标题的锚点位置

来自分类Dev

使用Transition / CSS3滚动到锚点

来自分类Dev

更改“滚动到锚点”偏移量-jQuery

来自分类Dev

滚动到锚点时是否可以运行jQuery代码?

来自分类Dev

jQuery滚动到锚点页面上的位置

来自分类Dev

滚动到锚点后关闭导航栏

来自分类Dev

使用ajax加载页面并滚动到加载的页面锚点

来自分类Dev

使用 jQuery 隐藏 Div 和滚动到锚点

来自分类Dev

平滑滚动到div

来自分类Dev

平滑滚动到div

来自分类Dev

平滑滚动到

来自分类Dev

jQuery平滑滚动,用于链接到1个锚点的许多链接

来自分类Dev

无法通过画布菜单/内容实现锚点平滑滚动

来自分类Dev

使用 Wordpress Visual Composer onclick javascript 操作按钮功能平滑锚点滚动

来自分类Dev

平滑滚动到数据参考

来自分类Dev

ID锚点问题