【问题标题】:navbar change when scrolled with materialize css使用具体化 css 滚动时导航栏发生变化
【发布时间】:2023-03-31 10:54:01
【问题描述】:

我正在尝试复制类似于 website 的导航栏。所以当用户打开网站时有一个非粘性导航栏,在用户向下滚动一点后,非粘性导航栏消失并被粘性导航栏取代。如何使用 materialize css 实现这样的目标?到目前为止,我只制作了非粘性导航栏部分

<nav class="nav-extended">
    <div class="nav-wrapper">
        <a href="#" class="brand-logo"><img src="viva.png" alt="" id="logo"></a>
        <ul id="nav-mobile" class="right hide-on-med-and-down">
            <li>
                <form>
                    <div class="input-field">
                        <input id="search" type="search" required>
                        <label class="label-icon" for="search"><i class="material-icons"></i></label>
                        <i class="material-icons">close</i>
                    </div>
                </form>
            </li>
            <li><a href="#">Register</a></li>
            <li>|</li>
            <li><a href="#">Login</a></li>
        </ul>
    </div>
    <hr>
    <div class="nav-content">
        <ul class="tabs tabs-transparent">
            <li class="tab"><a href="#">Test 1</a></li>
            <li class="tab"><a href="#">Test 2</a></li>
            <li class="tab"><a href="#">Test 3</a></li>
        </ul>
    </div>
</nav>

【问题讨论】:

标签: html css materialize


【解决方案1】:

试试这个:

HTML

<div class="header">Header Example</div>
<div class="content">
<p>
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur. 
</p>
</div>

CSS

body { 
    margin:0;
    padding:0;
    font-family: Arial, sans-serif;
}

header {
    position: relative;
    width: 100%;
    height: 80px;
    line-height: 80px;
    background: #CCCCCC;
    color: #333333;
    padding-left: 25px;
}
header.fixed {
    position:fixed;
    top:-80px;
    left: 0;
    right: 0;
    z-index:8888;
    transition:0.3s top cubic-bezier(.3,.73,.3,.74);
}
body.on-scroll header.fixed {
    top:0;
}
.content {
    padding: 25px;
    background: #fff;
    line-height: 1.4;
    color: #333;
    min-height: 2700px; /* You can remove this,is just for demo purpose */
}

jquery:

  (function($){ 
   $(document).ready(function() {
        var $header = $(".header"),
            $clone = $header.before($header.clone().addClass("fixed"));

        $(window).on("scroll", function() {
            var fromTop = $(window).scrollTop();
            $("body").toggleClass("on-scroll", (fromTop > 200));
        });
    });
 })(jQuery);   

这是一个jsfiddle 示例。

【讨论】:

  • 谢谢,这个成功了 :) 抱歉回复晚了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-05
  • 2021-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-02
  • 2015-02-16
相关资源
最近更新 更多