如何解决网页悬停菜单栏换行导致的问题

悬停(Hover)菜单是网页的常见元素,即:鼠标移动到菜单项上,无需任何点击操作就弹出下拉子菜单,鼠标移开后下拉子菜单自动消失。

现在的问题是:由于显示器的水平像素不一、浏览器窗口大小以及字体大小有诸多变数,导致菜单栏的排版可能出现换行现象。一旦换行,鼠标和下拉子菜单就存在间距,进而导致鼠标无法移动到子菜单上。因为移动鼠标需要越过间距,除非移动速度极快,否则等鼠标到位之后子菜单已经消失。

用例子来演示吧,这样才形象具体。看这个网页:

上面有一排菜单。这是正常排版的样子:

可以看到:鼠标移动到“概况简介”上时自动弹出对应的下拉子菜单,这时可以移动鼠标到下方做文字选择或者继续点击子菜单里的链接。但如果由于字体大小以及浏览器窗口大小的因素导致菜单栏换行,就会出现另外一种样子:

可以看到:此时最右侧的菜单项“信息公开”换行显示,导致鼠标移动到“概况简介”上时弹出的下拉子菜单跟鼠标有一段间距。这时候鼠标极难移动到子菜单上,因为越过这段小间距足以让子菜单消失。

遇到这种情况,只能临时缩小(Zoom Out)一下网页,让菜单栏不换行。是否有更好的方法解决此问题?

有本书叫《无懈可击的 Web 设计》,虽然老了点,但就是讲这个的,你可以找来读读。

你的意思是网页设计应当让它不换行吗?如果确实是网页设计的问题,那么现在也要想办法绕过去。