【问题标题】:Dropdown content displayed to the right column in masonry layout砌体布局中右栏显示的下拉内容
【发布时间】:2021-04-25 11:04:50
【问题描述】:

我正在使用砌体布局来获得两列,每列中都有不同的高度元素。在第一列中,我有一个下拉元素,其中包含 3 个条目。当我将鼠标悬停在下拉列表上时,内容显示在第二列中,而不是第一列。我认为这是因为我使用的砖石布局。如何更新代码以使下拉菜单显示第一列中的内容?

代码如下:

.dropdown {
  float: left;
  overflow: hidden;
}

.dropdown-content {
    width: 100%;
  display: none;

  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}

.dropdown-content a {
  float: none;
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}

.dropdown:hover .dropdown-content {
  display: inline-block;
}

.masonry-wrapper {
    column-count: 2;
    width: 100%;
}

.item {
    float: right;
    width: 100%;
}
<body>

<div class="masonry-wrapper">

<div class="item">
    <h1> Left item </h1>
  </div>
  
  <div class="dropdown">
        <h1> Dropdown </h1>
    <div class="dropdown-content">
      <a href="#">Link 1</a>
      <a href="#">Link 2</a>
      <a href="#">Link 3</a>
    </div>
  </div> 
  
  <div class="item">
    <h1> Right item </h1>
  </div>
</div>

</body>

【问题讨论】:

    标签: html css dropdown masonry


    【解决方案1】:

    可能不是您想要的,但它可以满足您的要求。删除了“位置:绝对;”并更改了“显示:块;”到“显示:内联块;”。

    .dropdown {
      float: left;
      overflow: hidden;
    }
    
    .dropdown-content {
        width: 100%;
      display: none;
    
      background-color: #f9f9f9;
      min-width: 160px;
      box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
      z-index: 1;
    }
    
    .dropdown-content a {
      float: none;
      color: black;
      padding: 12px 16px;
      text-decoration: none;
      display: block;
      text-align: left;
    }
    
    .dropdown:hover .dropdown-content {
      display: inline-block;
    }
    
    .masonry-wrapper {
        column-count: 2;
        width: 100%;
    }
    
    .right-item {
        float: right;
        width: 100%;
    }
    <body>
    
    <div class="masonry-wrapper">
    
      <div class="dropdown">
            <h1> Dropdown </h1>
        <div class="dropdown-content">
          <a href="#">Link 1</a>
          <a href="#">Link 2</a>
          <a href="#">Link 3</a>
        </div>
      </div> 
      
      <div class="right-item">
        <h1> Right item </h1>
      </div>
    </div>
    
    </body>

    【讨论】:

    • 感谢您分享您的回复。它确实解决了 2 个整体的问题。但我真正的问题是大约 3 个条目。不知道这两种情况是否有任何区别,但似乎有。您的解决方案解决了两个项目的情况,但仍然不适用于 3 项目的情况。我已经更新了问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2013-12-16
    • 2013-03-20
    • 2019-11-11
    • 1970-01-01
    相关资源
    最近更新 更多