弹出菜单的CSS在Chrome中工作不同

标签 css google-chrome menu

我遇到了弹出菜单在 Chrome 中与在 IE 或 Firefox 中表现不同的问题。

这是HTML

  <body>
  <ul>
     <li><a href="url">Level One</a>
         <ul>
             <li><a href="url">Level Two Item One</a></li>
             <li><a href="url">Level Two Item Two</a>
                 <ul>
                     <li><a href="url">Level Three</a></li>
                 </ul>
             </li>
         </ul>
      </li>
   </ul>
   </body>

这是CSS

 ul {
 padding: 0px;
 list-style-type: none;
 }

 li {
 background-color: blue;
 }

 a:link {
 text-decoration:none;
 color: #0000ff;
 margin: 5px 0px 5px 0px;
 background-color: cyan;
 display: inline-block;
 width: 200px;
 }

 li {
 position: relative;
 }

 li > ul {
 display: none;
 }

 li:hover > ul, li.sfhover > ul {
 left 100%;
 top 0;
 position: absolute;
 display: inline-block;
 }

 li:hover > ul li, li.sfhover > ul li {
 background-color: #33ff33;
 width: 200px;
 position: relative;
 }

在 Firefox 和 IE 中,第三级弹出到第二级第二项的右侧。在 Chrome 中,第三级会在第二级下方弹出第二项。

我知道它与使链接成为 block 元素有关,但我希望链接显示为内联 block 。另外,我无法更改 HTML。它来自 CMS(我已将其简化以说明问题)

如有任何建议,我们将不胜感激。

最佳答案

您的 CSS 中缺少几个冒号,特别是这条规则:li:hover > ul, li.sfhover > ul

left 100%; 应该是 left:100%;top 0; 应该是 top:0;

关于弹出菜单的CSS在Chrome中工作不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33092080/

相关文章:

css - 使用 css 控制 svg 宽度

javascript - 我需要为我的 Chrome 扩展程序提供什么权限(如果有)才能让它进行远程 AJAX 调用?

javascript - 将文本附加到选项卡标题?

android - 如何更改 Android 2.3 的选项菜单背景?

CSS 菜单仅在第一次悬停时移动

html - 如何垂直对齐文本

css - Python 使用 Selenium 查找元素

javascript - Android 视频元素上的 Chrome 无法从 mediaRecorder blob 数据 url 播放

JavaFX:显示时动态更新菜单

通过 CloudFront 加载 CSS 图像 Sprite 比在本地加载慢