3

我目前正在构建我的第一个响应式网站。

对于平板电脑、笔记本电脑和台式机使用,导航是“粘性的”,可以按我的意愿工作。

对于任何比这更小的显示器,导航隐藏在典型的“汉堡菜单”中,单击时会显示导航。

这一切都很好,但是我的问题是“汉堡点击”时导航的显示。导航显示在标题上方和下方内容,而不是将任何内容推到屏幕旁边/下方,我觉得默认情况下会这样。

我觉得问题与定位有关,我只是无法确定是什么。这是我的导航元素以常规和响应状态显示时的位置:

/* HEADER & NAV
--------------------------*/
header {
    height: 140px;
    position: relative;
    background-image: url("../img/headerback.jpg");
    text-align: center;
    padding-top: 1.4em;
    font-family: 'Josefin Sans', sans-serif;
    text-transform: uppercase;
}

header a {
    font-size: 4.8em; 
    border-bottom: solid 5px #b9beaa;
}

header a, nav li, footer, footer a {
    text-decoration: none;
    color: #fff; 
}

nav {
    height: 36px;
    position: absolute;
    bottom: 0;
    width: 100%;
    font-size: 0.245em;
    padding-top: 2.5em;
}

nav li {
    display: inline;
    padding: 0 0.6em 0 0.7em;
}

nav li a {
    border: none;
    letter-spacing: 2px;
    position: relative;
}

/*----------------- Responsive Nav */
    nav ul {
        display:none;
    }
    nav a#navIcon{
        position: absolute;
        right: 20px;
        top: 20px;
        border-bottom: none;
    }
    nav {
        font-size: 0.6em;
    }
    nav li {
        display: block;
        padding-bottom: 0.6em;
    }
header a {
        font-size: 1.6em;
    }

这也是我第一次尝试使用 JSFiddle。

如果有人需要我提供其他任何东西,请询问。

谢谢你的帮助。

https://jsfiddle.net/AlexEd/5a98ttq8/

4

1 回答 1

1

有一些问题阻止您的导航菜单下推以下内容:

jquery 很难设置“.nav-placeholder” div 的高度。高度应为“自动”,以便浏览器可以计算高度并将内容推送到下方。

jQuery(".nav-placeholder").height("auto");

导航标签是位置:绝对。将其更改为静态。和高度:自动。

nav {
    font-size: 0.6em;
    position: static;
    height: auto;
}

标题标签在@media only 屏幕和(最大宽度:480px)中将高度更改为自动

header {
    height: auto;
    padding-top: 0.8em;
    padding-bottom: 0.2em;
}

我整理了一个例子 https://jsfiddle.net/jonathon_wei/865nsj9q/1/

于 2016-01-03T22:38:47.830 回答