javascript - 忽略父元素溢出

标签 javascript html css

<分区>

我有以下下拉 html 结构和 css,它的父项隐藏了溢出 -

我遇到的问题是,当您选择下拉菜单时,它被隐藏的溢出切断,我需要它来忽略溢出。

我考虑过将下拉菜单的位置更改为固定的,但是我需要计算每个下拉菜单的位置,任何其他建议都会有所帮助!

.overflow-container {
  display: block;
  height: 60px !important;
  overflow: auto;
  overflow-x: hidden;
  float: left;
  background-color: #eaeaea;
  padding: 20px;
}

.dropdown-container:hover .dropdown1 {
  display: block;
}

.dropdown1 {
  display: none;
}
<div class="overflow-container">
  <div class="dropdown-container">
    Select an option
    <ul class="dropdown1">
      <li class="dropdown-item">Option 1</li>
      <li class="dropdown-item">Option 2</li>
      <li class="dropdown-item">Option 3</li>
    </ul>
  </div>

  <div class="dropdown-container">
    Select an option
    <ul class="dropdown1">
      <li class="dropdown-item">Option 1</li>
      <li class="dropdown-item">Option 2</li>
      <li class="dropdown-item">Option 3</li>
    </ul>
  </div>

  <div class="dropdown-container">
    Select an option
    <ul class="dropdown1">
      <li class="dropdown-item">Option 1</li>
      <li class="dropdown-item">Option 2</li>
      <li class="dropdown-item">Option 3</li>
    </ul>
  </div>

</div>

查看工作中的 JSFiddle - https://jsfiddle.net/DarianSteyn/oq1w6eds/7/

该结构是使用设置 html 和 css 的插件构建的。我可以更改 css 但不能更改 html 结构。我也无法更改父级的高度,如果有多个下拉菜单,它需要可滚动。

最佳答案

使用 position:absolute 并使用 margin 或 translate 来调整位置。然后不要position:relative 添加到父元素,这样它就会被溢出忽略。

.overflow-container {
  display: block;
  height: 60px !important;
  overflow: auto;
  overflow-x: hidden;
  float: left;
  background-color: #eaeaea;
  padding: 20px;
}

.dropdown-container:hover .dropdown1 {
  display: block;
}

.dropdown1 {
  display: none;
  position:absolute;
  margin-left:100px;
  margin-top:-10px;
}
<div class="overflow-container">
  <div class="dropdown-container">
    Select an option
    <ul class="dropdown1">
      <li class="dropdown-item">Option 1</li>
      <li class="dropdown-item">Option 2</li>
      <li class="dropdown-item">Option 3</li>
    </ul>
  </div>

  <div class="dropdown-container">
    Select an option
    <ul class="dropdown1">
      <li class="dropdown-item">Option 1</li>
      <li class="dropdown-item">Option 2</li>
      <li class="dropdown-item">Option 3</li>
    </ul>
  </div>

  <div class="dropdown-container">
    Select an option
    <ul class="dropdown1">
      <li class="dropdown-item">Option 1</li>
      <li class="dropdown-item">Option 2</li>
      <li class="dropdown-item">Option 3</li>
    </ul>
  </div>

</div>

关于javascript - 忽略父元素溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53061013/

上一篇:javascript - 全部展开并折叠所有可折叠 Accordion 具体化CSS

下一篇:html - 为什么 flexbox justify-content space-between 不起作用?

相关文章:

javascript - Mongoose - 使用嵌套模型更新插入文档

css - 如何使用 CSS 选择器在 h4 之后更改字体大小?

html - 带有背景图像的 thead 和 tfoot 中的边界半径

javascript - 菜单仅在一页上

javascript - 你如何创建这样的下拉效果?

javascript - 在 Node.JS 中解析 Microsoft Office 文件

javascript - 添加绝对定位元素导致换行

php - XAMPP 不会加载我更新的 CSS 文件

javascript - 带有 TypeScript 错误的 Angular HTTP GET http.get(...).map 不是 [null] 中的函数

html - 使用 Rails 3 的两列 HTML 表格