【发布时间】:2015-01-15 21:38:01
【问题描述】:
我们创建了这个页面:http://www.sandiego.edu/mysandiego/usd_portal/
在该页面上,有一个导航栏。
<nav class="alignLeft">
<ul>
<li class="active">
<a href="#">Torero Hub</a>
<ul>
<li class="active">
<a href="#">Welcome</a>
</li>
<li>
<a href="#">My Academics</a>
</li>
<li>
<a href="#">My Financial Aid</a>
</li>
<li>
<a href="#">My Student Account</a>
</li>
<li>
<a href="#">My Torero Services</a>
</li>
<li>
<a href="#">My Gadgets</a>
</li>
<li>
<a href="#">Library</a>
</li>
<li>
<a href="#">Law Library</a>
</li>
</ul>
</li>
<li>
<a href="#">Torero Life</a>
<ul>
<li>
<a href="#">Student Affairs</a>
</li>
<li>
<a href="#">Clubs and Activities</a>
</li>
<li>
<a href="#">Graduate Life</a>
</li>
<li>
<a href="#">Alumni</a>
</li>
</ul>
</li>
</ul>
</nav>
CSS 应该这样开始:
.navBar nav li ul {
display: none;
background-color: #FFF;
border-radius: 0px 0px 6px 6px;
box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.25);
left: 0px;
padding: 10px 0px;
position: absolute;
top: 60px;
width: 300px;
}
如果您将鼠标悬停在标签上,它应该会弹出一个二级导航菜单。它通过检测悬停状态并将 display: none 更改为 display: block 来做到这一点。
.no-touch .navBar nav li:hover ul, .no-js .navBar nav li:hover ul, .navBar nav li ul.active {
display: block;
}
这适用于我测试过的所有浏览器和操作系统,但一个用户无法让它在 Chrome 和 Firefox 中运行,我真的不知道为什么。它适用于他在 Internet Explorer 中。
当用户将鼠标悬停在 Chrome 或 Firefox 中的选项卡上时,没有任何反应。用户只能通过单击选项卡来显示弹出窗口,而不能仅通过悬停来显示。
用户使用的是 Windows 7 64 位 SP1 和 Chrome 版本 40.0.2214.85 beta-m(64 位)。
我请其他 Windows 7 用户使用 Chrome 和 Firefox 进行测试,这对他们很有效。我们缺少什么?即使我们在元素检查器中右键单击导航栏元素并强制状态为 :hover 状态,该用户也看不到悬停 CSS。什么给了?
编辑:我发现另一个用户有同样的问题,所以它看起来并不孤立于用户的工作站。两位用户都是 Windows 7 用户,他们都可以在 Internet Explorer 中正常查看菜单,但在 Chrome 或 Firefox 中无法查看。
编辑 2: 从此更改 CSS
.no-touch .navBar nav li:hover ul,
.no-js .navBar nav li:hover ul,
.navBar nav li ul.active {
display: block;
}
到这里
.navBar nav li:hover ul {
display: block;
}
修复了所有用户的问题。但是,有问题的相同用户无法单击菜单中的任何链接。如果他们右键单击 > 在新选项卡中打开链接,对他们来说效果很好。
【问题讨论】:
-
也许你应该包括一些相关的代码。
-
如果是 1 个用户,那么这对 SO 来说不是问题。你需要让他们硬刷新他们的屏幕,重新启动他们的计算机,并可能寻找他们的特定机器可能出现问题的原因。
-
@slime 抱歉,我还在编辑。现在已经结束了。
-
@CayceK 在这一点上,我怀疑这可能是 Windows 7 64 位用户的问题,所以我无法确定这只是一个用户的问题。我不明白发生了什么。
-
这段代码没有任何意义。鉴于您当前的 HTML 和 CSS,嵌套的 UL 甚至都没有隐藏,那么还有什么可以扩展的呢?当它显然是一个 CSS 问题时,这永远不会是一个操作系统问题。
标签: javascript html css navigation