2017-10-13 112 views
4

我想显示一个链接列表,如下拉选择,如果可能,不会丢失语义。这是我的尝试。 CSS现在显然不起作用。对于我选择的模拟链接有点与location.href在JavaScript中,但它失去了语义值,我猜可达性。如何显示链接列表作为下拉选择?

没有jQuery和引导,

如何显示链接的下拉列表中选择向下?

document.getElementById("0").addEventListener("change", function (event) { 
 
    location.href = event.target.value; 
 
});
.like-select { 
 
    appearance: select; 
 
}
<p>Semantic wanted</p> 
 
<ul class="like-select"> 
 
    <li><a href="https://en.wikipedia.org/wiki/Main_Page">Wikipedia</a></li> 
 
    <li><a href="https://stackoverflow.com">Stack Overflow</a></li> 
 
    <li><a href="http://www.echojs.com/">Echo Js</a></li> 
 
</ul> 
 

 
<p>Look and feel wanted especially on mobile</p> 
 
<select id="0"> 
 
    <option value="https://en.wikipedia.org/wiki/Main_Page">Wikipedia</option> 
 
    <option value="https://stackoverflow.com">Stack Overflow</option> 
 
    <option value="http://www.echojs.com/">Echo Js</option> 
 
</select>

+0

是的,但在移动设备上具有与“'(想要)。另外':hover'在手机上不存在。 –

3
+0

它可以在桌面上使用,但在移动设备上没有悬停,只有触摸和刷卡 –

+0

,因为在移动** HOVER **的东西不起作用。 – LSKhan

+0

让我改变它点击 – LSKhan

0

只用CSS和悬停正在完全地井移动所有解!那意味着没有移动悬停是不正确的......悬停状态映射到一个手指轻点,并在每一个brwoser每个移动操作系统上工作!通常情况下,默认行为已经做到了这一点,在某些情况下,你可以使它更容易与一些JS ...

如果你想要一个下拉只是与CSS和没有悬停在这里来了一个复选框实现的其他解决方案:(只是谷歌“的CSS复选框黑客”以获取更多信息)

.checkhack { 
 
    display: none; 
 
} 
 

 
#menu { 
 
    display: none; 
 
} 
 

 
#menutoggle:checked + #menu { 
 
    display: block; 
 
}
<label for="menutoggle" class="checklabel">OPEN MENU</label> 
 
<input id="menutoggle" class="checkhack" type="checkbox" /> 
 
<ul id="menu"> 
 
    <li><a href="#">Link 1</a></li> 
 
    <li><a href="#">Link 2</a></li> 
 
    <li><a href="#">Link 3</a></li> 
 
</ul>

+0

只需添加一些类似样式的选择框,并在那里它也是移动友好的; ;-) – ToTaTaRi

+0

另外,您可以使用锚链接和:target-选择器来管理切换! – ToTaTaRi

+0

是的你是对的。我认为存在误解,我想说的是,在移动设备上悬停交互不存在,因为没有鼠标光标像桌面上一样静止。现在,移动设备上的某些浏览器会自动将悬停转换为“触摸”或“触摸”,并且可以正常工作,但在这种情况下,为什么不直接使用touchstart或click事件。此外,我在我的问题中给出了一个例子,我希望它如何感受和表现,我不认为在桌面上悬停时会打开'