我在一个网站上工作,它有一个下拉菜单,我使布局响应并为移动设备添加了媒体查询。唯一的问题是,下拉菜单确实会在移动设备上下载,但它也会激活第一个链接,因此它会直接转到该页面,这样您就可以响应一秒钟。
我在学校里了解到这一点,我可以发誓有一个非常简单的解决办法,比如onclick或类似的东西。虽然已经很晚了,但我正试图解决这个问题,而我却找不到任何东西。
这是下拉html;
<div class="nav">
<div class="links">
<ul id="dropdown">
<li>
<a href="index.html"> Tetterode </a>
<ul>
<li><a href="project.html">Project</a></li>
<li><a href="promenade.html">Promenade</a></li>
<li><a href="brochure.html">Brochure</a></li>
<li><a href="impressies.html">Impressies</a></li>
</ul>
</li>
<li>
<a href="oplevering.html">Woningen</a>
<ul>
<li><a href="oplevering.html">Oplevering</a></li>
<li><a href="impressies.html">Impressies</a></li>
</ul>
</li>
<li class="currentpage">
<a href="ligging.html">Locatie</a>
<ul>
<li><a href="ligging.html">Ligging</a></li>
<li><a href="situatie.html">Situatie</a></li>
<li><a href="routeplanner.html" class="smaller">Route<br>planner</a></li>
</ul>
</li>
<li>
<a href="hypotheken.html">Financiering</a>
<ul>
<li><a href="hypotheken.html">Hypotheken</a></li>
</ul>
</li>
<li>
<a href="makelaars.html">Contact</a>
<ul>
<li><a href="makelaars.html">Makelaars</a></li>
</ul>
</li>
</ul>
</div>
</div>
这就是css;
.nav{
width: 100%;
height:50px;
background-image:url("bg.jpg");
background-repeat:repeat;
text-align:center;
padding-bottom:0px;
margin-bottom:0px;
}
.links ul li {
list-style-type: none;
padding-right: 15px;
height:50px;
display:inline-block;
padding-top:0px;
line-height:50px;
padding-left:14px;
text-shadow: 3px 3px 2px rgba(0, 0, 0, 0.50);
margin-top:0px;
}
.links ul li:hover {
height:50px;
background-color:#b5001e;
display:inline-block;
margin:0px;
}
.links a {
text-transform:uppercase;
font-family:helvetica;
font-size:16px;
color:#fff;
display:inline-block;
font-size:20px;
text-decoration:none;
}
.links a:hover {
background-color:transparent;
}
#dropdown ul{
background-color:#b5001e;
list-style:none;
position:absolute;
left:-9999px;
z-index:20;
font-size:16px;
padding-top:0px;
margin-top:-2px;
}
#dropdown ul li{
float:none;
}
#dropdown ul a{
white-space:nowrap;
font-size:16px;
}
#dropdown li:hover ul{
left:0;
}
#dropdown li:hover a{
text-decoration:underline;
}
#dropdown li:hover ul a{
text-decoration:none;
}
#dropdown li:hover ul li a:hover{
color:#000;
}
.currentpage{
height:50px;
background-color:#b5001e;
display:inline-block;
}
我基本上希望能够点击基本导航项目(tetterode,woningen等)并看到其他项目下来,所以如果我愿意,我实际上有时间点击它们。
答案 0 :(得分:1)
以下是您的JSFIDDLE代码。
我使用IOS 6对我的Iphone 4进行了测试。每当您点击其中一个菜单时,您将被重定向到该菜单中的链接。为了解决问题,您需要删除这些链接并将其替换为#,以便您的代码可以在移动网站上运行
所以,这个HTML结构将解决您的问题(仅在移动网站上使用它):
<div class="nav">
<div class="links">
<ul id="dropdown">
<li>
<a href="#"> Tetterode </a>
<ul>
<li><a href="project.html">Project</a></li>
<li><a href="promenade.html">Promenade</a></li>
<li><a href="brochure.html">Brochure</a></li>
<li><a href="impressies.html">Impressies</a></li>
</ul>
</li>
<li>
<a href="#">Woningen</a>
<ul>
<li><a href="oplevering.html">Oplevering</a></li>
<li><a href="impressies.html">Impressies</a></li>
</ul>
</li>
<li class="currentpage">
<a href="#">Locatie</a>
<ul>
<li><a href="ligging.html">Ligging</a></li>
<li><a href="situatie.html">Situatie</a></li>
<li><a href="routeplanner.html" class="smaller">Route<br>planner</a></li>
</ul>
</li>
<li>
<a href="#">Financiering</a>
<ul>
<li><a href="hypotheken.html">Hypotheken</a></li>
</ul>
</li>
<li>
<a href="#">Contact</a>
<ul>
<li><a href="makelaars.html">Makelaars</a></li>
</ul>
</li>
</ul>
</div>
</div>
我的回答可能听起来很愚蠢。但如果你想保持相同的结构和相同的CSS,这是唯一的方法。玩得开心!