html - 如何让我的菜单栏仅在图标滚动时出现?

标签 html css menubar

我正在尝试制作一个像这样的菜单栏 http://www.finlandia.com/en 我不确定他们是怎么做到的,我想我必须滚动鼠标,但当我尝试时,即使菜单栏折叠,这些词仍然出现。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>

<!-- SlideBars Meta-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<!-- END SlideBars Meta-->

<!-- This is the SlideBar CSS link-->
<link rel="stylesheet" href="CSS/slidebars.min.css">
<link href="CSS/Main.css" rel="stylesheet" type="text/css">
<!-- END SlideBar CSS link-->
</head>

<body>

<nav class="navbar navbar-default navbar-fixed-top sb-slide" role="navigation" style="webkit-transform: translate(381px);">
    <a class="hidden-phone"><!-- Main navigation menu bar is apearing when desktop version is avalible-->
        <div class="main-nav">
            <div class="navicon-line-padding">
                <div class="navicon-line"></div>
                <div class="navicon-line"></div>
                <div class="navicon-line"></div>
            </div><!-- END navicon-line-padding-->
            <ul class="main-nav-li">
                <li>Home</li>
            </ul><!-- End Main-nav-li-->
        </div><!--End Main-nav-->
    </a><!-- End hidden-phone-->

    <a id="nav-open-btn" class="visible-phone" rel="track-event" data-ga-action="Mobile Menu" href="#">
        <div class="sb-toggle-left navbar-left">
            <div class="navicon-line"></div>
            <div class="navicon-line"></div>
            <div class="navicon-line"></div>
        </div>
    </a><!--END nav-open-btn-->



<!-- This Div is in place to make the MenuBar Work properly do not move-->
<div id="sb-site">
<p>

</p>

</div>
</nav>
<!-- END Sb-site Div-->

<!-- This is the SB-SlideBar Left Div-->
<div class="sb-slidebar sb-left sb-style-push sb-toggle-left">

    <nav>

      <ul class="sb-menu">

            <li class="SquirrelIcon">
                <a href="#"><img src="imgs/FurrySquirrelLogo2.png" width="300"  height="174" alt="Furry Squirrel Productions"></a>
            </li>

            <li>
                <a href="#" class="LinkItemMenu">Home</a>
            </li>

        </ul>

    </nav>

</div><!-- END sb-slidebar sb-left div-->

<!-- Start SlideBar JQuery-->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">   </script>
<!-- END SlideBar Jquery-->

<!-- Start SlideBar JS-->

<script src="JS/slidebars.min.js">
</script>

<script>
  (function($) {
    $(document).ready(function() {
      $.slidebars();
    });
  }) (jQuery);
</script>

<!-- END SlideBar JS-->

</body>
</html>

我的 CSS 代码:

@charset "utf-8";
/* CSS Document */

.navicon-line {
background-color: #000;
height: 4px;
width: 24px;
margin-bottom: 3px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
}
.sb-toggle-left.navbar-left {
padding: 14px;
z-index: 1030;



top:
;
width: auto;
position: fixed;
}
.navbar.navbar-default.navbar-fixed-top.sb-slide {
position: fixed;
z-index: 1303;
left: 0px;
top: 0px;
height: auto;
width: 100%;
}

.SquirrelIcon {
margin-top: 20%;
margin-bottom: 20px;
margin-left: 5%;
margin-right: 5%;
}
.sb-menu .SquirrelIcon a img {
height: auto;
max-width: 100%;
}
#sb-site p {
width: 300px;
}

@media screen and (max-width: 43.125em) {
.visible-phone {
   display: inherit !important;
}

.hidden-phone {
  display: none !important;
}

}
.main-nav-li {
font-family: Arial, Helvetica, sans-serif;
font-size: 1.5em;
color: #000;
text-decoration: none;
list-style-type: none;
}
.main-nav:hover {
height: auto;
width: 100%;
background-color: #0C0;
position: fixed;
left: 0px;
top: 0px;
}
.hidden-phone {
height: auto;
width: 100%;
}
.navicon-line-padding {
padding: 14px;
}

我试图在用户未滚动时使所有元素不可见。并且在用户滚动图标时可见。

最佳答案

我是 Slidebars 的作者 Adam :)

您分享的链接似乎无效,所以我只能猜测您要达到的目的。

您的标记存在一些问题。首先,你的导航栏中有你的 #sb-site 容器,这需要在外面。所以您的标记可能如下所示:

<body>
    <nav class="navbar"></nav>
    <div id="sb-site"></div>
    <div class="sb-slidebar sb-left"></div>
</body>

似乎在评论中,您不希望导航栏移动。在那种情况下,只需删除 .sb-slide 类,插件就不会为导航栏设置动画 :)

如果您的导航栏保持静止,悬停效果应该很容易实现。 Slidebars 有一个 API,您可以使用它来控制它们。我整理了一个 JSFiddle 来演示这一点。

http://jsfiddle.net/7YzF4/

希望对您有所帮助!

谢谢,亚当

关于html - 如何让我的菜单栏仅在图标滚动时出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24003320/

相关文章:

css - 打印 Textarea 文本 - 全长(高度)?

html - 对齐 css 菜单文本左 besie 菜单图像

javascript - 需要像谷歌文档这样的下拉菜单栏的应用程序

javascript - Cycle2 计算幻灯片中的错误边距

HTML DIV 与它所在的 DIV 相矛盾

css - 带有垂直滚动条但没有水平滚动条的水平填充

html - 盒子阴影 : inset on img tag

html - 修复定位菜单栏覆盖与其链接的元素

javascript - 如何使标记在缩放时变大/获取当前缩放值 JVectorMap

html - 如何将图像移动到 HTML/CSS 中的文本旁边?