【发布时间】:2016-03-27 18:15:24
【问题描述】:
将 FullPageJS 用于当前项目,该项目具有根据视口大小改变其高度的固定顶部菜单。
窄屏幕将菜单项堆叠在一起,而宽屏幕将使菜单项彼此相邻,从而导致菜单的高度不同。
Looking at the Fixed Elements demo from FullPageJS 例如,如果我在 Firefox 中使用开发工具检查“固定元素”h1 并向上移动两个元素,直到达到 .fp-tableCell 并在那里取消选择 vertical-align:middle 可以观察到文本在固定标题下移动.
好吧,它实际上并没有移动,而是移动到其容器的顶部边框。这意味着这些部分始终是视口高度的 100%,这意味着在表格单元格元素中未垂直对齐在中间的部分中的内容将被固定元素隐藏,例如固定导航.
我想要得到的确实是一个固定的页眉或固定的页脚,但没有“进入”固定元素的部分,但实际上停在固定元素的边界以不隐藏部分的内容。
一种方法是注入一个占位符元素,其高度与固定元素的当前高度相同,并将其放置在与当前部分相同的流上的固定元素下,因此限制部分“滑动”在固定元素之下.
Waypoints Sticky Elements 对动态创建的粘性或固定元素执行此操作:
围绕您的元素创建一个包装器。
此包装器保持在页面上的静态位置,充当 文档流中该元素的空占位符,而真正的 元素获得和失去固定定位。
这个包装元素是实际使用的元素 底层 Waypoint。
包装高度已设置。这确保了包装器的高度相同 作为它包装的元素,即使该元素变得固定。这个 防止页面布局发生变化。
当粘性元素到达窗口顶部时,为粘性元素添加一个类。 这个类是你必须使用 CSS 来赋予粘性元素的样式 固定定位。
【问题讨论】:
标签: jquery html css fullpage.js