粘性菜单问题

时间:2016-02-19 17:48:16

标签: html css

我的wordpress网站上有一个粘性菜单,它只是一个固定css位置的标题,但它覆盖在我每个部分的顶部。如果您查看测试网站here

,您可以看到我的意思

如果您单击菜单图标并单击某个部分,它将导航到每个部分,但我需要粘贴菜单停留在每个部分上方而不是覆盖在顶部。

在我的header.php中,我有

<div id="header-wrap">

                    <div class="poweredby">POWERED BY bluesource<p class="mobile-phone"><a href="tel: +44 0845 319 2100">0845 319 2100</a></p></div>

                        <div class="headerphone">0845 319 2100</div>

                    <button class="toggle-menu menu-right push-body"><i class="fa fa-bars"></i></button>

                        <!-- Right menu element-->

                        <?php if ( has_nav_menu( 'primary' ) || has_nav_menu( 'social' ) ) : ?>

                            <?php if ( has_nav_menu( 'primary' ) ) : ?>

                                <nav id="site-navigation" class="cbp-spmenu cbp-spmenu-vertical cbp-spmenu-right" role="navigation" aria-label="<?php esc_attr_e( 'Primary Menu', 'twentysixteen' ); ?>">
                                    <?php
                                        wp_nav_menu( array(
                                        'theme_location' => 'primary',
                                        'menu_class'     => 'primary-menu',
                                        ) );
                                    ?>
                                </nav> 

                            <?php endif; ?>

                        <?php endif; ?>

                </div><!-- end header wrap -->

在我的样式表中

.site-header {
background: #333 none repeat scroll 0 0;
height: 98px;
padding: 27px 0;
text-align: right;
}

.site-header-main {
    text-align: right;
    right: 0;
    display: block;
    padding-right: 27px;
}

#header-wrap {
    background: #333;
    position: fixed;
    top: 0;
    z-index: 100;
    height: 98px;
    padding-top: 27px;
    padding-right: 27px;
    opacity: 0.9;
}

2 个答案:

答案 0 :(得分:0)

此代码将执行此操作

$('#header-wrap ul li a').click(function(){
    href=$(this).attr('href');
    $('html, body').animate({
      scrollTop: $(href).offset().top-98  // since the height of your nav is 98px
    }, 500);
});

对于外部链接

$(document).ready(function(){
   var urlHash = window.location.href.split("#")[1];
    $('html,body').animate({
        scrollTop: $('#' + urlHash).offset().top-98 
    }, 500);
});

答案 1 :(得分:0)

这应该可以胜任。我增加了位置,所以你得到了旁边的白色条,我应用了一个重要的标签,否则它会被覆盖。

nav#site-navigation {
    top: 98px;
}
.cbp-spmenu-right.menu-open {
    right: 23px !important;
}