css - 下拉菜单项显示在右侧而不是向下

标签 css

我的 CSS 需要帮助。我有以下菜单:

.h-menu .menu-item .dropdown-content a { display: none;}
.h-menu .menu-item:hover .dropdown-content a { 
    display: block;
}

.h-menu .menu-item a {
  display:block;
  float: left;
    text-decoration: none;
  margin: 1em;
}
<div class="h-menu">
   <div class="menu-item">
      <a href="">Menu Item 1</a>
    </div>

    <div class="menu-item">
      <a href="">Menu Item 2</a>
      <div class="dropdown-content">
        <a href="">Sub-item 1</a>
        <a href="">Sub-item 2</a>
        <a href="">Sub-item 3</a>
      </div>
    </div>

         <div class="menu-item">
      <a href="">Menu item 3</a>
     </div>			
 </div>

当我将鼠标悬停在第二个菜单项上时,子项显示在右侧而不是下方。我该如何解决?

我还想使用 CSS 将菜单点亮到右侧。有人可以帮忙吗?

最佳答案

使主菜单内联 block 元素。然后删除“a”标签上的 float 。 请参见下面的示例。 或者只是从 a 标签中删除 float 属性并将其放在菜单 div 上

.h-menu {
text-align: right;
}

.menu-item {
  display: inline-block;
  vertical-align: top;
  border: 1px red solid;/**Remove for debbugging purposes**/
}

.h-menu .menu-item .dropdown-content a { display: none;}
.h-menu .menu-item:hover .dropdown-content a { 
    display: block;
}

.h-menu .menu-item a {
  display:block;
  /**float: left**/
  text-decoration: none;
  margin: 1em;
}
<div class="h-menu">
   <div class="menu-item">
      <a href="">Menu Item 1</a>
    </div>

    <div class="menu-item">
      <a href="">Menu Item 2</a>
      <div class="dropdown-content">
        <a href="">Sub-item 1</a>
        <a href="">Sub-item 2</a>
        <a href="">Sub-item 3</a>
      </div>
    </div>

         <div class="menu-item">
      <a href="">Menu item 3</a>
     </div>			
 </div>

关于css - 下拉菜单项显示在右侧而不是向下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46817156/

相关文章:

javascript - 使用 css 创建倾斜边框

javascript - 更改字符间距

javascript - Chrome 未捕获语法错误 : Unexpected token <

css - 固定标题和侧面导航问题

html - IE6 中的 PNG 透明度 - 需要有关 "How to apply hack for stylesheet"的帮助

css - 如何在浏览器窗口中居中 flexbox?

javascript - 刷新网站时的暗模式延迟

javascript - 单击显示新 div 的新 div 后如何隐藏当前 div

html - CSS: <table border ="border"> 等效

html - 在 div 中嵌入 100% 高度的 iframe 有奇怪的底边距