javascript - 调整包含绝对子项的父项高度

标签 javascript jquery html css

我正在处理一个包含多个页面的表单,我想将这些页面滚动进/出 View 。我必须使用绝对定位来强制 div(页面)在一行中滚动;但是,这会导致父 div 高度无法响应子项(根据内容量和添加到其中的动态内容,子项具有不同的高度)。

如何让 parent 的高度响应 child 的高度,同时仍然允许我的页面在一行中滚动(我已经尝试过 float )?

有没有不用绝对定位也能达到jsFiddle Demo效果的方法?

示例:jsFiddle Demo <--- 如何让切换按钮保持在 div 下方,无论它们有多高?

#div1{
  width: 500px;
  height: 110px;
  background-color: blue;
  position: absolute;
  top: 0px;
  left: 0px;
}

#div2{
  width: 500px;
  height: 110px;
  background-color: red;
  position: absolute;
  top: 0px;
  left: 0px;
}

.container {
  width: 800px;
  position: relative;
  height: 100px;
}

<p>some content here </p>
<div class="container">
  <div id="div1"></div>
  <div id="div2"></div>    
</div>
<button>Toggle</button>

编辑

更新了 jsFiddle 以更好地显示问题。

最佳答案

您检查子元素的高度和位置并计算总高度并将其应用于父元素。绝对定位的元素有自己的布局上下文,因此仅靠 CSS 无法解决这个问题。

关于javascript - 调整包含绝对子项的父项高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22483698/

相关文章:

javascript - Wordpress/Gravity Forms - 如何根据选中的复选框显示/隐藏单个 <ul> 列表中的元素?

jquery - AJAX 加载的内容会影响 SEO/搜索引擎吗?

c# - 即时通讯通知

python - 使用 Python 从 SQlite3 数据库创建 HTML 报告

javascript - jqGrid,无法让 showlink 格式化程序工作

javascript - 如何在 QML 中集成 Javascript 库 (socketio)?

c# - 使 RadioButtonList 中选定的 RadioButton 不可点击但不被禁用

css - 我的自适应视频 div 有问题

html - 我的 HTML 表单上提交按钮的 'width' 的 Css 样式在移动设备上大小不正确

javascript - AngularJs过滤器: Nothing should be displayed until i start a search