我目前正在建立我的第一个响应式网站。
对于平板电脑,笔记本电脑和台式机使用,导航是“粘性的”,并且正如我所希望的那样工作。
对于任何小于此的显示,导航将隐藏在典型的“汉堡菜单”中,该菜单会在点击时显示导航。
这一切都很好,但我的问题是在'汉堡点击'上显示导航。导航显示在标题和下面的内容上方,而不是将任何内容推到屏幕旁边/下方,我觉得它会默认显示。
我觉得问题与定位有关,我只是不能把手指放在什么上。 这是导航元素在其常规和响应状态下显示的位置:
/* 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。
如果有人需要我提供其他任何东西,请询问。
感谢您的帮助。
答案 0 :(得分:1)
有一些问题会阻止导航菜单按下面的内容:
jquery很难设置“.nav-placeholder”div的高度。高度应该是“自动”,因此浏览器可以计算高度并推送下面的内容。
jQuery(".nav-placeholder").height("auto");
nav标签是position:absolute。将其更改为静态。和身高:自动。
nav {
font-size: 0.6em;
position: static;
height: auto;
}
标题标记在@media only屏幕中将高度更改为自动,并且(最大宽度:480px)
header {
height: auto;
padding-top: 0.8em;
padding-bottom: 0.2em;
}