【问题标题】:Absolute positioned div dynamically extending beyond relative parent div绝对定位的 div 动态扩展超出相对父 div
【发布时间】:2018-04-26 07:30:54
【问题描述】:

我在相对定位的 div 中有一个绝对定位的 div。这两个都存在于我无法更改的父 div 中,它有一个明确设置为 150px 的width。我希望我的绝对定位 div 能够扩展到超过 150 像素的宽度。我还需要它是动态的 - 即我不想在任何地方显式设置宽度,我希望通过设置 max-width 并让绝对定位的 div 的内容填充可用空间来获得通常的行为.这可能吗?

.outerContainer {
  width:150px;/*can't be changed*/
}

.innerContainer {
  position: relative;
}

.absolutely {
  position: absolute;
}

.item {
  display:inline-block;
}
<div class="outerContainer">
    <div class="innerContainer">
        <div class="absolutely"> <!-- want this to extend beyond outerContainer width so items wrap less-->
          <div class="item">
              first item
          </div>
          <div class="item">
              second item
          </div>
          <div class="item">
              third item
          </div>
          <div class="item">
              fourth item
          </div>
        </div>
    </div>
</div>

jsfiddle 版本: https://jsfiddle.net/3xbpzp7b/

【问题讨论】:

  • width: 200%; 以绝对 div 为例

标签: html css


【解决方案1】:

您可以做的是为.innerContainer 元素添加一个固定宽度,该元素的作用类似于max-width for .absolutely,正如您所描述的那样。如果.absolutely 里面的内容多,它会换行,如果少,它会变窄。

.outerContainer {
  width:150px;/*can't be changed*/
}

.innerContainer {
  position: relative;
  width: 250px;
}

.absolutely {
  position: absolute;
  background: #fb9;
}

.item {
  display:inline-block;
}
<div class="outerContainer">
    <div class="innerContainer">
        <div class="absolutely"> <!-- want this to extend beyond outerContainer width so items wrap less-->
          <div class="item">
              first item
          </div>
          <div class="item">
              second item
          </div>
          <div class="item">
              third item
          </div>
          <div class="item">
              fourth item
          </div>
        </div>
    </div>
</div>

【讨论】:

  • 我确实希望它们在某个时候换行,只是使用比 150px 父容器更宽的容器。所以理想情况下,我希望能够将 max-width 设置为 700px 并让它只在该点换行,但不必将宽度设置为 700px 并让它留下空白,因为不需要完整的宽度。跨度>
  • 好的,我明白了。请注意,我完全改变了我的答案。
猜你喜欢
  • 1970-01-01
  • 2012-08-17
  • 1970-01-01
  • 1970-01-01
  • 2010-11-16
  • 1970-01-01
  • 2013-07-21
  • 1970-01-01
相关资源
最近更新 更多