Bootstrap 4 链接未从Div顶部开始

Bootstrap 4 链接未从Div顶部开始,bootstrap-4,Bootstrap 4,我开始使用一些Bootstrap4演示主题 当我创建指向同一页面部分的链接时,它们走得有点太远,我松开了该div的前几行,所以我必须向后滚动一点才能看到开始。在本例中,它可能从“content3”左右开始 似乎有某种补偿在起作用?我不知道在哪里能找到它 有没有办法调整这一点,使之不超过div的开头 <a href="#here1" >MY INFO goooo</a> <div id="here1" class="container text-center">

我开始使用一些Bootstrap4演示主题

当我创建指向同一页面部分的链接时,它们走得有点太远,我松开了该div的前几行,所以我必须向后滚动一点才能看到开始。在本例中,它可能从“content3”左右开始

似乎有某种补偿在起作用?我不知道在哪里能找到它

有没有办法调整这一点,使之不超过div的开头

<a href="#here1" >MY INFO goooo</a>

<div id="here1" class="container text-center">
content1<br>
content2<br>
content3<br>
content4 etc....<br>
</div>

内容1
内容2
内容3
内容4等……

谢谢-Dave

如果你的网站有固定的标题,你可能已经注意到锚定标签链接并不完美——当用户使用锚定链接时,锚定的位置会隐藏在固定标题后面,隐藏内容的第一部分

此方法不涉及任何JavaScript,也不需要更改主题或内容

在HTML中:

<a class="anchor" id="top"></a>
下面是另一种方法:

:target:before {
    content:"";
    display:block;
    height:90px; /* fixed header height*/
    margin:-90px 0 0; /* negative fixed header height */
}
注意:90px是固定页眉的高度加上边距和填充。您需要将其调整为固定标题的大小

的缺点是它需要浏览器支持伪元素,如果目标元素的规则集包含背景色、重复的背景图像、填充顶部或边框顶部,那么它将失败

在此了解更多方法及其优缺点:


此解决方案使用JS:

var shiftWindow = function() { scrollBy(0, -50) };
if (location.hash) shiftWindow();
window.addEventListener("hashchange", shiftWindow);

您可以阅读更多有关其他用户解决方案的信息。

无法重现此问题,似乎效果不错。非常感谢sunsetsurf-这非常有用-有很多可能性!我也从你的一个链接中发现了这一点,它似乎工作得很好`*[id]{display:block;content::;margin top:-75px;height:75px;visibility:hidden;}`非常抱歉,很长时间没有回复你。我刚刚学习了投票和评论,我想感谢你们的努力。
var shiftWindow = function() { scrollBy(0, -50) };
if (location.hash) shiftWindow();
window.addEventListener("hashchange", shiftWindow);
function scrollToDiv(divID){
    $('html, body').animate({
        scrollTop: $('#' + divID).offset().top - 50
    }, 1000);
}