【发布时间】:2013-04-07 22:16:17
【问题描述】:
如果我在 HTML 页面中有一个非滚动标题,固定在顶部,具有定义的高度:
有没有办法使用 URL 锚点(#fragment 部分)让浏览器滚动到页面中的某个点,但仍然尊重固定元素的高度 无需 JavaScript 的帮助?
http://example.com/#bar
错误(但常见的行为):正确:
+----------------------------------+ +-------------- ------------------+
| BAR/////////////////// 标题 | | ///////////////////// 标题 |
+----------------------------------+ +-------------- ------------------+
|这是文本的其余部分 | |酒吧 |
| ... | | |
| ... | |这是文本的其余部分 |
| ... | | ... |
+----------------------------------+ +-------------- ------------------+
【问题讨论】:
-
@ax 是的,这是最好的答案。还要检查其中的nicolasgallagher.com/jump-links-and-viewport-positioning/demo。这对我来说效果最好:
.dislocate50px, #bar { padding: 50px 0 0; margin: -50px 0 0; -webkit-background-clip: content-box; background-clip: content-box; } -
我正在寻找一种解决方案,该解决方案 * 适用于来自同一页面或其他页面的锚点,* 并且可以调整向下翻页按键,以便内容不会被标题剪切,*并允许 sib-div 页脚使用 content-div 向上滚动。还没找到解决办法!但我必须说,我认为正确的方法是针对整个内容 div,而不是每个单独的锚。 stackoverflow.com/questions/51070758/…
-
@ax. CSS-tricks.com 有一篇关于
scroll-padding-top的更好的新文章:css-tricks.com/… 相应答案:stackoverflow.com/a/56467997/247696