html5 Up Highlights-添加不同样式的浮动导航栏

html5 Up Highlights- adding a floating navigation bar from a different style

我想使用浮动的 Highlights template from HTML5 up, but I want to add a navigation bar similar to the one from a different template, for example like this menu one,单击时会滚动。

我研究了 HTML、CSS 和 JSCRIPT,并尝试使用导航栏调整第一个模板,并研究了 SO 中的不同选项,但没有成功。

两个模板在html中使用不同的方法,高亮模板结构在header中使用<div class="container">,而另一个使用<body class="landing"> ,<div id="page-wrapper">。 可行吗?

这是我试过的:

HTML

...
<style>
.floating-menu {
    font-family: sans-serif;
    background: transparent;
    padding: 5px; width: 130px;
    z-index: 10000;
    position: fixed;
}
.floating-menu a, .floating-menu h3 {
    font-size: 0.8em;
    display: block;
    margin: 0 0.5em;
    color: white;
}
</style>
</head>

<body>

<nav class="floating-menu">
    <div id="nav-toggle">
        <a href="#"><span></span><span></span><span></span></a>
        <div class="menu-caption">
        </div>
    </div>
    <div id="nav" class="nav-collapse collapse">
        <ul>
            <li><a href="# ">Home</a></li>
            <li><a href="#one">Who I am</a></li>
            <li><a href="#two">Stuff I do</a></li>
        </ul>
    </div>
</nav> 

CSS:

/* nav */ 

#nav > ul {
    margin: 0;
    display:block
}
#nav > ul > li {
    position: relative;
    display: inline-block;
    margin-left: 0em;
}
#nav > ul > li a {
    color: #c0c0c0;
    text-decoration: none;
    border: 0;
    display: block;
    padding:0em 0em;
}
#nav > ul > li:first-child {
    margin-left: 0;
}
#nav > ul > li:hover a {
    color: #fff;
}
#nav > ul > li.current {
    font-weight: 400;
}
#nav > ul > li.present {
    font-weight: 400;
}
#nav > ul > li.present:before {
    -moz-transform: rotateZ(45deg);
    -webkit-transform: rotateZ(45deg);
    -ms-transform: rotateZ(45deg);
    transform: rotateZ(45deg);
    width: 0.75em;
    height: 0.75em;
    content:'';
    display: block;
    position: absolute;
    bottom: -0.5em;
    left: 50%;
    margin-left: -0.375em;
    background-color: #37c0fb;
}


#nav > ul > li.present a {
    color: #fff;
}
#nav > ul > li.active a {
    color: #fff;
}
#nav > ul > li.active.present:before {
    opacity: 0;
    }


#nav {
    cursor: default;
    background-color: #333; 
    padding: 0;
    text-align: left;
}

   #nav-toggle {
    background-color: #transparent;
    cursor: pointer;
    display:block;
    }


#nav-toggle > a {
    float:left;
    color:#fff;
    padding:0px;
    width: 0px;
}
#nav-toggle > a > span {
    width:26px;
    height:2px;
    background-color:#fff;
    display:block;
}
#nav-toggle > a > span + span {
    margin-top:4px;
}

    #nav > ul {
        display:none;
    }
    #nav > ul > li {
        display: block;
    }

.menu-caption {
    display:inline-block;
    color:#fff;
    padding:10px;
}


@media screen and (max-width:767px) {
    #nav-toggle {
        display:block;
    }
    #nav > ul {
        display:none;
    }
    #nav > ul > li {
        display: block;
    }
}

JS

    $(function() {
var windowWidth = $(window).width();


$("#nav-toggle").click(function () {
    $("#nav ul").slideToggle();
    $("#nav ul").toggleClass("open");
});

      var navMain = $("#nav");
     navMain.on("click", "a", null, function () {
         navMain.collapse('hide');
     });

$(window).resize(function () {
    windowWidth = $(window).width();
    if (windowWidth < 767) {
        if ($("#nav ul").is(":hidden")) {
            $("#nav ul").css("display","block");
        }
    }
    else {
        $("#nav ul").css("display","none");
    }
});

但这有一个奇怪的行为,即在选择项目后菜单不会向后折叠...

为了说明,在 Spectral index.html 文件中将其添加到其他 CSS 链接下方的 <head> 部分。这应该为您提供一个良好的起点。

<style>
    #one, #two, #three, #cta, #footer, .wrapper > .inner {
        margin: 0 auto;
        width: 50%;
    }
</style>

我建议之后在实际 CSS 文件中进行这些更改。

为了提高响应能力,您可以在 CSS 文件中使用以下语法设置媒体查询,以调整 section 的宽度以在移动视图中填充页面宽度。

@media(max-width: 767px){
        #one, #two, #three, #cta, #footer, .wrapper > .inner {
            margin: 0 auto;
            width: 100%;
        }
}