【问题标题】:Sticky header covers targeted section粘性标题覆盖目标部分
【发布时间】:2020-11-26 17:49:46
【问题描述】:

我开始做这个网页,在页面顶部,你可以看到一个粘性标题。它有一个问题:如果我点击标签,标题会跳转到该部分,但是由于标题你看不到目标部分的某些部分。

感谢大家的帮助!

Example

window.onscroll = function() {myFunction()};
            
var header = document.getElementById("myHeader");
var sticky = header.offsetTop;

function myFunction() {
  if (window.pageYOffset > sticky) {
  header.classList.add("sticky");
  } else {
  header.classList.remove("sticky");
  }
}
.sticky {
    position: fixed;
    top: 10;
    height: 20vh;
    width:100%;
    align-items: center;
    background: rgba(255, 255, 255, 0.5);
  }

<header class="header" id="myHeader">
        
        <div class="logo-container" > 
        <a href="#"><img src="./img/logo.png" height="120"  alt="logo"/> </a>
        </div>
        <nav>
            <ul class="nav-links">
                <li><a class="nav-link" href="#details">DETAILS</a></li>
                <li><a class="nav-link" href="#description">DESCRIPTION</a </li>
                <li><a class="nav-link" href="#aboutus">ABOUT US</a></li>
            </ul>
        </nav>
        <div class="calendar">
            <img src="./img/calendar.png" height="40" alt="calendar" />
        </div>

【问题讨论】:

  • 也添加你的html

标签: javascript html css header sticky


【解决方案1】:

您能否给目标部分一个顶部填充,以便为标题留出足够的空间?例如:

#details{
  padding-top: 100px;
}

【讨论】:

  • 它不在起点时有帮助。这意味着当标头在其原始位置时跳得太多,但无论如何这是一个很好的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
  • 2019-05-25
  • 2019-09-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多