我想创建一个带有特殊功能的简单导航菜单:
我正在搜索没有Javascript的解决方案。我知道CSS中的媒体查询,但我不知道如何添加具有此要求的菜单。
这是菜单,例如:
<nav>
<ul>
<li><a href="item1.html">item1</a></li>
<li><a href="item2.html">item2</a></li>
<li><a href="item3.html">item3</a></li>
<li><a href="item4.html">item4</a></li>
</ul>
</nav>
CSS:
/* default for all browsers */
nav>ul {
padding: 0;
margin: 0;
list-style: none;
background-color: #3d3d3d;
}
nav>ul>li>a {
display: block;
color: #ffffff;
}
@media only screen and (max-width: 360px) {
/* mobile */
/* WHAT NOW? */
}
@media only screen and (min-width: 361px) {
nav>ul>li {
/* bar layout */
display: inline-block;
}
}
答案 0 :(得分:1)
我已经编辑了你的jsfiddle并找到了一个相当简单的&#34;解决方案,
我还没有找到一种完全做到这一点的方法,如果没有javascript来抓住按钮点击。
在此处发布结果:
<nav>
<button class='hide-lg right'>
☰
</button>
<ul>
<li><a href="item1.html">item1</a></li>
<li><a href="item2.html">item2</a></li>
<li><a href="item3.html">item3</a></li>
<li><a href="item4.html">item4</a></li>
</ul>
/* default for all browsers */
*{
margin: 0;
padding: 0;
}
body{
min-width: 100%;
min-height: 100%;
}
button{
border:1px solid gray;
background-color: transparent;
display: inline-block;
}
.show{
display: inline-block;
}
.right{
float:right;
}
nav{
background-color: #3d3d3d !important;
color: #ffffff;
height:auto;
width: 100%;
display: block;
}
nav>ul {
padding: 0;
margin: 0;
list-style: none;
background-color: #3d3d3d;
}
nav>ul>li>a {
display: block;
color: #ffffff;
}
@media only screen and (max-width: 360px) {
.hide-lg{
display:inline-block;
}
ul{
display: none;
}
/* mobile */
/* WHAT NOW? */
}
@media only screen and (min-width: 361px) {
.hide-lg{
display: none !important;
}
nav>ul{
display: block;
}
nav>ul>li {
/* bar layout */
display: inline-block;
}
nav>ul>li>a{
display: block;
width:100%;
height: 100%;
}
}
$(document).ready(function(){
$('button').click(function(){
$('ul').toggleClass('show');
});
});
我希望你能找到我的答案, 乔瓦尼