gpt4 book ai didi

html - anchor 链接和边距

转载 作者:技术小花猫 更新时间:2023-10-29 11:45:39 24 4
gpt4 key购买 nike

我目前正在构建一个网页,其中一些元素放置在靠近顶部边缘的固定位置。因此,每当我导航到 anchor 时,它们都会被放置在那些固定元素的正下方。我想知道是否有某种样式或其他方法在导航到 anchor 时会发生一些额外的偏移量/边距?

示例源代码

<html>
<body>

<div style="position:fixed; top:0px; height:100px; background:white;">
This covers the top 100px of the screen.
</div>

<div style="position:absolute; top:0px;">

<div>
<a name="foo" id="foo"><h2>Foo</h2></a>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
erat, sed diam voluptua. At vero eos et accusam et justo duo dolores e
ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem
ipsum dolor sit amet.
</p>
</div>

<div>
<a name="bar" id="bar"><h2>Bar</h2></a>
<p>
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
molestie consequat, vel illum dolore eu feugiat nulla facilisis at
vero eros et accumsan et iusto odio dignissim qui blandit praesent
luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam
nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat
volutpat.
</p>
</div>

</div>

</body>
</html>

假设此 HTML 在 http://example.com/foobar.html 可用可以链接到 http://example.com/foobar.html/#bar – 浏览器将滚动到名为/id 为“bar”的 anchor 。但是在这个例子中有一个 100px 高的固定元素,它会遮挡“Bar”内容的上部。现在我想要一些样式/选项来告诉浏览器,不要将元素滚动到文档窗口的顶部,而是要保留一定的“滚动边距”(在本例中为大约 200 像素的滚动边距)。这与元素边距无关,因为它们会影响布局。但这与布局无关,而是为滚动行为提供提示。

最佳答案

为了获得一个跨浏览器/跨设备的解决方案,您的 anchor 是真正的 invisible从某种意义上说,它不会占用页面上的任何空间,因此将您的 anchor 标记格式化为这样很重要:

<a name="foo" class="top"></a>

我们使用了一个类,因此您可以一次设置所有 anchor 标记的样式(假设固定的 div 是您的普通页面模板的一部分)...您可以将其设置为 ID,但问题是.

并按如下方式格式化您的 CSS:

a.top {
position: relative;
top:-100px;
display: block;
height: 0;
width:0;
}

使用 Position: relative允许您拉动正常页面流的 anchor 。

设置top到等于固定元素高度的负尺寸会将您跳转到的内容插入全 View 。

除非 anchor 实际显示,否则 Chrome 等浏览器不遵守此定位。向 anchor 添加内容,例如 &nbsp;将强制显示 anchor ,但在许多情况下,这会创建与 <a> 的行高一样大的垂直空间。 , 所以最好设置 display阻止和widthheight到 0。

关于html - anchor 链接和边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5070751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com