Foundation sticky header 第一卷
Foundation sticky header first scroll
我正在使用 Foundation 5 and the sticky header。
这是我的代码:
<header>
<div class="sticky">
<nav class="top-bar" data-topbar role="navigation">
<!-- Blablabla -->
</nav>
</div>
</header>
这个版本的问题是第一次向下滚动时,粘性header不起作用。我必须向下滚动,然后向上滚动到页面顶部,然后粘性 header 起作用。
之后,我添加了 class 固定 <div class="sticky fixed">
但是一旦页面加载,这会将我的元素隐藏在页面顶部而不是在它们上方。
所以我的解决方法是添加,然后在页面加载后删除 class fixed
。有了这个改变,header 在第一次滚动时变得粘稠,但它看起来不是完美的解决方案,而且它有副作用:/
$('header .sticky').addClass("fixed");
$('header .sticky').removeClass("fixed");
另一种解决方案是固定 header 并对所有元素应用 margin-top
。但是我们失去了 sticky
class.
的好处
有更好的解决方案/找到问题的根源吗?
当您只需要使用 .fixed
时,听起来您正在使用 .sticky
。区别是:
.fixed
适用于 topbar
位于页面顶部的情况。
.sticky
适用于 topbar
不在页面顶部的情况。
如果您的 topbar
从页面顶部开始,请使用:
<div class="fixed">
<nav class="top-bar" data-topbar role="navigation">
<nav class="top-bar" data-topbar role="navigation">
<!-- Blablabla -->
</nav>
</nav>
</div>
如果您的 topbar
从页面下方的位置开始,请使用:
<div class="contain-to-grid sticky">
<nav class="top-bar" data-topbar role="navigation" data-options="sticky_on: large">
<!-- Blablabla -->
</nav>
</div>
我正在使用 Foundation 5 and the sticky header。
这是我的代码:
<header>
<div class="sticky">
<nav class="top-bar" data-topbar role="navigation">
<!-- Blablabla -->
</nav>
</div>
</header>
这个版本的问题是第一次向下滚动时,粘性header不起作用。我必须向下滚动,然后向上滚动到页面顶部,然后粘性 header 起作用。
之后,我添加了 class 固定 <div class="sticky fixed">
但是一旦页面加载,这会将我的元素隐藏在页面顶部而不是在它们上方。
所以我的解决方法是添加,然后在页面加载后删除 class fixed
。有了这个改变,header 在第一次滚动时变得粘稠,但它看起来不是完美的解决方案,而且它有副作用:/
$('header .sticky').addClass("fixed");
$('header .sticky').removeClass("fixed");
另一种解决方案是固定 header 并对所有元素应用 margin-top
。但是我们失去了 sticky
class.
有更好的解决方案/找到问题的根源吗?
当您只需要使用 .fixed
时,听起来您正在使用 .sticky
。区别是:
.fixed
适用于topbar
位于页面顶部的情况。.sticky
适用于topbar
不在页面顶部的情况。
如果您的 topbar
从页面顶部开始,请使用:
<div class="fixed">
<nav class="top-bar" data-topbar role="navigation">
<nav class="top-bar" data-topbar role="navigation">
<!-- Blablabla -->
</nav>
</nav>
</div>
如果您的 topbar
从页面下方的位置开始,请使用:
<div class="contain-to-grid sticky">
<nav class="top-bar" data-topbar role="navigation" data-options="sticky_on: large">
<!-- Blablabla -->
</nav>
</div>