【发布时间】:2015-07-10 21:01:43
【问题描述】:
我想让一个元素 (h1) 像 position:fixed 在另一个元素(一个部分)内一样。 h1 应该固定在视口上的某个位置,但在滚动过该部分时必须消失(因为它仍在该部分内)。这适用于背景图像,但不幸的是position:fixed 修复了视口内的 h1 元素并忽略了周围的部分元素。
有什么方法可以做到这一点,最好只使用 HTML 和 CSS?
(背景固定方式:
section {
position: relative;
display: block;
width: 100vw;
height: 100vh;
background-size: cover;
background-attachment: fixed;
background-position: center center;
}
section:first-child {
background-image: url(img/1.jpg);
}
section:nth-child(2) {
background-image: url(img/2.jpg);
}
【问题讨论】:
-
听起来像
position:sticky,但它还没有完全的浏览器支持。但是,您所说的只是要求。到目前为止,您尝试了什么? -
你不能使用
position: absolute吗? link -
我尝试了绝对/相对定位的不同组合,甚至尝试在 javascript 中更改 h1 元素的内容,但我觉得这应该在 HTML/CSS 中作为背景固定作品是可行的正如我所料。
-
在您问题的左侧,upvote/downvote 工具具有此功能。检查页面代码后,我可以看到它是一个表格单元格,它占据了整个段落的高度,其中 div 正在滚动。但是你需要一些 JS 来检测单元格内 div 的位置,并决定何时锁定或解锁它。
-
Position absolute 将元素固定在节内的某个位置,但也会随着节滚动。
标签: javascript html css css-position