javascript - Foundation 6,粘性菜单和 offcanvas 位置固定

标签 javascript html css wordpress zurb-foundation

目前在这里使用带有基本 html 的基础 6 Off canvas

<div class="off-canvas-wrapper">
    <div class="off-canvas-wrapper-inner" data-off-canvas-wrapper>
        <div class="off-canvas position-right" id="offCanvasRight" data-off-canvas data-position="right">
            Menu off canv
        </div>

        <div class="off-canvas-content" data-off-canvas-content>
            <div class="top-bar-container" data-sticky-container>
                <div class="sticky" data-options="marginTop:0;" data-sticky data-sticky-on="small" style="width:100%;">
                    <div class="top-bar">
                        <div class="row column">
                        columns content
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

这里的问题是当用户滚动然后点击 offcanvas 菜单时,他们会被带到顶部(与基金会的文档相同),当他们再次向下滚动时,粘性菜单的行为非常有趣。

此外,当用户滚动时,offcanvas 菜单不会粘在一边,这也是 foundation 上的文档所做的。

我注意到切换时在大包装器上有一个 is-open 类,它执行 css translate x 这就是打破绝对位置粘性的原因。

当我将该类切换为 margin-left: -250px;一切重新开始。

我在网上查看,但找不到任何相关内容,想知道这是否只是我的 html 结构不正确,或者这真的是一个错误。

最佳答案

<div class="off-canvas position-right" id="offCanvasRight" data-off-canvas data-position="right" data-force-top="false">

这可以防止按钮操作滚动到顶部。

.off-canvas.position-right { position:fixed; right:-250px; top:0; z-index:1; transition:0.5s ease; }
.is-open-right .off-canvas.position-right { right:-0px; }
.admin-bar .off-canvas.position-right { top:32px; }
.off-canvas { background-color: transparent; }
.is-open-right { -webkit-transform: initial; transform: initial; margin-left: -250px; }
.off-canvas-wrapper-inner { transition: margin 0.5s ease; }
.sticky.is-stuck { left:0px !important; transition:0.5s; }
.is-open-right .sticky.is-stuck { left:-250px !important; }

我的 css 重组以使用良好的旧边距负值。

这些变化使它看起来就像以前一样。

关于javascript - Foundation 6,粘性菜单和 offcanvas 位置固定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36797578/

相关文章:

javascript - Google Map API 警告消息不支持 IE9

jquery - Bootstrap - 在导航栏中更改事件类

html - 有人可以帮我弄清楚我的 css 宽度困境吗?

javascript - 如何加载 "virtual window"中的内容,如 "LightBox"

javascript - Bootstrap 下拉菜单在 Microsoft Edge 上无法正常工作

javascript - 为什么不能创建box元素?

javascript - React 中将光标置于输入框 onChange 中

javascript - 如何优化 Ember JS 中组件的渲染

javascript - 优化 ng-repeat 次数 |angularJS

html - 如何在包装 div 上放置边距?